From adinn at redhat.com Tue May 1 05:37:35 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 01 May 2012 13:37:35 +0100 Subject: ARM: Support for JVMTI notifications from JIT compiler on code generation In-Reply-To: <4F97F2C5.1020802@redhat.com> References: <4F97F2C5.1020802@redhat.com> Message-ID: <4F9FD90F.6010906@redhat.com> Attached is the latest version of this patch tweaked to remedy faults noted in previous comments and in the light of experience using it to generate oprofile output for SPECjvm2008 runs. Java<->VM<->Native transitions: The tests revealed the purpose of the JvmtiJavaThreadEventTransition included in the new ARM JvmtiExport API method. It marks thread transitions from VM code to native (JVMTI agent) library code. It turns out that the Interpreter and, hence, ARM JIT*** are run in a thread marked as running in Java code. So, before/after calling into the JVMTI libraries the JIT compiler code constructs a ThreadInVMfromJava which performs a Java to/from VM thread transition. **** n.b. this differs from the conventional OpenJDK setup where the interpreter runs 'in Java' and queues compile tasks for execution by a compiler thread which runs 'in VM'. ARM JIT Stub/Handler code: The ARM JIT generates some stub/handler code when libjvm.so is loaded which really needs notifying to agents. With the previous patch details of this code were not being passed on to the agent. As a consequence the profile results included anonymous entries showing execution of the stub code. Unfortunately, at the point during bootstrap where libjvm.so is loaded there is no Java thread present and agents certainly are not loaded. So, this version of the patch is modified to track the start and end addresses for the whole block of stub code for later notification. An initialization routine is called the first time a method is generated which i) allocates the address to bci map buffer and ii) posts a dynamic_generate event for the stub region. Looking at profiler ouptut the stub code block accounts for only a small percentage of the executed code so at present it does not seem worth recording and notifying separate address ranges for the individual stub/handler routines. A few Java anon entries still appear in the profiler listing but these appear to be for processes/threads other than the one running the tests used to exercise the patch. So, it appears that this patch accounts for all code generated in-process by the ARM JIT. regards, Andrew Dinn ----------- -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch.txt Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120501/0151ac0a/patch.txt From aph at redhat.com Tue May 1 06:38:11 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 01 May 2012 14:38:11 +0100 Subject: Fwd: Re: ARM: Support for JVMTI notifications from JIT compiler on code generation In-Reply-To: <4F9FE5AF.5060203@redhat.com> References: <4F9FD90F.6010906@redhat.com> <4F9FE5AF.5060203@redhat.com> Message-ID: <4F9FE743.5010603@redhat.com> On 05/01/2012 02:31 PM, Andrew Dinn wrote: > > Attached is the latest version of this patch tweaked to remedy faults > noted in previous comments and in the light of experience using it to > generate oprofile output for SPECjvm2008 runs. The patch is OK. I'm a little bit concerned that we're doing all this extra work and allocating memory for JVMTI structures even when JVMTI isn't being used, but I think that the overhead is small enough that it doesn't matter. Andrew. From adinn at redhat.com Tue May 1 06:51:16 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 01 May 2012 14:51:16 +0100 Subject: Fwd: Re: ARM: Support for JVMTI notifications from JIT compiler on code generation In-Reply-To: <4F9FE743.5010603@redhat.com> References: <4F9FD90F.6010906@redhat.com> <4F9FE5AF.5060203@redhat.com> <4F9FE743.5010603@redhat.com> Message-ID: <4F9FEA54.3020101@redhat.com> On 01/05/12 14:38, Andrew Haley wrote: > The patch is OK. > > I'm a little bit concerned that we're doing all this extra work and > allocating memory for JVMTI structures even when JVMTI isn't being > used, but I think that the overhead is small enough that it doesn't > matter. Then perhaps one thing I should do is to enable a build time setting to disable notification of the JVMTI events and any associated work. I suggest adding #if !defined(DISABLE_THUMB2_JVMTI) #define THUMB2_JVMTI #endif and then bracketing all the newly added code with #if THUMB2_JVMTI . . . #endif That will leave JVMTI event generation compiled in by default but allow us to build a JVM with it compiled out if we ever want to come back and measure what effect it has. regards, Andrew Dinn ----------- From aph at redhat.com Tue May 1 06:53:20 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 01 May 2012 14:53:20 +0100 Subject: Fwd: Re: ARM: Support for JVMTI notifications from JIT compiler on code generation In-Reply-To: <4F9FEA54.3020101@redhat.com> References: <4F9FD90F.6010906@redhat.com> <4F9FE5AF.5060203@redhat.com> <4F9FE743.5010603@redhat.com> <4F9FEA54.3020101@redhat.com> Message-ID: <4F9FEAD0.4090209@redhat.com> On 05/01/2012 02:51 PM, Andrew Dinn wrote: > On 01/05/12 14:38, Andrew Haley wrote: >> The patch is OK. >> >> I'm a little bit concerned that we're doing all this extra work and >> allocating memory for JVMTI structures even when JVMTI isn't being >> used, but I think that the overhead is small enough that it doesn't >> matter. > > Then perhaps one thing I should do is to enable a build time setting to > disable notification of the JVMTI events and any associated work. I > suggest adding > > #if !defined(DISABLE_THUMB2_JVMTI) > #define THUMB2_JVMTI > #endif > > and then bracketing all the newly added code with > > #if THUMB2_JVMTI > . . . > #endif > > That will leave JVMTI event generation compiled in by default but allow > us to build a JVM with it compiled out if we ever want to come back and > measure what effect it has. I think that's OK, but I strongly suspect that option will never be used. Andrew. From adinn at redhat.com Tue May 1 06:58:19 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 01 May 2012 14:58:19 +0100 Subject: Fwd: Re: ARM: Support for JVMTI notifications from JIT compiler on code generation In-Reply-To: <4F9FEAD0.4090209@redhat.com> References: <4F9FD90F.6010906@redhat.com> <4F9FE5AF.5060203@redhat.com> <4F9FE743.5010603@redhat.com> <4F9FEA54.3020101@redhat.com> <4F9FEAD0.4090209@redhat.com> Message-ID: <4F9FEBFB.4040607@redhat.com> On 01/05/12 14:53, Andrew Haley wrote: > On 05/01/2012 02:51 PM, Andrew Dinn wrote: >> On 01/05/12 14:38, Andrew Haley wrote: >>> The patch is OK. >>> >>> I'm a little bit concerned that we're doing all this extra work and >>> allocating memory for JVMTI structures even when JVMTI isn't being >>> used, but I think that the overhead is small enough that it doesn't >>> matter. >> >> Then perhaps one thing I should do is to enable a build time setting to >> disable notification of the JVMTI events and any associated work. I >> suggest adding >> >> #if !defined(DISABLE_THUMB2_JVMTI) >> #define THUMB2_JVMTI >> #endif >> >> and then bracketing all the newly added code with >> >> #if THUMB2_JVMTI >> . . . >> #endif >> >> That will leave JVMTI event generation compiled in by default but allow >> us to build a JVM with it compiled out if we ever want to come back and >> measure what effect it has. > > I think that's OK, but I strongly suspect that option will never be used. Well, I'll add it anyway just in case. So, with that I'm assuming it's ok to install this patch into the 7-2.1 hg repo. regards, Andrew Dinn ----------- From ahughes at redhat.com Tue May 1 07:50:45 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Tue, 01 May 2012 10:50:45 -0400 (EDT) Subject: Moving Forward with IcedTea In-Reply-To: <39af9973-4686-441c-8f03-e91b36221d50@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <517fe770-973b-4ff2-b392-273b66488a77@zmail17.collab.prod.int.phx2.redhat.com> Dear all, A new security update is due next month: http://www.oracle.com/technetwork/topics/security/alerts-086861.html Prior to this, we should aim to release some of the recent bug fixes / feature additions so they don't get lumped together with the security patches. On that subject, I have a number of proposals: 1. Release updates of the 6 release branches. A number of fixes are waiting on these branches, as yet unreleased: 1.10: changeset: 2562:7b2da3e832e1 user: Danesh Dadachanji date: Fri Mar 09 13:48:15 2012 -0500 summary: Backport for PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan changeset: 2563:182bdaba43ea user: ptisnovs date: Tue Apr 17 18:57:20 2012 +0200 summary: PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 changeset: 2564:4515e31b48fa tag: tip user: ptisnovs date: Wed Apr 18 18:41:40 2012 +0200 summary: Backport of: 6792400: Avoid loading of Normalizer resources for simple uses 1.11: changeset: 2816:82c6fb23eed5 parent: 2809:a5c946d5f4bc user: aph date: Mon Feb 20 12:02:21 2012 +0000 summary: Don't use shared Eden in incremental mode. changeset: 2817:a5e1b251a3bb parent: 2816:82c6fb23eed5 parent: 2815:a0dc54849da4 user: aph date: Mon Feb 20 15:56:14 2012 +0000 summary: merge changeset: 2818:9543acd2586e user: aph date: Mon Feb 20 16:05:07 2012 +0000 summary: Add PR# to ChangeLog. changeset: 2819:a134afa67a3f user: ptisnovs date: Thu Mar 29 18:28:28 2012 +0200 summary: Removed revert-6885123.patch to fix RH bug #789154 - javac error changeset: 2820:16896bd9ecbc user: ptisnovs date: Tue Apr 17 19:00:05 2012 +0200 summary: PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 changeset: 2821:d1bcc17048f3 user: ptisnovs date: Wed Apr 18 18:47:34 2012 +0200 summary: Backport of: 6792400: Avoid loading of Normalizer resources for simple uses changeset: 2822:acc48a156236 tag: tip user: ptisnovs date: Fri Apr 20 17:25:45 2012 +0200 summary: NEWS: Mention bugfix PR797 (the same as bugfig RH789154). PROPOSED RELEASE DATE: 9th of May, 2012. 13h00 UTC. 2. IcedTea7 for u4. Oracle have already released u4: http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) and then create a 2.2 branch which can then be prepared and tested for a 2.2 release. PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). PROPOSED RELEASE DATE: 16th of May, 2012. 13h00 UTC. 3. Retiring 1.9 & 2.0 I deliberately didn't list 1.9 under point 1. To reduce the maintenance burden, I suggest we move to support two release branches instead of three. This would mean: a. No further releases of 1.9.x b. No further releases of 2.0.x once 2.2 occurs (see 2). If someone wishes to maintain either or both of these, they are more than welcome to. 4. IcedTea8 Expect to see some IcedTea8 updates soon to get it back in sync with upstream development so it can be a more useful base for work that goes upstream. It would also be good to see distros starting to package this, so it is tested much earlier than 7 was. 5. The ARM branch Do we have a release date for an updated 2.1 release? Or will it just end up going out with the security update? I don't think that's ideal. Suggestions / criticisms / objections etc. welcome. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From aph at redhat.com Tue May 1 08:15:41 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 01 May 2012 16:15:41 +0100 Subject: Moving Forward with IcedTea In-Reply-To: <517fe770-973b-4ff2-b392-273b66488a77@zmail17.collab.prod.int.phx2.redhat.com> References: <517fe770-973b-4ff2-b392-273b66488a77@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4F9FFE1D.70806@redhat.com> On 05/01/2012 03:50 PM, Andrew Hughes wrote: > 5. The ARM branch > > Do we have a release date for an updated 2.1 release? Or will it > just end up going out with the security update? I don't think > that's ideal. I don't think we have an ARM branch, but we do have some ARM hotspot changes in the icedtea7-2.1-forest. I suggest we apply the security updates to the icedtea7-2.1-forest and release from that. Testing ARM with u4 will take some time. Andrew. From adinn at icedtea.classpath.org Tue May 1 08:37:26 2012 From: adinn at icedtea.classpath.org (adinn at icedtea.classpath.org) Date: Tue, 01 May 2012 15:37:26 +0000 Subject: /hg/release/icedtea7-forest-2.1/hotspot: added jvmti event gener... Message-ID: changeset 5582e72f1897 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=5582e72f1897 author: "Andrew Dinn " date: Tue May 01 16:13:47 2012 +0100 added jvmti event generation for dynamic_generate and compiled_method_load events to ARM JIT compiler diffstat: src/cpu/zero/vm/thumb2.cpp | 129 +++++++++++++++++++++++++++++++++++++ src/share/vm/prims/jvmtiExport.cpp | 41 +++++++++++ src/share/vm/prims/jvmtiExport.hpp | 6 + 3 files changed, 176 insertions(+), 0 deletions(-) diffs (248 lines): diff -r a5d04cb60a5c -r 5582e72f1897 src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Wed Apr 11 09:24:03 2012 -0400 +++ b/src/cpu/zero/vm/thumb2.cpp Tue May 01 16:13:47 2012 +0100 @@ -26,6 +26,13 @@ #ifdef THUMB2EE +// setting DISABLE_THUMB2_JVMTI at build time disables notification +// of JVMTI dynamic_generate and compiled_method_load events +#undef THUMB2_JVMTI +#if !defined(DISABLE_THUMB2_JVMTI) +#define THUMB2_JVMTI +#endif + #define T2EE_PRINT_COMPILATION #define T2EE_PRINT_STATISTICS #define T2EE_PRINT_DISASS @@ -440,6 +447,76 @@ unsigned stack[1000]; unsigned r_local[1000]; +#ifdef THUMB2_JVMTI +// jvmti needs to map start address of generated code for a bytecode +// to corresponding bytecode index so agents can correlate code address +// ranges with bci and thence line number +static jvmtiAddrLocationMap *address_bci_map = NULL; +static jint address_bci_map_length = 0; + +static void *stub_gen_code_start = 0; +static void *stub_gen_code_end = 0; + +// function used to lazily initialize the address to bci translation map +// the first time a compiled method is generated. +static void address_bci_map_init(JavaThread *thread) +{ + // the dynamic_code_generated event posted to notify generation of + // the stub code has to be posted lazily because generation happens + // in Thumb2_Initialize under bci_init and the latter is called as a + // side-effect of loading libjvm.o. we don't have a Java thread at + // that point nor, indeed, any agents to catch the notify. so the + // info cached by Thumb2_Initialize needs to be posted when the + // first compiled method load event is notified, at which point we + // will indeed have a current thread. + + { + // a thread transition from in Java to in VM is required before + // calling into Jvmti + + ThreadInVMfromJava transition(thread); + + JvmtiExport::post_dynamic_code_generated("thumb2_dynamic_stubs_block", + stub_gen_code_start, + stub_gen_code_end); + + // n.b. exiting this block reverts the thread state to in Java + } + + + // the map is lazily allocated so we don't use the space unless we + // are actually using the JIT + + // at worst we need a start address for every bytecode so + // the map size is limited by the compiler's bytecode limit + address_bci_map = new jvmtiAddrLocationMap[THUMB2_MAX_BYTECODE_SIZE]; +} + +// clear the address to bci translation map +static void address_bci_map_reset(JavaThread *thread) +{ + // this only gets called after obtaining the compiler lock so there + // is no need to worry about races + + if (address_bci_map == NULL) { + address_bci_map_init(thread); + } + + // this effectively clears the previous map + + address_bci_map_length = 0; +} + +// add an entry to the address to bci translation map +// this will never exceed the available space +static void address_bci_map_add(void *addr, unsigned bci) +{ + address_bci_map[address_bci_map_length].start_address = addr; + address_bci_map[address_bci_map_length].location = bci; + address_bci_map_length++; +} +#endif // THUMB2_JVMTI + #ifdef T2EE_PRINT_DISASS short start_bci[THUMB2_MAX_T2CODE_SIZE]; short end_bci[THUMB2_MAX_T2CODE_SIZE]; @@ -5382,6 +5459,14 @@ end_bci[start_idx] = bci + len; #endif +#ifdef THUMB2_JVMTI + // emit a start address --> bci map entry before + // generating machine code for this bytecode + + void *addr = (void *)(codebuf->codebuf + codebuf->idx); + address_bci_map_add(addr, bci); +#endif //THUMB2_JVMTI + switch (opcode) { case opc_nop: break; @@ -7473,6 +7558,10 @@ memset(end_bci, 0xff, sizeof(end_bci)); #endif +#ifdef THUMB2_JVMTI + address_bci_map_reset(thread); +#endif // THUMB2_JVMTI + jinfo_str.thread = thread; jinfo_str.method = method; jinfo_str.code_base = code_base; @@ -7580,6 +7669,36 @@ if (compiled_offset == 0) return 0; thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; +#ifdef THUMB2_JVMTI + { + // we need to dispatch a compiled_method_load event + // to all registered Jvmti agents + + // notify the whole generated code region for this Java method + // from slow_entry through to the end of the osr table. some + // of it is data not code but that's not a problem. + + const void *gen_code_start = (const void *)(slow_entry ^ TBIT); + unsigned gen_code_size = codebuf_str.idx * 2; + + // address_bci_map translates start addresses for generated code + // sections to bytecode indices and contains address_bci_map_length + // entries + + // the final compile_info argument is supposed to contain + // information about inlined code. we can supply NULL for now - + // oprofile doesn't use it anyway + + void *compile_info = NULL; + + // transition from in Java to in VM before calling into Jvmti + ThreadInVMfromJava transition(thread); + + JvmtiExport::post_compiled_method_load(method, gen_code_size, + gen_code_start, address_bci_map_length, + address_bci_map, NULL); + } +#endif // THUMB2_JVMTI return *(unsigned long long *)&thumb_entry; } @@ -7735,6 +7854,11 @@ } #if 1 +#ifdef THUMB2_JVMTI + // cache the start of the generated stub region for notification later + stub_gen_code_start = cb->hp; +#endif // THUMB2_JVMTI + memcpy(cb->hp, Thumb2_stubs, STUBS_SIZE); // fprintf(stderr, "Thumb2_stubs offset: 0x%x\n", @@ -8114,6 +8238,11 @@ cb->hp += codebuf.idx * 2; thumb2_codebuf = cb; + +#ifdef THUMB2_JVMTI + // cache the end of the generated stub region for notification later + stub_gen_code_end = cb->hp; +#endif // THUMB2_JVMTI } #endif // THUMB2EE diff -r a5d04cb60a5c -r 5582e72f1897 src/share/vm/prims/jvmtiExport.cpp --- a/src/share/vm/prims/jvmtiExport.cpp Wed Apr 11 09:24:03 2012 -0400 +++ b/src/share/vm/prims/jvmtiExport.cpp Tue May 01 16:13:47 2012 +0100 @@ -1776,6 +1776,47 @@ } } +#if defined(ZERO) && defined(ARM) + +// special compiled_method_load notify API for thumb2 compiler + +void JvmtiExport::post_compiled_method_load(const methodOop method, const jint length, + const void *code_begin, const jint map_length, + const jvmtiAddrLocationMap* map, + const void *compile_info) +{ + JavaThread* thread = JavaThread::current(); + jmethodID methodId = method->jmethod_id(); + + EVT_TRIG_TRACE(JVMTI_EVENT_COMPILED_METHOD_LOAD, + ("JVMTI [%s] method compile load event triggered (by thumb2_compile)", + JvmtiTrace::safe_get_thread_name(thread))); + + JvmtiEnvIterator it; + for (JvmtiEnv* env = it.first(); env != NULL; env = it.next(env)) { + if (env->is_enabled(JVMTI_EVENT_COMPILED_METHOD_LOAD)) { + + EVT_TRACE(JVMTI_EVENT_COMPILED_METHOD_LOAD, + ("JVMTI [%s] class compile method load event sent %s.%s (by thumb2_compile)", + JvmtiTrace::safe_get_thread_name(thread), + method->klass_name()->as_C_string(), + method->name()->as_C_string())); + + JvmtiEventMark jem(thread); + JvmtiJavaThreadEventTransition jet(thread); + jvmtiEventCompiledMethodLoad callback = env->callbacks()->CompiledMethodLoad; + + if (callback != NULL) { + (*callback)(env->jvmti_external(), methodId, + length, code_begin, map_length, + map, compile_info); + } + } + } +} + +#endif // defined(TARGET_ARCH_zero) && ZERO_LIBARCH == "arm" + // post a COMPILED_METHOD_LOAD event for a given environment void JvmtiExport::post_compiled_method_load(JvmtiEnv* env, const jmethodID method, const jint length, diff -r a5d04cb60a5c -r 5582e72f1897 src/share/vm/prims/jvmtiExport.hpp --- a/src/share/vm/prims/jvmtiExport.hpp Wed Apr 11 09:24:03 2012 -0400 +++ b/src/share/vm/prims/jvmtiExport.hpp Tue May 01 16:13:47 2012 +0100 @@ -295,6 +295,12 @@ jint *cached_length_ptr); static void post_native_method_bind(methodOop method, address* function_ptr) KERNEL_RETURN; static void post_compiled_method_load(nmethod *nm) KERNEL_RETURN; +#ifdef __arm__ + static void post_compiled_method_load(const methodOop method, const jint length, + const void *code_begin, const jint map_length, + const jvmtiAddrLocationMap* map, + const void *compile_info) KERNEL_RETURN; +#endif // __arm__ static void post_dynamic_code_generated(const char *name, const void *code_begin, const void *code_end) KERNEL_RETURN; // used to post a CompiledMethodUnload event From bugzilla-daemon at icedtea.classpath.org Tue May 1 12:16:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 01 May 2012 19:16:45 +0000 Subject: [Bug 974] New: Classes available from JNLP extensions are not found when using jnlp_href Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=974 Priority: P3 Bug ID: 974 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: Classes available from JNLP extensions are not found when using jnlp_href Severity: normal Classification: Unclassified OS: Linux Reporter: ddadacha at redhat.com Hardware: x86_64 Status: NEW Version: unspecified Component: Plugin Product: IcedTea-Web If you run applets in the browser using jnlp_href and the JNLP passed in contains extensions, the jars associated with these extension are never added to the classpath. I receive a java.lang.ClassNotFoundException when trying to run classes stored in the jars brought in by the extension. Steps to reproduce: 1. Create an applet class that uses some helper class, create jars for them both. Setup a JNLP for both, have applet.jnlp call helper.jnlp as an extension. 2. Run 'javaws -verbose applet.jnlp' with the applet's JNLP, it will run fine. 3. Create HTML file, pass in jnlp_href pointing to the applet's JNLP. 4. Run firefox from terminal, see the java.lang.ClassNotFoundException Assigning to myself. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120501/830ba05b/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 1 12:17:14 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 01 May 2012 19:17:14 +0000 Subject: [Bug 974] Classes available from JNLP extensions are not found when using jnlp_href In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=974 Danesh Dadachanji changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |ddadacha at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120501/60d5722b/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 1 12:50:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 01 May 2012 19:50:45 +0000 Subject: [Bug 975] New: Plugin should not include classpaths specified in jar manifests when using jnlp_href Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=975 Priority: P3 Bug ID: 975 CC: unassigned at icedtea.classpath.org Assignee: ddadacha at redhat.com Summary: Plugin should not include classpaths specified in jar manifests when using jnlp_href Severity: normal Classification: Unclassified OS: Linux Reporter: ddadacha at redhat.com Hardware: x86_64 Status: NEW Version: unspecified Component: Plugin Product: IcedTea-Web You are currently allowed to pass in a manifest to your jars that contains a Class-Path key-value. Icedtea-Web uses this only if you are running in the plugin as JNLPs are explicitly documented to not follow Class-Path of a manifest. Currently on HEAD, if applets run via jnlp_href have jars with manifests, it will use the Class-Path if specified. I do not think this behaviour is correct. If a JNLP is being used as a means of handling the application, IMHO it should be forced to follow the same restrictions as a webstart app being run via javaws from terminal. Currently, the proprietary plugin honours classpaths passed through manifests. Despite this, I do not think it's the right approach. The point of jnlp_href is to bridge javaws and plugin, having this difference might throw developers off. For instance, if one expects that classpaths are ignored from manifests but includes them (for whatever reason), then running their applet from javaws would work fine, running it in the plugin with jnlp_href may break if there are conflicting classes. To reproduce: 1. Create an applet class and a helper class, each in their own jar. Have the the manifest of the applet's jar point to the helper's jar. 2. Use a JNLP file with to run the applet via 'javaws -verbose $FILE.jnlp'. You should see a ClassNotFoundException 3. Use the same JNLP in a webpage with jnlp_href, it will run fine. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120501/7873b6de/attachment.html From dbhole at redhat.com Tue May 1 13:43:55 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 1 May 2012 16:43:55 -0400 Subject: [RFC] Fix for GIO detection/VFS fallback (TCK7 failure) Message-ID: <20120501204355.GR3475@redhat.com> Hi, Attached patch fixes a TCK failure seen on systems with older libgio. The way the code works is that it first tries to load libgio-2.0.so and then verify that all necessary functions are available. If they are not, it dlcloses the library and falls back to vfs. In the forest, we have modified this part to wire in system libs and there is a bug in how it is done. If functions are not found and the library handle is closed, the caller ignores it and tries to call a function (g_type_init) via the ptr anyway, causing a SIGSEGV. OK to apply this to HEAD, 2.0 and 2.1? Thanks, Deepak -------------- next part -------------- diff -up openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java.sav openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java diff -up openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c.sav openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c --- openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c.sav 2012-04-27 23:57:43.187144536 -0400 +++ openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c 2012-04-28 00:27:44.730373120 -0400 @@ -68,6 +68,12 @@ Java_sun_nio_fs_GnomeFileTypeDetector_in ret = gio_init(); #endif + // If there was an error initializing GIO, return false immediately + if (ret == JNI_FALSE) + { + return ret; + } + g_type_init (); return ret; } From ahughes at redhat.com Tue May 1 17:15:08 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Tue, 01 May 2012 20:15:08 -0400 (EDT) Subject: Moving Forward with IcedTea In-Reply-To: <4F9FFE1D.70806@redhat.com> Message-ID: <9fc87be5-e6bb-4f77-960d-c0d766cee521@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > On 05/01/2012 03:50 PM, Andrew Hughes wrote: > > 5. The ARM branch > > > > Do we have a release date for an updated 2.1 release? Or will it > > just end up going out with the security update? I don't think > > that's ideal. > > I don't think we have an ARM branch, but we do have some ARM hotspot > changes in the icedtea7-2.1-forest. I suggest we apply the security > updates to the icedtea7-2.1-forest and release from that. Testing > ARM > with u4 will take some time. Not officially, but I don't foresee x86/x86_64 users wanting to use ~u3 over u4, so in practice 2.1 exists primarily for ARM and pretty much all the post-release changes have been relevant only to that architecture. As those changes to 2.1 are mainly in the HotSpot tree, maybe the better idea would be to provide the option of building 2.2 with the 2.1 HotSpot tree. The security patches will be applied to 2.1 and 2.2 as the releases supported at the time. I think it would be preferable if the security update was kept separate from releasing other bug fixes & feature updates, but I'll leave this up to you as the primary ARM maintainer. > > Andrew. > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Tue May 1 17:49:35 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Tue, 01 May 2012 20:49:35 -0400 (EDT) Subject: [RFC] Fix for GIO detection/VFS fallback (TCK7 failure) In-Reply-To: <20120501204355.GR3475@redhat.com> Message-ID: <0513ad3c-af04-418d-94ae-73cca42e7857@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Hi, > > Attached patch fixes a TCK failure seen on systems with older libgio. > > The way the code works is that it first tries to load libgio-2.0.so > and > then verify that all necessary functions are available. If they are > not, > it dlcloses the library and falls back to vfs. > > In the forest, we have modified this part to wire in system libs and > there is a bug in how it is done. If functions are not found and the > library handle is closed, the caller ignores it and tries to call a > function (g_type_init) via the ptr anyway, causing a SIGSEGV. > > OK to apply this to HEAD, 2.0 and 2.1? > > Thanks, > Deepak > I saw this earlier and was going to commit it to HEAD. Fine by me. I tested with and without system GIO enabled, but I can't really emulate the library being missing without deleting chunks of my system... ;-) We need to find time to get these patches upstreamed. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at icedtea.classpath.org Wed May 2 03:54:19 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 02 May 2012 10:54:19 +0000 Subject: /hg/icedtea-web: Added bug annotation forr testing engine Message-ID: changeset 11029e99d733 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=11029e99d733 author: Jiri Vanek date: Wed May 02 12:53:07 2012 +0200 Added bug annotation forr testing engine diffstat: ChangeLog | 22 + Makefile.am | 13 +- tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java | 3 + tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java | 2 + tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java | 10 +- tests/junit-runner/JunitLikeXmlOutputListener.java | 146 +++++++++- tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java | 32 ++ tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java | 18 + tests/report-styles/jreport.xsl | 13 + 9 files changed, 249 insertions(+), 10 deletions(-) diffs (487 lines): diff -r 82e908d46d70 -r 11029e99d733 ChangeLog --- a/ChangeLog Tue Apr 24 14:43:34 2012 -0400 +++ b/ChangeLog Wed May 02 12:53:07 2012 +0200 @@ -1,3 +1,25 @@ +2012-05-02 Jiri Vanek + + Introduced new annotations Bug (to connect test/reproducer with documentation) + and NeedsDisplay which tells the launching engine that this particular + test needs Display. Based on ptisnovs's ideas and jtreg experiences + *Makefile.am: (JUNIT_RUNNER_JAR), (stamps/run-netx-unit-tests.stamp) and + (stamps/run-unit-test-code-coverage.stamp) are now dependent on (stamps/netx-dist-tests-compile) + and classpaths inside them have been enriched for JNLP_TESTS_ENGINE_DIR + which contains definitions of those annotations + *tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java: and + *tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: and + *tests/jnlp_tests/simple/Spaces can be everywhere/testcase/SpacesCanBeEverywhereTests.java: + filled Bug annotations + *tests/junit-runner/JunitLikeXmlOutputListener.java: made to understand + Bug annotation + *tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java: + and + *tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java: + annotations definitions + *tests/report-styles/jreport.xsl: made nice links from bug annotation + prepared by JunitLikeXmlOutputListener + 2012-04-24 Omair Majid * Makefile.am diff -r 82e908d46d70 -r 11029e99d733 Makefile.am --- a/Makefile.am Tue Apr 24 14:43:34 2012 -0400 +++ b/Makefile.am Wed May 02 12:53:07 2012 +0200 @@ -457,18 +457,17 @@ junit-runner-source-files.txt: find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@ -$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt +$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt stamps/netx-dist-tests-compile.stamp mkdir -p $(JUNIT_RUNNER_DIR) && \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JUNIT_RUNNER_DIR) \ - -classpath $(JUNIT_JAR) \ + -classpath $(JUNIT_JAR):$(JNLP_TESTS_ENGINE_DIR) \ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) - mkdir -p $(JNLP_TESTS_ENGINE_DIR) touch $@ junit-jnlp-dist-simple.txt: @@ -540,6 +539,7 @@ stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt + mkdir -p $(JNLP_TESTS_ENGINE_DIR); $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JNLP_TESTS_ENGINE_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ @@ -596,11 +596,11 @@ find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@ stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \ - netx-unit-tests-source-files.txt + netx-unit-tests-source-files.txt stamps/netx-dist-tests-compile.stamp mkdir -p $(NETX_UNIT_TEST_DIR) && \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(NETX_UNIT_TEST_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ @netx-unit-tests-source-files.txt && \ mkdir -p stamps && \ touch $@ @@ -630,7 +630,7 @@ done ; \ cd $(NETX_UNIT_TEST_DIR) ; \ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(JNLP_TESTS_ENGINE_DIR):. \ $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \ > stdout.log 2> stderr.log ; \ cat stdout.log ; \ @@ -663,6 +663,7 @@ -cp $(BOOT_DIR)/jre/lib/jsse.jar \ -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ + -cp $(JNLP_TESTS_ENGINE_DIR) \ -cp . \ -ix "-org.junit.*" \ -ix "-junit.*" \ diff -r 82e908d46d70 -r 11029e99d733 tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java --- a/tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java Tue Apr 24 14:43:34 2012 -0400 +++ b/tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java Wed May 02 12:53:07 2012 +0200 @@ -36,12 +36,15 @@ */ import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.annotations.Bug; import org.junit.Assert; import org.junit.Test; + at Bug(id="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-February/017153.html") public class CheckServicesTests { private static ServerAccess server = new ServerAccess(); + @Test public void CheckServices() throws Exception { System.out.println("connecting CheckServices request"); diff -r 82e908d46d70 -r 11029e99d733 tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java --- a/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java Tue Apr 24 14:43:34 2012 -0400 +++ b/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java Wed May 02 12:53:07 2012 +0200 @@ -36,10 +36,12 @@ */ import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.annotations.Bug; import org.junit.Assert; import org.junit.Test; + at Bug(id="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-February/017435.html") public class ManifestedJar1Test { private static ServerAccess server = new ServerAccess(); diff -r 82e908d46d70 -r 11029e99d733 tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java --- a/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java Tue Apr 24 14:43:34 2012 -0400 +++ b/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java Wed May 02 12:53:07 2012 +0200 @@ -39,14 +39,17 @@ import java.util.ArrayList; import java.util.List; import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.annotations.Bug; import org.junit.Assert; import org.junit.Test; + at Bug(id={"http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016127.html","PR804","PR811"}) public class SpacesCanBeEverywhereTests { private static ServerAccess server = new ServerAccess(); + @Bug(id={"PR811","http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016144.html"}) @Test public void SpacesCanBeEverywhereRemoteTests1() throws Exception { System.out.println("connecting SpacesCanBeEverywhereRemoteTests1 request"); @@ -62,6 +65,7 @@ Assert.assertEquals((Integer) 0, pr.returnValue); } + @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2() throws Exception { System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); @@ -77,6 +81,7 @@ Assert.assertEquals((Integer) 0, pr.returnValue); } + @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests3() throws Exception { System.out.println("connecting SpacesCanBeEverywhereRemoteTests3 request"); @@ -93,7 +98,8 @@ } - @Test + @Bug(id="PR804") + @Test public void SpacesCanBeEverywhereLocalTests1() throws Exception { System.out.println("connecting SpacesCanBeEverywhereLocalTests1 request"); System.err.println("connecting SpacesCanBeEverywhereLocalTests1 request"); @@ -112,6 +118,7 @@ Assert.assertEquals((Integer) 0, pr.returnValue); } + @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests2() throws Exception { System.out.println("connecting SpacesCanBeEverywhereLocalTests2 request"); @@ -131,6 +138,7 @@ Assert.assertEquals((Integer) 0, pr.returnValue); } + @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests3() throws Exception { System.out.println("connecting SpacesCanBeEverywhereLocalTests3 request"); diff -r 82e908d46d70 -r 11029e99d733 tests/junit-runner/JunitLikeXmlOutputListener.java --- a/tests/junit-runner/JunitLikeXmlOutputListener.java Tue Apr 24 14:43:34 2012 -0400 +++ b/tests/junit-runner/JunitLikeXmlOutputListener.java Wed May 02 12:53:07 2012 +0200 @@ -12,6 +12,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; +import java.lang.reflect.Method; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Date; @@ -19,6 +20,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import net.sourceforge.jnlp.annotations.Bug; import org.junit.internal.JUnitSystem; @@ -41,6 +43,8 @@ private static final String ROOT = "testsuite"; private static final String DATE_ELEMENT = "date"; private static final String TEST_ELEMENT = "testcase"; + private static final String BUGS = "bugs"; + private static final String BUG = "bug"; private static final String TEST_NAME_ATTRIBUTE = "name"; private static final String TEST_TIME_ATTRIBUTE = "time"; private static final String TEST_ERROR_ELEMENT = "error"; @@ -63,6 +67,7 @@ private class ClassCounter { + Class c; int total; int failed; int passed; @@ -94,7 +99,10 @@ attString.append(" "); Set> entries = atts.entrySet(); for (Entry entry : entries) { - attString.append(entry.getKey()).append("=\"").append(attributize(entry.getValue())).append("\""); + String k=entry.getKey(); + String v= entry.getValue(); + if (v==null)v="null"; + attString.append(k).append("=\"").append(attributize(v)).append("\""); attString.append(" "); } } @@ -164,13 +172,35 @@ writeElement(TEST_ERROR_ELEMENT, testFailed.getTrace(), errorAtts); } - + try { + Class q = description.getTestClass(); + String qs=description.getMethodName(); + if (qs.contains(" - ")) qs=qs.replaceAll(" - .*", ""); + Method qm = q.getMethod(qs); + Bug b = qm.getAnnotation(Bug.class); + if (b != null) { + openElement(BUGS); + String[] s = b.id(); + for (String string : s) { + String ss[]=createBug(string); + Map visibleNameAtt=new HashMap(1); + visibleNameAtt.put("visibleName", ss[0]); + openElement(BUG,visibleNameAtt); + writer.write(ss[1]); + closeElement(BUG); + } + closeElement(BUGS); + } + } catch (Exception ex) { + ex.printStackTrace(); + } closeElement(TEST_ELEMENT); writer.flush(); ClassCounter cc = classStats.get(description.getClassName()); if (cc == null) { cc = new ClassCounter(); + cc.c=description.getTestClass(); classStats.put(description.getClassName(), cc); } cc.total++; @@ -211,7 +241,27 @@ writeElement(SUMMARY_FAILED_ELEMENT, String.valueOf(entry.getValue().failed)); writeElement(SUMMARY_IGNORED_ELEMENT, String.valueOf(entry.getValue().total - entry.getValue().failed - entry.getValue().passed)); writeElement(SUMMARY_TOTAL_ELEMENT, String.valueOf(entry.getValue().total)); - + try { + Bug b = null; + if (entry.getValue().c != null) { + b = (Bug) entry.getValue().c.getAnnotation(Bug.class); + } + if (b != null) { + openElement(BUGS); + String[] s = b.id(); + for (String string : s) { + String ss[]=createBug(string); + Map visibleNameAtt=new HashMap(1); + visibleNameAtt.put("visibleName", ss[0]); + openElement(BUG,visibleNameAtt); + writer.write(ss[1]); + closeElement(BUG); + } + closeElement(BUGS); + } + } catch (Exception ex) { + ex.printStackTrace(); + } closeElement(TEST_CLASS_ELEMENT); } closeElement(CLASSES_ELEMENT); @@ -222,4 +272,94 @@ writer.close(); } + + + /** + * When declare for suite class or for Test-marked method, + * should be interpreted by report generating tool to links. + * Known shortcuts are + * SX - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=X + * PRX - http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=X + * RHX - https://bugzilla.redhat.com/show_bug.cgi?id=X + * DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X + * GX - http://bugs.gentoo.org/show_bug.cgi?id=X + * CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X + * LPX - https://bugs.launchpad.net/bugs/X + * + * http://mail.openjdk.java.net/pipermail/distro-pkg-dev/ + * and http://mail.openjdk.java.net/pipermail/ are proceed differently + * + * You just put eg @Bug(id="RH12345",id="http:/my.bukpage.com/terribleNew") + * and RH12345 will be transalated as + * 123456 or + * similar, the url will be inclueded as is. Both added to proper tests or suites + * + * @return Strng[2]{nameToBeShown, hrefValue} + */ + public static String[] createBug(String string) { + String[] r = {"ex", string}; + String[] prefixes = { + "S", + "PR", + "RH", + "D", + "G", + "CA", + "LP",}; + String[] urls = { + "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=", + "http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=", + "https://bugzilla.redhat.com/show_bug.cgi?id=", + "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=", + "http://bugs.gentoo.org/show_bug.cgi?id=", + "http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id", + "https://bugs.launchpad.net/bugs/",}; + + for (int i = 0; i < urls.length; i++) { + if (string.startsWith(prefixes[i])) { + r[0] = string; + r[1] = urls[i] + string.substring(prefixes[i].length()); + return r; + } + + } + + String distro = "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/"; + String openjdk = "http://mail.openjdk.java.net/pipermail/"; + if (string.startsWith(distro)){ + r[0]="distro-pkg"; + return r; + } + if (string.startsWith(openjdk)){ + r[0]="openjdk"; + return r; + } + return r; + + } + + public static void main(String[] args){ + String[] q=createBug("PR608"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("S4854"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("RH649423"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("D464"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("G6554"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("CA1654"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("LP5445"); + System.out.println(q[0]+" : "+q[1]); + + q=createBug("http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-November/016178.html"); + System.out.println(q[0]+" : "+q[1]); + q=createBug("http://mail.openjdk.java.net/pipermail/awt-dev/2012-March/002324.html"); + System.out.println(q[0]+" : "+q[1]); + + q=createBug("http://lists.fedoraproject.org/pipermail/chinese/2012-January/008868.html"); + System.out.println(q[0]+" : "+q[1]); + } } diff -r 82e908d46d70 -r 11029e99d733 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java Wed May 02 12:53:07 2012 +0200 @@ -0,0 +1,32 @@ +package net.sourceforge.jnlp.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * When declare for suite class or for Test-marked method, + * should be interpreted by report generating tool to links. + * Known shortcuts are + * SX - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=X + * PRX - http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=X + * RHX - https://bugzilla.redhat.com/show_bug.cgi?id=X + * DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X + * GX - http://bugs.gentoo.org/show_bug.cgi?id=X + * CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X + * LPX - https://bugs.launchpad.net/bugs/X + * + * http://mail.openjdk.java.net/pipermail/distro-pkg-dev/ + * and http://mail.openjdk.java.net/pipermail/ are proceed differently + * You just put eg @Bug(id="RH12345",id="http:/my.bukpage.com/terribleNew") + * and RH12345 will be transalated as + * 123456 or + * similar, the url will be inclueded as is. Both added to proper tests or suites + * + */ + at Target({ElementType.METHOD,ElementType.TYPE}) + at Retention(RetentionPolicy.RUNTIME) +public @interface Bug { + public String[] id(); +} diff -r 82e908d46d70 -r 11029e99d733 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java Wed May 02 12:53:07 2012 +0200 @@ -0,0 +1,18 @@ + +package net.sourceforge.jnlp.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * This annotation should be declared for each test which requires DISPALY defined. + * If no display is defined, then those test will not be run + * + */ + at Target(ElementType.METHOD) + at Retention(RetentionPolicy.RUNTIME) +public @interface NeedsDisplay { + +} diff -r 82e908d46d70 -r 11029e99d733 tests/report-styles/jreport.xsl --- a/tests/report-styles/jreport.xsl Tue Apr 24 14:43:34 2012 -0400 +++ b/tests/report-styles/jreport.xsl Wed May 02 12:53:07 2012 +0200 @@ -102,6 +102,12 @@ (ms): + + + + + ; +
@@ -166,6 +172,13 @@ -
+ + - + + + + +
From jvanek at redhat.com Wed May 2 04:08:00 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 02 May 2012 13:08:00 +0200 Subject: [rfc][icedtea-web] Bug annotation In-Reply-To: <4F9ED79A.50300@redhat.com> References: <4F98124B.5050705@redhat.com> <4F9ED79A.50300@redhat.com> Message-ID: <4FA11590.7040102@redhat.com> On 04/30/2012 08:19 PM, Omair Majid wrote: > On 04/25/2012 11:03 AM, Jiri Vanek wrote: >> Hi all! >> 4/5 of browser testing framework. This one is not related to testing of >> applets in browsers, but is extension to testing framework as a complex. >> I got inspired by jtreg and by Pavel and our documentaries who are >> always annoyed when tracking some bug in icedtea-web. >> >> This was originally purposed by me in Extending jnlp reproducers for >> html+applet reproducers in March [1]: >> >> *@Bug* annotation - can handle IDs of bugs or urls to web which >> contains more info about "why this >> reproducer or unit test was added", are *nicely* propagated also to html >> report (see attached >> report.zip). Name convention is as we are used to from NEWS files." > > Just a suggestion for possible improvement. Perhaps it would be nice to > separate the bug ids from discussion threads. How about something like > this instead: > > @Bug(ids={"PR42"},discussion={"http://some/url/to/discussion"}) ? > > Cheers, > Omair Hi! I have pushed to head as it was. I was thinking about separating bug/discussion/url when i was writing the browser mega-patch, but I decided to be minimalistic and to have one simple annotation for all this stuff (mostly considering where everywhere it is propagated and how are the outputs similar/different) I will add this to my todo list, but I'm afraid that pure laziness and never-ending lack of time will make it disappear rather then full-fill in close future. Thanx both of you for your eyeballing, best regards, J. From ptisnovs at icedtea.classpath.org Wed May 2 06:19:00 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 02 May 2012 13:19:00 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestArcs.java: Message-ID: changeset 0e93a0e23fe3 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=0e93a0e23fe3 author: Pavel Tisnovsky date: Wed May 02 15:21:33 2012 +0200 * src/org/gfxtest/testsuites/PrintTestArcs.java: * src/org/gfxtest/testsuites/PrintTestBitBlt.java: * src/org/gfxtest/testsuites/PrintTestCircles.java: * src/org/gfxtest/testsuites/PrintTestDrawText.java: Stubs for new tests. * Makefile: Updated diffstat: ChangeLog | 9 ++ Makefile | 12 ++- src/org/gfxtest/testsuites/PrintTestArcs.java | 79 +++++++++++++++++++++++ src/org/gfxtest/testsuites/PrintTestBitBlt.java | 79 +++++++++++++++++++++++ src/org/gfxtest/testsuites/PrintTestCircles.java | 79 +++++++++++++++++++++++ src/org/gfxtest/testsuites/PrintTestDrawText.java | 79 +++++++++++++++++++++++ 6 files changed, 335 insertions(+), 2 deletions(-) diffs (377 lines): diff -r 95cf8a02f0dd -r 0e93a0e23fe3 ChangeLog --- a/ChangeLog Fri Apr 27 13:01:29 2012 +0200 +++ b/ChangeLog Wed May 02 15:21:33 2012 +0200 @@ -1,3 +1,12 @@ +2012-05-02 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestArcs.java: + * src/org/gfxtest/testsuites/PrintTestBitBlt.java: + * src/org/gfxtest/testsuites/PrintTestCircles.java: + * src/org/gfxtest/testsuites/PrintTestDrawText.java: + Stubs for new tests. + * Makefile: Updated + 2012-04-27 Pavel Tisnovsky * src/org/gfxtest/framework/annotations/GraphicsPrimitives.java: diff -r 95cf8a02f0dd -r 0e93a0e23fe3 Makefile --- a/Makefile Fri Apr 27 13:01:29 2012 +0200 +++ b/Makefile Wed May 02 15:21:33 2012 +0200 @@ -178,7 +178,11 @@ $(CLASSES)/$(TESTSUITE_DIR)/PrintTestLines.class \ $(CLASSES)/$(TESTSUITE_DIR)/PrintTestPaths.class \ $(CLASSES)/$(TESTSUITE_DIR)/PrintTestPolylines.class \ - $(CLASSES)/$(TESTSUITE_DIR)/PrintTestQuadraticCurves.class + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestQuadraticCurves.class \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestArcs.java \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestBitBlt.java \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestCircles.java \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestDrawText.java COMPARE_RESULTS = \ $(RESULTS)/Areas \ @@ -255,7 +259,11 @@ $(RESULTS)/PrintTestLines \ $(RESULTS)/PrintTestPaths \ $(RESULTS)/PrintTestPolylines \ - $(RESULTS)/PrintTestQuadraticCurves + $(RESULTS)/PrintTestQuadraticCurves \ + $(RESULTS)/PrintTestArcs.java \ + $(RESULTS)/PrintTestBitBlt.java \ + $(RESULTS)/PrintTestCircles.java \ + $(RESULTS)/PrintTestDrawText.java # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') diff -r 95cf8a02f0dd -r 0e93a0e23fe3 src/org/gfxtest/testsuites/PrintTestArcs.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestArcs.java Wed May 02 15:21:33 2012 +0200 @@ -0,0 +1,79 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.annotations.GraphicsPrimitive; +import org.gfxtest.framework.annotations.GraphicsPrimitives; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test suite checks rendering of various arcs. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.PRINT_TEST) + at GraphicsPrimitive(GraphicsPrimitives.ARC) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestArcs extends GfxTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestArcs().runTestSuite(args); + } +} diff -r 95cf8a02f0dd -r 0e93a0e23fe3 src/org/gfxtest/testsuites/PrintTestBitBlt.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestBitBlt.java Wed May 02 15:21:33 2012 +0200 @@ -0,0 +1,79 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.annotations.GraphicsPrimitive; +import org.gfxtest.framework.annotations.GraphicsPrimitives; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test suite checks BitBlt operations. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.PRINT_TEST) + at GraphicsPrimitive(GraphicsPrimitives.COMMON_BITMAP) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestBitBlt extends GfxTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestBitBlt().runTestSuite(args); + } +} diff -r 95cf8a02f0dd -r 0e93a0e23fe3 src/org/gfxtest/testsuites/PrintTestCircles.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestCircles.java Wed May 02 15:21:33 2012 +0200 @@ -0,0 +1,79 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.annotations.GraphicsPrimitive; +import org.gfxtest.framework.annotations.GraphicsPrimitives; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test suite checks rendering of various circles. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.PRINT_TEST) + at GraphicsPrimitive(GraphicsPrimitives.CIRCLE) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestCircles extends GfxTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestCircles().runTestSuite(args); + } +} diff -r 95cf8a02f0dd -r 0e93a0e23fe3 src/org/gfxtest/testsuites/PrintTestDrawText.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestDrawText.java Wed May 02 15:21:33 2012 +0200 @@ -0,0 +1,79 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.annotations.GraphicsPrimitive; +import org.gfxtest.framework.annotations.GraphicsPrimitives; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test suite checks rendering of various circles. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.PRINT_TEST) + at GraphicsPrimitive(GraphicsPrimitives.TEXT) + at RenderStyle(RenderStyles.NORMAL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestDrawText extends GfxTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestDrawText().runTestSuite(args); + } +} From ahughes at redhat.com Wed May 2 07:22:57 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 02 May 2012 10:22:57 -0400 (EDT) Subject: Moving Forward with IcedTea In-Reply-To: <517fe770-973b-4ff2-b392-273b66488a77@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <15cacc93-2086-4318-a6df-51719589662f@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- snip... > 2. IcedTea7 for u4. > > Oracle have already released u4: > http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html > > I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) and > then create a 2.2 branch which can > then be prepared and tested for a 2.2 release. > > PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). The forest branch is now available: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/ http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot The corresponding IcedTea tree will be created in due course to facilitate testing. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From dbhole at redhat.com Wed May 2 07:48:23 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 2 May 2012 10:48:23 -0400 Subject: Moving Forward with IcedTea In-Reply-To: <15cacc93-2086-4318-a6df-51719589662f@zmail17.collab.prod.int.phx2.redhat.com> References: <517fe770-973b-4ff2-b392-273b66488a77@zmail17.collab.prod.int.phx2.redhat.com> <15cacc93-2086-4318-a6df-51719589662f@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <20120502144822.GX3475@redhat.com> * Andrew Hughes [2012-05-02 10:39]: > ----- Original Message ----- > > snip... > > > 2. IcedTea7 for u4. > > > > Oracle have already released u4: > > http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html > > > > I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) and > > then create a 2.2 branch which can > > then be prepared and tested for a 2.2 release. > > > > PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). > > The forest branch is now available: > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/ > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot > > The corresponding IcedTea tree will be created in due course to facilitate testing. Shouldn't we have first merged u4 into HEAD and then branched? Now we have to do the work twice.. am I missing something? Deepak > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > From ahughes at redhat.com Wed May 2 08:21:43 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 02 May 2012 11:21:43 -0400 (EDT) Subject: Moving Forward with IcedTea In-Reply-To: <20120502144822.GX3475@redhat.com> Message-ID: <9955e79b-8825-4d6d-9fd8-67c378af7dbe@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > * Andrew Hughes [2012-05-02 10:39]: > > ----- Original Message ----- > > > > snip... > > > > > 2. IcedTea7 for u4. > > > > > > Oracle have already released u4: > > > http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html > > > > > > I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) > > > and > > > then create a 2.2 branch which can > > > then be prepared and tested for a 2.2 release. > > > > > > PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). > > > > The forest branch is now available: > > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/ > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot > > > > The corresponding IcedTea tree will be created in due course to > > facilitate testing. > > Shouldn't we have first merged u4 into HEAD and then branched? Now we > have to do the work twice.. am I missing something? > It's a three-stage process mirroring upstream, of which this is stage 1. 1. As mentioned above, HEAD is merged up to jdk7u4 b13 prior to branch. This is done. Both HEAD and 2.2 are at jdk7u4 b13. This is the majority of u4 changes (most of which were in the earlier merge, not today's). 2. The changes from the upstream jdk7u4 trees need to be pulled into the 2.2 forest. 3. The changes from the upstream jdk7u trees need to be pulled into the HEAD forest. In theory, 2 is a subset of 3, but I'd prefer to mirror what Oracle did upstream to avoid mistakes (and their branchpoints aren't exactly clear; I had to ask to obtain the b13 branchpoint). The important one is stage 2. That will give us a 2.2 that should be fairly close to u4. Stage 3 will move HEAD onto u6 which isn't immediately urgent, but would be good to get in sync so we and Oracle are both working on the same thing and we can find bugs and get them fixed upstream. You said you wanted to do some work on this merge, so I've left 2 & 3 for you to do. We can discuss this further on IRC but basically it's just a cycle of: 1. hg pull http://hg.openjdk.java.net/jdk7u/jdk7u{,4}/{.,corba,jaxp,jaxws,jdk,langtools,hotspot} 2. hg merge 3. Fix any conflicts with hg resolve -l / hg resolve -m 4. Commit the merge: hg commit -m Merge 5. Build the forest when all trees are merged. 6. Push all trees if it builds. 4 and 5 are interchangeable. I feel a little safer having the merge committed and just using hg rollback if there's an issue, but the build shouldn't be making any changes to the source tree. > Deepak > > > -- > > Andrew :) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Wed May 2 08:28:34 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 02 May 2012 17:28:34 +0200 Subject: [rfc][icedtea-web] reproducer for RH816592 Message-ID: <4FA152A2.1030600@redhat.com> Hi! This testcase is reproducing behaviour described in https://bugzilla.redhat.com/show_bug.cgi?id=816592 . I'm not sure if it is right thing to do fix this (but proprietary plugin is probably running it well :-/). All tests in this patch are failing now. If we decided to not to fix it, then I'm still for this patch in, just with reversed conditions. To patch itself - I have to deleted some lines manually, but I re-applied it correctly so believe it is correct. Best regards, J. 2012-05-02 Jiri Vanek Reproducer for RH816592 * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet.jnlp: * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource.html: * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource.jnlp: launchers for broken applet/application * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java: Both application and applet reproducing behavior of this bug * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java: Testcase launching jnlp application, jnlp applet and html applet * tests/jnlp_tests/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp: minor fix, added requesting for permissions * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: minor fix, defining exact encoding for saving files utility method -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducerForRH816592.diff Type: text/x-patch Size: 21322 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120502/415e495d/reproducerForRH816592.diff From ahughes at redhat.com Wed May 2 08:35:46 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 02 May 2012 11:35:46 -0400 (EDT) Subject: [RFC] Fix for GIO detection/VFS fallback (TCK7 failure) In-Reply-To: <0513ad3c-af04-418d-94ae-73cca42e7857@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <012c1e1e-9be8-45ec-ba21-759fcbe9ed0b@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > ----- Original Message ----- > > Hi, > > > > Attached patch fixes a TCK failure seen on systems with older > > libgio. > > > > The way the code works is that it first tries to load libgio-2.0.so > > and > > then verify that all necessary functions are available. If they are > > not, > > it dlcloses the library and falls back to vfs. > > > > In the forest, we have modified this part to wire in system libs > > and > > there is a bug in how it is done. If functions are not found and > > the > > library handle is closed, the caller ignores it and tries to call a > > function (g_type_init) via the ptr anyway, causing a SIGSEGV. > > > > OK to apply this to HEAD, 2.0 and 2.1? > > > > Thanks, > > Deepak > > > > I saw this earlier and was going to commit it to HEAD. > > Fine by me. I tested with and without system GIO enabled, but I > can't > really emulate the library being missing without deleting chunks of > my > system... ;-) > > We need to find time to get these patches upstreamed. > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > FYI, I put this into HEAD prior to the 2.2 branch. I'll leave you to handle 2.0 and 2.1. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From dbhole at redhat.com Wed May 2 09:12:26 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 2 May 2012 12:12:26 -0400 Subject: [RFC] Fix for GIO detection/VFS fallback (TCK7 failure) In-Reply-To: <012c1e1e-9be8-45ec-ba21-759fcbe9ed0b@zmail17.collab.prod.int.phx2.redhat.com> References: <0513ad3c-af04-418d-94ae-73cca42e7857@zmail17.collab.prod.int.phx2.redhat.com> <012c1e1e-9be8-45ec-ba21-759fcbe9ed0b@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <20120502161226.GA3475@redhat.com> * Andrew Hughes [2012-05-02 11:35]: > ----- Original Message ----- > > ----- Original Message ----- > > > Hi, > > > > > > Attached patch fixes a TCK failure seen on systems with older > > > libgio. > > > > > > The way the code works is that it first tries to load libgio-2.0.so > > > and > > > then verify that all necessary functions are available. If they are > > > not, > > > it dlcloses the library and falls back to vfs. > > > > > > In the forest, we have modified this part to wire in system libs > > > and > > > there is a bug in how it is done. If functions are not found and > > > the > > > library handle is closed, the caller ignores it and tries to call a > > > function (g_type_init) via the ptr anyway, causing a SIGSEGV. > > > > > > OK to apply this to HEAD, 2.0 and 2.1? > > > > > > Thanks, > > > Deepak > > > > > > > I saw this earlier and was going to commit it to HEAD. > > > > Fine by me. I tested with and without system GIO enabled, but I > > can't > > really emulate the library being missing without deleting chunks of > > my > > system... ;-) > > > > We need to find time to get these patches upstreamed. > > -- > > Andrew :) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > > > > FYI, I put this into HEAD prior to the 2.2 branch. I'll leave you > to handle 2.0 and 2.1. Sure. Also, this does not affect upstream btw. The upstream code correctly detects when libgio is inadequate and falls back. The bug was introduced by this changeset: http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/8317cb1976d6 Cheers, Deepak > Cheers, > Roman > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > From dbhole at redhat.com Wed May 2 09:13:23 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 2 May 2012 12:13:23 -0400 Subject: [RFC] Fix for GIO detection/VFS fallback (TCK7 failure) In-Reply-To: <20120502161226.GA3475@redhat.com> References: <0513ad3c-af04-418d-94ae-73cca42e7857@zmail17.collab.prod.int.phx2.redhat.com> <012c1e1e-9be8-45ec-ba21-759fcbe9ed0b@zmail17.collab.prod.int.phx2.redhat.com> <20120502161226.GA3475@redhat.com> Message-ID: <20120502161322.GB3475@redhat.com> * Deepak Bhole [2012-05-02 12:12]: > * Andrew Hughes [2012-05-02 11:35]: > > ----- Original Message ----- > > > ----- Original Message ----- > > > > Hi, > > > > > > > > Attached patch fixes a TCK failure seen on systems with older > > > > libgio. > > > > > > > > The way the code works is that it first tries to load libgio-2.0.so > > > > and > > > > then verify that all necessary functions are available. If they are > > > > not, > > > > it dlcloses the library and falls back to vfs. > > > > > > > > In the forest, we have modified this part to wire in system libs > > > > and > > > > there is a bug in how it is done. If functions are not found and > > > > the > > > > library handle is closed, the caller ignores it and tries to call a > > > > function (g_type_init) via the ptr anyway, causing a SIGSEGV. > > > > > > > > OK to apply this to HEAD, 2.0 and 2.1? > > > > > > > > Thanks, > > > > Deepak > > > > > > > > > > I saw this earlier and was going to commit it to HEAD. > > > > > > Fine by me. I tested with and without system GIO enabled, but I > > > can't > > > really emulate the library being missing without deleting chunks of > > > my > > > system... ;-) > > > > > > We need to find time to get these patches upstreamed. > > > -- > > > Andrew :) > > > > > > Free Java Software Engineer > > > Red Hat, Inc. (http://www.redhat.com) > > > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > > > > > > > > FYI, I put this into HEAD prior to the 2.2 branch. I'll leave you > > to handle 2.0 and 2.1. > > Sure. Also, this does not affect upstream btw. The upstream code > correctly detects when libgio is inadequate and falls back. The bug was > introduced by this changeset: > http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/8317cb1976d6 > Unless you were referring to getting the SYSTEM_GIO patch itself upstream, in which case, nvm :) Deepak > Cheers, > Deepak > > > Cheers, > > Roman > > > > > -- > > Andrew :) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > From dbhole at redhat.com Wed May 2 08:30:42 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 2 May 2012 11:30:42 -0400 Subject: Moving Forward with IcedTea In-Reply-To: <9955e79b-8825-4d6d-9fd8-67c378af7dbe@zmail17.collab.prod.int.phx2.redhat.com> References: <20120502144822.GX3475@redhat.com> <9955e79b-8825-4d6d-9fd8-67c378af7dbe@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <20120502153042.GY3475@redhat.com> * Andrew Hughes [2012-05-02 11:21]: > ----- Original Message ----- > > * Andrew Hughes [2012-05-02 10:39]: > > > ----- Original Message ----- > > > > > > snip... > > > > > > > 2. IcedTea7 for u4. > > > > > > > > Oracle have already released u4: > > > > http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html > > > > > > > > I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) > > > > and > > > > then create a 2.2 branch which can > > > > then be prepared and tested for a 2.2 release. > > > > > > > > PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). > > > > > > The forest branch is now available: > > > > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/ > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot > > > > > > The corresponding IcedTea tree will be created in due course to > > > facilitate testing. > > > > Shouldn't we have first merged u4 into HEAD and then branched? Now we > > have to do the work twice.. am I missing something? > > > > It's a three-stage process mirroring upstream, of which this is stage 1. > > 1. As mentioned above, HEAD is merged up to jdk7u4 b13 prior to branch. > This is done. Both HEAD and 2.2 are at jdk7u4 b13. This is the majority > of u4 changes (most of which were in the earlier merge, not today's). > > 2. The changes from the upstream jdk7u4 trees need to be pulled into the > 2.2 forest. > > 3. The changes from the upstream jdk7u trees need to be pulled into the > HEAD forest. > > In theory, 2 is a subset of 3, but I'd prefer to mirror what Oracle did > upstream to avoid mistakes (and their branchpoints aren't exactly clear; > I had to ask to obtain the b13 branchpoint). > > The important one is stage 2. That will give us a 2.2 that should be > fairly close to u4. > > Stage 3 will move HEAD onto u6 which isn't immediately urgent, but would > be good to get in sync so we and Oracle are both working on the same thing > and we can find bugs and get them fixed upstream. > > You said you wanted to do some work on this merge, so I've left 2 & 3 for > you to do. We can discuss this further on IRC but basically it's just a > cycle of: > > 1. hg pull http://hg.openjdk.java.net/jdk7u/jdk7u{,4}/{.,corba,jaxp,jaxws,jdk,langtools,hotspot} > 2. hg merge > 3. Fix any conflicts with hg resolve -l / hg resolve -m > 4. Commit the merge: hg commit -m Merge > 5. Build the forest when all trees are merged. > 6. Push all trees if it builds. > > 4 and 5 are interchangeable. I feel a little safer having the merge committed and just using > hg rollback if there's an issue, but the build shouldn't be making any changes to the source tree. > Ah, fair enough. That clarifies things a lot. Thanks for the explanation! Cheers, Deepak > > Deepak > > > > > -- > > > Andrew :) > > > > > > Free Java Software Engineer > > > Red Hat, Inc. (http://www.redhat.com) > > > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > > > > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > From ahughes at redhat.com Wed May 2 11:04:37 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 02 May 2012 14:04:37 -0400 (EDT) Subject: [RFC] Fix for GIO detection/VFS fallback (TCK7 failure) In-Reply-To: <20120502161322.GB3475@redhat.com> Message-ID: ----- Original Message ----- > * Deepak Bhole [2012-05-02 12:12]: > > * Andrew Hughes [2012-05-02 11:35]: > > > ----- Original Message ----- > > > > ----- Original Message ----- > > > > > Hi, > > > > > > > > > > Attached patch fixes a TCK failure seen on systems with older > > > > > libgio. > > > > > > > > > > The way the code works is that it first tries to load > > > > > libgio-2.0.so > > > > > and > > > > > then verify that all necessary functions are available. If > > > > > they are > > > > > not, > > > > > it dlcloses the library and falls back to vfs. > > > > > > > > > > In the forest, we have modified this part to wire in system > > > > > libs > > > > > and > > > > > there is a bug in how it is done. If functions are not found > > > > > and > > > > > the > > > > > library handle is closed, the caller ignores it and tries to > > > > > call a > > > > > function (g_type_init) via the ptr anyway, causing a SIGSEGV. > > > > > > > > > > OK to apply this to HEAD, 2.0 and 2.1? > > > > > > > > > > Thanks, > > > > > Deepak > > > > > > > > > > > > > I saw this earlier and was going to commit it to HEAD. > > > > > > > > Fine by me. I tested with and without system GIO enabled, but > > > > I > > > > can't > > > > really emulate the library being missing without deleting > > > > chunks of > > > > my > > > > system... ;-) > > > > > > > > We need to find time to get these patches upstreamed. > > > > -- > > > > Andrew :) > > > > > > > > Free Java Software Engineer > > > > Red Hat, Inc. (http://www.redhat.com) > > > > > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B > > > > DC07 > > > > > > > > > > > > > > FYI, I put this into HEAD prior to the 2.2 branch. I'll leave > > > you > > > to handle 2.0 and 2.1. > > > > Sure. Also, this does not affect upstream btw. The upstream code > > correctly detects when libgio is inadequate and falls back. The bug > > was > > introduced by this changeset: > > http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/8317cb1976d6 > > > > Unless you were referring to getting the SYSTEM_GIO patch itself > upstream, in which case, nvm :) I was :-) I know where the bug comes from; I wrote the system GIO usage and thus the bug... it's unfortunately not something you can reproduce if you do have an up-to-date GIO installed. I am surprised jtreg tests haven't hit this earlier though. Do none test this code? > > Deepak > > > Cheers, > > Deepak > > > > > Cheers, > > > Roman > > > > > > > > -- > > > Andrew :) > > > > > > Free Java Software Engineer > > > Red Hat, Inc. (http://www.redhat.com) > > > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From dbhole at icedtea.classpath.org Wed May 2 13:53:45 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:53:45 +0000 Subject: /hg/release/icedtea7-forest-2.2: 11 new changesets Message-ID: changeset d9580838fd08 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=d9580838fd08 author: katleman date: Thu Feb 23 15:14:10 2012 -0800 Added tag jdk7u4-b13 for changeset 9108e3c2f07f changeset 008753000680 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=008753000680 author: katleman date: Thu Mar 01 13:44:37 2012 -0800 Added tag jdk7u4-b14 for changeset d9580838fd08 changeset 901b753e13ee in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=901b753e13ee author: katleman date: Thu Mar 08 11:19:20 2012 -0800 Added tag jdk7u4-b15 for changeset 008753000680 changeset 89e8d9a0f6f1 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=89e8d9a0f6f1 author: katleman date: Fri Mar 16 07:29:11 2012 -0700 Added tag jdk7u4-b16 for changeset 901b753e13ee changeset 21d4722185b9 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=21d4722185b9 author: katleman date: Thu Mar 22 14:10:56 2012 -0700 Added tag jdk7u4-b17 for changeset 89e8d9a0f6f1 changeset 212bad4649ef in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=212bad4649ef author: cl date: Thu Mar 29 15:42:05 2012 -0700 Added tag jdk7u4-b18 for changeset 21d4722185b9 changeset 1eae71787c33 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=1eae71787c33 author: katleman date: Thu Apr 05 15:09:40 2012 -0700 Added tag jdk7u4-b19 for changeset 212bad4649ef changeset f3f02c7d86c7 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=f3f02c7d86c7 author: katleman date: Thu Apr 12 14:15:38 2012 -0700 Added tag jdk7u4-b20 for changeset 1eae71787c33 changeset d738383dd287 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=d738383dd287 author: katleman date: Mon Apr 16 15:03:34 2012 -0700 Added tag jdk7u4-b30 for changeset f3f02c7d86c7 changeset 3e92586871d9 in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=3e92586871d9 author: katleman date: Fri Apr 20 11:08:48 2012 -0700 Added tag jdk7u4-b21 for changeset d738383dd287 changeset 8beaec91886d in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=8beaec91886d author: Deepak Bhole date: Wed May 02 13:12:22 2012 -0400 Merge diffstat: .hgtags | 16 ++++++++++++++++ make/Defs-internal.gmk | 3 ++- 2 files changed, 18 insertions(+), 1 deletions(-) diffs (72 lines): diff -r 9108e3c2f07f -r 8beaec91886d .hgtags --- a/.hgtags Sun Feb 19 21:51:34 2012 -0800 +++ b/.hgtags Wed May 02 13:12:22 2012 -0400 @@ -50,6 +50,7 @@ 3ac6dcf7823205546fbbc3d4ea59f37358d0b0d4 jdk7-b73 2c88089b6e1c053597418099a14232182c387edc jdk7-b74 d1516b9f23954b29b8e76e6f4efc467c08c78133 jdk7-b75 +f0bfd9bd1a0e674288a8a4d17dcbb9e632b42e6d icedtea7-1.12 c8b63075403d53a208104a8a6ea5072c1cb66aab jdk7-b76 1f17ca8353babb13f4908c1f87d11508232518c8 jdk7-b77 ab4ae8f4514693a9fe17ca2fec0239d8f8450d2c jdk7-b78 @@ -63,6 +64,7 @@ 433a60a9c0bf1b26ee7e65cebaa89c541f497aed jdk7-b86 6b1069f53fbc30663ccef49d78c31bb7d6967bde jdk7-b87 82135c848d5fcddb065e98ae77b81077c858f593 jdk7-b88 +195fcceefddce1963bb26ba32920de67806ed2db icedtea7-1.13 7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89 425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90 97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91 @@ -111,6 +113,7 @@ ddc2fcb3682ffd27f44354db666128827be7e3c3 jdk7-b134 783bd02b4ab4596059c74b10a1793d7bd2f1c157 jdk7-b135 2fe76e73adaa5133ac559f0b3c2c0707eca04580 jdk7-b136 +d4aea1a51d625f5601c840714c7c94f1de5bc1af icedtea-1.14 7654afc6a29e43cb0a1343ce7f1287bf690d5e5f jdk7-b137 fc47c97bbbd91b1f774d855c48a7e285eb1a351a jdk7-b138 7ed6d0b9aaa12320832a7ddadb88d6d8d0dda4c1 jdk7-b139 @@ -123,6 +126,7 @@ 2d38c2a79c144c30cd04d143d83ee7ec6af40771 jdk7-b146 3ac30b3852876ccad6bd61697b5f9efa91ca7bc6 jdk7u1-b01 d91364304d7c4ecd34caffdba2b840aeb0d10b51 jdk7-b147 +3defd24c2671eb2e7796b5dc45b98954341d73a7 icedtea-2.0-branchpoint 34451dc0580d5c95d97b95a564e6198f36545d68 jdk7u1-b02 bf735d852f79bdbb3373c777eec3ff27e035e7ba jdk7u1-b03 f66a2bada589f4157789e6f66472954d2f1c114e jdk7u1-b04 @@ -141,6 +145,7 @@ b2deaf5bde5ec455a06786e8e2aea2e673be13aa jdk7u2-b12 c95558e566ac3605c480a3d070b1102088dab07f jdk7u2-b13 e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u2-b21 +a66b58021165f5a43e3974fe5fb9fead29824098 icedtea-2.1-branchpoint e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u3-b02 becd013ae6072a6633ba015fc4f5862fca589cee jdk7u3-b03 d64361a28584728aa25dca3781cffbaf4199e088 jdk7u3-b04 @@ -157,3 +162,14 @@ 2b07c262a8a9ff78dc908efb9d7b3bb099df9ac4 jdk7u4-b10 1abfee16e8cc7e3950052befa78dbf14a5ca9cfc jdk7u4-b11 e6f915094dccbba16df6ebeb002e6867392eda40 jdk7u4-b12 +e7886f5ad6cc837092386fa513e670d4a770456c icedtea-2.2-branchpoint +9108e3c2f07ffa218641d93893ac9928e95d213a jdk7u4-b13 +d9580838fd08872fc0da648ecfc6782704b4aac1 jdk7u4-b14 +008753000680a2008175d14b25373356f531aa07 jdk7u4-b15 +901b753e13ee064b01a6df9adeed0516c814f8c2 jdk7u4-b16 +89e8d9a0f6f1b75109693f388b8242945442ae3b jdk7u4-b17 +21d4722185b95ab571c9e1e07d9ddd5e637cc2c9 jdk7u4-b18 +212bad4649eff2fbdfcd397afcb0d1e3d566b41a jdk7u4-b19 +1eae71787c3343d7f492c075f94d4010abdd4d5c jdk7u4-b20 +f3f02c7d86c7b6da7596ddacbba04906cd02ab0f jdk7u4-b30 +d738383dd287f0bdad23934c43674a1170dad993 jdk7u4-b21 \ No newline at end of file diff -r 9108e3c2f07f -r 8beaec91886d make/Defs-internal.gmk --- a/make/Defs-internal.gmk Sun Feb 19 21:51:34 2012 -0800 +++ b/make/Defs-internal.gmk Wed May 02 13:12:22 2012 -0400 @@ -322,7 +322,8 @@ JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) \ PREVIOUS_MAJOR_VERSION=$(PREVIOUS_MAJOR_VERSION) \ PREVIOUS_MINOR_VERSION=$(PREVIOUS_MINOR_VERSION) \ - PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION) + PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION) \ + STATIC_CXX=$(STATIC_CXX) ifdef ARCH_DATA_MODEL COMMON_BUILD_ARGUMENTS += ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) From dbhole at icedtea.classpath.org Wed May 2 13:54:56 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:54:56 +0000 Subject: /hg/release/icedtea7-forest-2.2/corba: 13 new changesets Message-ID: changeset 6a262c36caeb in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=6a262c36caeb author: katleman date: Thu Feb 23 15:14:14 2012 -0800 Added tag jdk7u4-b13 for changeset f71197458980 changeset d9bf21b76f09 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=d9bf21b76f09 author: katleman date: Thu Mar 01 13:44:40 2012 -0800 Added tag jdk7u4-b14 for changeset 6a262c36caeb changeset bfca64f13d58 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=bfca64f13d58 author: katleman date: Thu Mar 08 11:19:23 2012 -0800 Added tag jdk7u4-b15 for changeset d9bf21b76f09 changeset e2a9fe67e059 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=e2a9fe67e059 author: katleman date: Fri Mar 16 07:29:18 2012 -0700 Added tag jdk7u4-b16 for changeset bfca64f13d58 changeset c2eb741b947d in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=c2eb741b947d author: katleman date: Thu Mar 22 14:10:58 2012 -0700 Added tag jdk7u4-b17 for changeset e2a9fe67e059 changeset 8bdf527067ac in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=8bdf527067ac author: cl date: Thu Mar 29 15:42:11 2012 -0700 Added tag jdk7u4-b18 for changeset c2eb741b947d changeset c844df9ea59f in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=c844df9ea59f author: katleman date: Thu Apr 05 15:09:46 2012 -0700 Added tag jdk7u4-b19 for changeset 8bdf527067ac changeset 10579933ba86 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=10579933ba86 author: jmelvin date: Wed Apr 04 10:37:41 2012 -0400 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 Summary: On Mac OS X, align system property "os.arch" with Apple legacy JDKs. Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories. Reviewed-by: dcubed, phh, ohair, katleman changeset 81a59f2d7ea4 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=81a59f2d7ea4 author: lana date: Mon Apr 09 08:58:24 2012 -0700 Merge changeset 91cf6d5b184c in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=91cf6d5b184c author: katleman date: Thu Apr 12 14:15:44 2012 -0700 Added tag jdk7u4-b20 for changeset 81a59f2d7ea4 changeset b8560e92b68c in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=b8560e92b68c author: katleman date: Mon Apr 16 15:03:39 2012 -0700 Added tag jdk7u4-b30 for changeset 91cf6d5b184c changeset 1b97d80df5c4 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=1b97d80df5c4 author: katleman date: Fri Apr 20 11:08:55 2012 -0700 Added tag jdk7u4-b21 for changeset b8560e92b68c changeset b165245a9c91 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=b165245a9c91 author: Deepak Bhole date: Wed May 02 13:12:29 2012 -0400 Merge diffstat: .hgtags | 16 ++++++++++++++++ make/common/shared/Platform.gmk | 26 ++++++++++++++++++-------- 2 files changed, 34 insertions(+), 8 deletions(-) diffs (127 lines): diff -r f71197458980 -r b165245a9c91 .hgtags --- a/.hgtags Fri Feb 17 09:46:18 2012 -0800 +++ b/.hgtags Wed May 02 13:12:29 2012 -0400 @@ -50,6 +50,7 @@ b751c528c55560cf2adeaeef24b39ca1f4d1cbf7 jdk7-b73 5d0cf59a3203b9f57aceebc33ae656b884987955 jdk7-b74 0fb137085952c8e47878e240d1cb40f14de463c4 jdk7-b75 +d728db3889da23d9f74e45154b9261a43b4acd8d icedtea7-1.12 937144222e2219939101b0129d26a872a7956b13 jdk7-b76 6881f0383f623394b5ec73f27a5f329ff55d0467 jdk7-b77 a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78 @@ -63,6 +64,7 @@ 6253e28826d16cf1aecc39ce04c8de1f6bf2df5f jdk7-b86 09a41111a401d327f65e453384d976a10154d9ea jdk7-b87 39e14d2da687c7e592142137517aaf689544820f jdk7-b88 +e805b4155d76f76d40ffae36a74546f79218c539 icedtea7-1.13 bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89 56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90 bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91 @@ -111,6 +113,7 @@ 918003855fa0dba5acf4bf1fe36526d2fc4c1ba8 jdk7-b134 e0b72ae5dc5e824b342801c8d1d336a55eb54e2c jdk7-b135 48ef0c712e7cbf272f47f9224db92a3c6a9e2612 jdk7-b136 +b62418551e20fa19fbf57c49d4378b7096809e60 icedtea-1.14 a66c01d8bf895261715955df0b95545c000ed6a8 jdk7-b137 78d8cf04697e9df54f7f11e195b7da29b8e345a2 jdk7-b138 60b074ec6fcf5cdf9efce22fdfb02326ed8fa2d3 jdk7-b139 @@ -123,6 +126,7 @@ 770227a4087e4e401fe87ccd19738440111c3948 jdk7-b146 36f0efbc66ef8ace3cca8aa8d0c88f3334080f8a jdk7u1-b01 73323cb3396260d93e0ab731fd2d431096ceed0f jdk7-b147 +d034cc90ecc266d78b87d1429c426669431fcc1f icedtea-2.0-branchpoint 9515a2d034b4727c11aeea36354a549fbc469c4f jdk7u1-b02 dd71cb354c573c1addcda269a7dd9144bfce9587 jdk7u1-b03 eaee830124aa453627591d8f9eccb39d7e040876 jdk7u1-b04 @@ -141,6 +145,7 @@ 56b02f8ef70391a67c9fa71157a8faafbdff4b74 jdk7u2-b12 456ff1f14b14ef8cfe47cef95c8094f8443fa092 jdk7u2-b13 62b846b0c3259cae732e75df50a1b180a2541178 jdk7u2-b21 +ecb9fc90dea4720f5c1ba1354364ed610f463e41 icedtea-2.1-branchpoint 1b648adeeefa9b1fb022459e8e4f590b736c0fdd jdk7u3-b02 730fa05af5a9d10a3a7a1626d248b96d09f8069f jdk7u3-b03 7f7a9b1addb4925f4f6e17f6eb5cce986c3b626d jdk7u3-b04 @@ -157,3 +162,14 @@ 23777178e7eb61859be3f7240561aa1034ff9221 jdk7u4-b10 bdc37f3c09b6008667aff77432bb6d31cbae945e jdk7u4-b11 fddc26b35a31884d64315cf7c296570245e9c481 jdk7u4-b12 +9ffa2340e018131c900e9cc12c9f3a10698aa191 icedtea-2.2-branchpoint +f7119745898016a98cddab3e69efb41c5a5aaf78 jdk7u4-b13 +6a262c36caebb43972cbae5032cff632ce31d2cc jdk7u4-b14 +d9bf21b76f093abfe451880d5db29e4932b1e72e jdk7u4-b15 +bfca64f13d582de179d69b32cf68ed06e6271ad0 jdk7u4-b16 +e2a9fe67e0595ea101a2c0b07cd98ab401b3c25e jdk7u4-b17 +c2eb741b947d9c31137934b75df12741bbc2c7fc jdk7u4-b18 +8bdf527067aca1acf92c7083a9c249e0731ff955 jdk7u4-b19 +81a59f2d7ea4e7a880041eaa4fa4e9d2518ed35b jdk7u4-b20 +91cf6d5b184c696382fd50ad76ca1d2bfd962e91 jdk7u4-b30 +b8560e92b68c2409fa46cd784c87e7cb5a043e59 jdk7u4-b21 diff -r f71197458980 -r b165245a9c91 make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Fri Feb 17 09:46:18 2012 -0800 +++ b/make/common/shared/Platform.gmk Wed May 02 13:12:29 2012 -0400 @@ -1,5 +1,5 @@ # -# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -153,6 +153,9 @@ OS_VERSION := $(shell uname -r) # Arch and OS name/version mach := $(shell uname -m) + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) + mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') + endif archExpr = case "$(mach)" in \ i[3-9]86) \ echo i586 \ @@ -169,6 +172,9 @@ arm*) \ echo arm \ ;; \ + sh*) \ + echo sh \ + ;; \ *) \ echo $(mach) \ ;; \ @@ -196,6 +202,9 @@ else ARCH_DATA_MODEL=64 endif + ifeq ($(ARCH), sh) + ARCH_DATA_MODEL=32 + endif endif endif @@ -275,7 +284,7 @@ echo sparc \ ;; \ x86_64) \ - echo amd64 \ + echo x86_64 \ ;; \ "Power Macintosh") \ echo ppc \ @@ -287,12 +296,13 @@ ARCH := $(shell $(archExpr) ) ARCH_FAMILY := $(ARCH) - # Darwin x86 builds are i386/amd64 universal. - ifeq ($(SYSTEM_UNAME), Darwin) - ifneq ($(ARCH), ppc) - ARCH=universal - endif - endif + # Darwin builds are currently universal but only include 64-bit + # + # ifeq ($(SYSTEM_UNAME), Darwin) + # ifneq ($(ARCH), ppc) + # ARCH=universal + # endif + # endif # i586, sparc, and ppc are 32 bit, amd64 and sparc64 are 64 ifneq (,$(findstring $(ARCH), i586 sparc ppc universal)) From dbhole at icedtea.classpath.org Wed May 2 13:55:11 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:55:11 +0000 Subject: /hg/release/icedtea7-forest-2.2/hotspot: 64 new changesets Message-ID: changeset 82e719a2e641 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=82e719a2e641 author: katleman date: Thu Feb 23 15:14:19 2012 -0800 Added tag jdk7u4-b13 for changeset efb5f2662c96 changeset 1c483d994a78 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=1c483d994a78 author: katleman date: Thu Mar 01 13:44:47 2012 -0800 Added tag jdk7u4-b14 for changeset 82e719a2e641 changeset 3894b5f634a8 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=3894b5f634a8 author: katleman date: Thu Mar 08 11:19:29 2012 -0800 Added tag jdk7u4-b15 for changeset 1c483d994a78 changeset cf8928e22f20 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=cf8928e22f20 author: amurillo date: Tue Feb 28 15:08:27 2012 -0800 7148663: new hotspot build - hs23-b17 Reviewed-by: jcoomes changeset 3322dd7f0a4d in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=3322dd7f0a4d author: dsamersoff date: Wed Feb 29 15:59:05 2012 +0400 7110104: It should be possible to stop and start JMX Agent at runtime Summary: Added a capability to start and stop JMX Agent by jcmd Reviewed-by: acorn, mchung changeset eac434b01c4c in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=eac434b01c4c author: kvn date: Tue Feb 21 11:55:05 2012 -0800 7146442: assert(false) failed: bad AD file Summary: Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods. Reviewed-by: never changeset ad0b499ddb18 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=ad0b499ddb18 author: never date: Tue Feb 28 10:04:01 2012 -0800 7145024: Crashes in ucrypto related to C2 Reviewed-by: kvn changeset 34a4f7687460 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=34a4f7687460 author: never date: Thu Mar 01 15:31:33 2012 -0800 7150051: incorrect oopmap in critical native Reviewed-by: kvn, twisti changeset 66eb62861bb0 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=66eb62861bb0 author: amurillo date: Sat Mar 10 00:38:20 2012 -0800 Added tag hs23-b17 for changeset 34a4f7687460 changeset c6a96f7a781d in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=c6a96f7a781d author: amurillo date: Sat Mar 10 00:46:43 2012 -0800 Merge changeset 376549fed156 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=376549fed156 author: katleman date: Fri Mar 16 07:29:25 2012 -0700 Added tag jdk7u4-b16 for changeset c6a96f7a781d changeset 16d263c59845 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=16d263c59845 author: amurillo date: Sat Mar 10 00:52:34 2012 -0800 7150326: new hotspot build - hs23-b18 Reviewed-by: jcoomes changeset 1425699d00c2 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=1425699d00c2 author: never date: Tue Mar 06 16:32:23 2012 -0800 7150390: JFR test crashed on assert(_jni_lock_count == count) failed: must be equal Reviewed-by: dholmes, minqi, kvn, coleenp changeset 418bcab91d2c in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=418bcab91d2c author: jcoomes date: Thu Mar 15 14:02:32 2012 -0700 7150454: add release jdk7u4 to jprt.properties Reviewed-by: ohair, never changeset a670de856959 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=a670de856959 author: amurillo date: Fri Mar 16 17:04:20 2012 -0700 Added tag hs23-b18 for changeset 418bcab91d2c changeset e266ffd6a7d7 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=e266ffd6a7d7 author: amurillo date: Fri Mar 16 17:20:07 2012 -0700 Merge changeset cc347bb8cf1b in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=cc347bb8cf1b author: katleman date: Thu Mar 22 14:11:04 2012 -0700 Added tag jdk7u4-b17 for changeset e266ffd6a7d7 changeset 3e986ec5c123 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=3e986ec5c123 author: asaha date: Mon Oct 31 22:04:51 2011 -0700 7107063: Fork hs22.1 hsx from hs22.0 for 7u3 and reinitialize build number Reviewed-by: jcoomes changeset c7bc239126d3 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=c7bc239126d3 author: asaha date: Fri Nov 18 12:57:49 2011 -0800 Merge changeset b23c8435518c in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=b23c8435518c author: asaha date: Tue Nov 29 10:14:58 2011 -0800 7116462: Bump the hs21.1 build number to 02 Reviewed-by: jcoomes changeset df4652fd1ae5 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=df4652fd1ae5 author: asaha date: Tue Nov 29 11:13:57 2011 -0800 7113740: hotspot_version file has wrong JDK_MINOR_VER Reviewed-by: jcoomes changeset 7333a200d09e in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=7333a200d09e author: asaha date: Wed Nov 30 13:53:04 2011 -0800 Merge changeset a40d238623e5 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=a40d238623e5 author: asaha date: Wed Nov 30 15:32:22 2011 -0800 Merge changeset e20578af5890 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=e20578af5890 author: cl date: Mon Dec 12 22:46:23 2011 -0800 Added tag jdk7u3-b02 for changeset a40d238623e5 changeset 6986bfb4c82e in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=6986bfb4c82e author: asaha date: Tue Jan 10 13:12:23 2012 -0800 Merge changeset 8e6375b46717 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=8e6375b46717 author: katleman date: Thu Jan 12 14:23:07 2012 -0800 Added tag jdk7u3-b03 for changeset 6986bfb4c82e changeset 366e6ba09c99 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=366e6ba09c99 author: katleman date: Mon Jan 23 09:47:37 2012 -0800 Added tag jdk7u3-b04 for changeset 8e6375b46717 changeset 4c62237db349 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=4c62237db349 author: katleman date: Fri Jan 27 12:03:18 2012 -0800 Added tag jdk7u3-b20 for changeset 366e6ba09c99 changeset 6067412a3452 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=6067412a3452 author: katleman date: Tue Feb 07 12:26:19 2012 -0800 Added tag jdk7u3-b05 for changeset 4c62237db349 changeset ce271da83629 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=ce271da83629 author: asaha date: Fri Mar 23 09:32:58 2012 -0700 Merge changeset 8f31e6a9b691 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=8f31e6a9b691 author: amurillo date: Fri Mar 16 17:21:14 2012 -0700 7152784: new hotspot build - hs23-b19 Reviewed-by: jcoomes changeset b7175879a006 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=b7175879a006 author: brutisso date: Tue Mar 13 21:12:53 2012 +0100 7152954: G1: Native memory leak during full GCs Summary: Add destructor to TruncatedSeq and call delete when necessary Reviewed-by: johnc, tonyp changeset a5f2ffa62a17 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=a5f2ffa62a17 author: sspitsyn date: Sat Mar 17 02:48:42 2012 -0700 7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02 Summary: The JVMTI ResourceExhausted events must be generated in all places where OOME is thrown Reviewed-by: acorn, coleenp, dcubed, dholmes, dsamersoff, jwilhelm, tonyp Contributed-by: serguei.spitsyn at oracle.com changeset 63312751e1e6 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=63312751e1e6 author: minqi date: Wed Mar 21 09:57:59 2012 -0700 Merge changeset ab565ffd9ec9 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=ab565ffd9ec9 author: iveresov date: Wed Mar 21 12:06:24 2012 -0700 7154333: JVM fails to start if -XX:+AggressiveHeap is set Summary: Don't set CompilationPolicyChoice with AggressiveHeap Reviewed-by: never, kvn changeset 0ecdb26f147b in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=0ecdb26f147b author: iveresov date: Wed Mar 21 11:54:37 2012 -0700 Merge changeset 6c1189bed856 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=6c1189bed856 author: iveresov date: Wed Mar 21 15:08:23 2012 -0700 Merge changeset 592be2b070a9 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=592be2b070a9 author: jcoomes date: Wed Mar 21 22:16:06 2012 -0700 7154724: jdk7u4 test properties missing from jprt.properties Reviewed-by: brutisso changeset 74229f694686 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=74229f694686 author: dlong date: Wed Feb 29 12:58:49 2012 -0500 7142641: -Xshared:on fails on ARM Summary: map read-only pages MAP_PRIVATE instead of MAP_SHARED Reviewed-by: dcubed, dholmes Contributed-by: dean.long at oracle.com changeset 0777128def78 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=0777128def78 author: jmelvin date: Thu Mar 22 17:27:09 2012 -0400 7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages Summary: Provide custom error messages for locked commercial feature options which are not first unlocked. Reviewed-by: dcubed, jcoomes, kamg, dholmes changeset b5ab741f2be1 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=b5ab741f2be1 author: jcoomes date: Thu Mar 22 15:28:53 2012 -0700 7155757: make jdk7u4 the default jprt release for hs23 Reviewed-by: kvn, kamg, sspitsyn changeset ad5eb0a72fb1 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=ad5eb0a72fb1 author: jmelvin date: Thu Mar 22 23:51:19 2012 -0400 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 Summary: On Mac OS X, align system property "os.arch" with Apple legacy JDKs. Also, improve os.name string matching by using contains() method instead of .startsWith(). Reviewed-by: dcubed, phh, ohair, katleman changeset f0a0f737689f in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=f0a0f737689f author: jcoomes date: Sat Mar 24 07:03:46 2012 -0700 Added tag hs23-b19 for changeset ad5eb0a72fb1 changeset f1b786625e0c in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=f1b786625e0c author: jcoomes date: Sat Mar 24 07:28:12 2012 -0700 Merge changeset 1b1e6060a7fd in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=1b1e6060a7fd author: cl date: Thu Mar 29 15:42:19 2012 -0700 Added tag jdk7u4-b18 for changeset f1b786625e0c changeset bd649a0a58e2 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=bd649a0a58e2 author: jcoomes date: Sat Mar 24 07:30:52 2012 -0700 7154677: new hotspot build - hs23-b20 Reviewed-by: johnc changeset 86ce3208eb18 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=86ce3208eb18 author: dcubed date: Fri Feb 17 15:55:27 2012 -0800 7145798: System.loadLibrary does not search current working directory Summary: Append "." to java.library.path on MacOS X to ease migration from Apple's Java6 to OpenJDK7. Reviewed-by: phh, jmelvin, coleenp changeset f5fba31ac5ce in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=f5fba31ac5ce author: dcubed date: Sun Mar 25 19:55:03 2012 -0700 Merge changeset de5748cca211 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=de5748cca211 author: johnc date: Mon Mar 12 14:59:00 2012 -0700 7147724: G1: hang in SurrogateLockerThread::manipulatePLL Summary: Attempting to initiate a marking cycle when allocating a humongous object can, if a marking cycle is successfully initiated by another thread, result in the allocating thread spinning until the marking cycle is complete. Eliminate a deadlock between the main ConcurrentMarkThread, the SurrogateLocker thread, the VM thread, and a mutator thread waiting on the SecondaryFreeList_lock (while free regions are going to become available) by not manipulating the pending list lock during the prologue and epilogue of the cleanup pause. Reviewed-by: brutisso, jcoomes, tonyp changeset c1606f7a714c in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=c1606f7a714c author: brutisso date: Fri Mar 23 15:28:24 2012 +0100 7103665: HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x97 Summary: Make sure that MutableNUMASpace::ensure_parsability() only calls CollectedHeap::fill_with_object() with valid sizes and make sure CollectedHeap::filler_array_max_size() returns a value that can be converted to an int without overflow Reviewed-by: azeemj, jmasa, iveresov changeset 1db5b993a0d8 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=1db5b993a0d8 author: dsamersoff date: Thu Mar 29 01:02:19 2012 +0400 7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode Summary: Assert doesn't respect invokedynamic opcode Reviewed-by: dcubed, phh changeset d5ff739e96c7 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=d5ff739e96c7 author: dsamersoff date: Wed Mar 28 14:54:55 2012 -0700 Merge changeset 1834c6835b75 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=1834c6835b75 author: minqi date: Thu Mar 29 11:34:29 2012 -0700 7156960: Incorrect copyright headers in parts of the Serviceability agent Summary: Errant files added as part of 7088955 fix. The Copyright information now corrected with gpl-header template Reviewed-by: sla, ohair, mbykov changeset 726d1dc1b521 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=726d1dc1b521 author: amurillo date: Fri Mar 30 13:07:46 2012 -0700 Added tag hs23-b20 for changeset 1834c6835b75 changeset a1292d4e0709 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=a1292d4e0709 author: amurillo date: Fri Mar 30 13:22:39 2012 -0700 Merge changeset 30e3475c1a45 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=30e3475c1a45 author: katleman date: Thu Apr 05 15:09:58 2012 -0700 Added tag jdk7u4-b19 for changeset a1292d4e0709 changeset 7c99c217cc89 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=7c99c217cc89 author: amurillo date: Fri Mar 30 13:25:51 2012 -0700 7158135: new hotspot build - hs23-b21 Reviewed-by: jcoomes changeset 34fce1d343b0 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=34fce1d343b0 author: iveresov date: Sat Apr 07 12:29:54 2012 -0700 7159766: Tiered compilation causes performance regressions Summary: Disable tiered in 7u4 because of the performance anomalies with Oracle FMW Reviewed-by: never, kvn changeset bf81dbf47dec in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=bf81dbf47dec author: jcoomes date: Tue Apr 10 14:43:11 2012 -0700 Added tag hs23-b21 for changeset 34fce1d343b0 changeset ad6f5eaa165e in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=ad6f5eaa165e author: jcoomes date: Tue Apr 10 16:54:22 2012 -0700 Merge changeset c7c6b00122cf in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=c7c6b00122cf author: katleman date: Thu Apr 12 14:15:47 2012 -0700 Added tag jdk7u4-b20 for changeset ad6f5eaa165e changeset 93ec23d55b87 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=93ec23d55b87 author: katleman date: Mon Apr 16 15:03:44 2012 -0700 Added tag jdk7u4-b30 for changeset c7c6b00122cf changeset 1eb9f79307a8 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=1eb9f79307a8 author: katleman date: Fri Apr 20 11:09:07 2012 -0700 Added tag jdk7u4-b21 for changeset 93ec23d55b87 changeset e26080e754c6 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=e26080e754c6 author: Deepak Bhole date: Wed May 02 13:12:35 2012 -0400 Merge diffstat: .hgtags | 30 + THIRD_PARTY_README | 29 +- agent/src/os/linux/Makefile | 11 +- agent/src/os/linux/libproc.h | 29 +- agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java | 6 +- agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java | 18 +- make/Makefile | 14 + make/hotspot_version | 6 +- make/jprt.properties | 21 +- make/linux/makefiles/defs.make | 30 +- make/linux/makefiles/gcc.make | 31 +- make/linux/makefiles/jsig.make | 2 + make/linux/makefiles/rules.make | 10 - make/linux/makefiles/saproc.make | 2 + make/linux/makefiles/vm.make | 22 +- make/linux/platform_zero.in | 2 +- make/solaris/makefiles/dtrace.make | 8 + make/solaris/makefiles/jsig.make | 2 + make/solaris/makefiles/rules.make | 10 - make/solaris/makefiles/saproc.make | 2 + make/solaris/makefiles/vm.make | 10 + make/windows/makefiles/vm.make | 8 + src/cpu/sparc/vm/c2_globals_sparc.hpp | 2 +- src/cpu/x86/vm/c2_globals_x86.hpp | 4 +- src/cpu/x86/vm/sharedRuntime_x86_64.cpp | 248 ++++++++- src/cpu/zero/vm/deoptimizerFrame_zero.hpp | 53 ++ src/cpu/zero/vm/methodHandles_zero.hpp | 17 +- src/cpu/zero/vm/sharedRuntime_zero.cpp | 19 +- src/os/bsd/vm/os_bsd.cpp | 19 + src/os/linux/vm/os_linux.cpp | 43 +- src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp | 11 +- src/share/vm/asm/codeBuffer.hpp | 2 +- src/share/vm/ci/ciTypeFlow.cpp | 2 +- src/share/vm/classfile/systemDictionary.cpp | 1 - src/share/vm/classfile/vmSymbols.hpp | 5 +- src/share/vm/compiler/methodLiveness.cpp | 12 +- src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp | 6 +- src/share/vm/gc_implementation/g1/concurrentMark.cpp | 2 +- src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp | 4 +- src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp | 16 +- src/share/vm/gc_implementation/g1/survRateGroup.cpp | 88 +-- src/share/vm/gc_implementation/g1/vm_operations_g1.cpp | 61 ++- src/share/vm/gc_implementation/g1/vm_operations_g1.hpp | 15 +- src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp | 4 +- src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp | 2 +- src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp | 50 +- src/share/vm/gc_interface/collectedHeap.cpp | 7 +- src/share/vm/gc_interface/collectedHeap.hpp | 6 +- src/share/vm/memory/collectorPolicy.cpp | 2 +- src/share/vm/memory/threadLocalAllocBuffer.cpp | 2 +- src/share/vm/oops/arrayKlass.cpp | 3 +- src/share/vm/oops/instanceKlass.cpp | 3 +- src/share/vm/oops/objArrayKlass.cpp | 3 +- src/share/vm/oops/typeArrayKlass.cpp | 3 +- src/share/vm/opto/cfgnode.cpp | 2 + src/share/vm/opto/connode.cpp | 4 +- src/share/vm/opto/escape.cpp | 38 +- src/share/vm/opto/type.cpp | 2 + src/share/vm/prims/jni.cpp | 2 +- src/share/vm/prims/jvmtiClassFileReconstituter.cpp | 5 +- src/share/vm/prims/jvmtiEnv.cpp | 3 + src/share/vm/prims/jvmtiExport.hpp | 8 +- src/share/vm/runtime/arguments.cpp | 35 +- src/share/vm/runtime/globals.cpp | 22 +- src/share/vm/runtime/globals.hpp | 7 +- src/share/vm/runtime/globals_ext.hpp | 7 +- src/share/vm/runtime/os.cpp | 3 + src/share/vm/runtime/safepoint.cpp | 21 +- src/share/vm/runtime/thread.cpp | 4 + src/share/vm/runtime/thread.hpp | 9 + src/share/vm/runtime/vmStructs.cpp | 10 +- src/share/vm/services/diagnosticCommand.cpp | 189 +++++++- src/share/vm/services/diagnosticCommand.hpp | 80 +++- src/share/vm/shark/sharkCompiler.cpp | 4 +- src/share/vm/utilities/bitMap.hpp | 2 +- src/share/vm/utilities/macros.hpp | 16 + src/share/vm/utilities/numberSeq.cpp | 6 +- src/share/vm/utilities/numberSeq.hpp | 3 +- src/share/vm/utilities/ostream.cpp | 2 +- src/share/vm/utilities/vmError.cpp | 10 +- test/runtime/6929067/Test6929067.sh | 35 +- test/runtime/7020373/GenOOMCrashClass.java | 157 ++++++ test/runtime/7020373/Test7020373.sh | 7 +- test/runtime/7020373/testcase.jar | Bin 92 files changed, 1490 insertions(+), 461 deletions(-) diffs (truncated from 3743 to 500 lines): diff -r efb5f2662c96 -r e26080e754c6 .hgtags --- a/.hgtags Mon Feb 20 23:21:55 2012 -0800 +++ b/.hgtags Wed May 02 13:12:35 2012 -0400 @@ -50,6 +50,7 @@ faf94d94786b621f8e13cbcc941ca69c6d967c3f jdk7-b73 f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 jdk7-b74 d8dd291a362acb656026a9c0a9da48501505a1e7 jdk7-b75 +b4ab978ce52c41bb7e8ee86285e6c9f28122bbe1 icedtea7-1.12 9174bb32e934965288121f75394874eeb1fcb649 jdk7-b76 455105fc81d941482f8f8056afaa7aa0949c9300 jdk7-b77 e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78 @@ -87,6 +88,7 @@ 07226e9eab8f74b37346b32715f829a2ef2c3188 hs18-b01 e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88 +a393ff93e7e54dd94cc4211892605a32f9c77dad icedtea7-1.13 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90 @@ -160,6 +162,7 @@ b898f0fc3cedc972d884d31a751afd75969531cf hs21-b05 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 jdk7-b136 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 hs21-b06 +591c7dc0b2ee879f87a7b5519a5388e0d81520be icedtea-1.14 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f jdk7-b137 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f hs21-b07 0930dc920c185afbf40fed9a655290b8e5b16783 jdk7-b138 @@ -182,6 +185,7 @@ 38fa55e5e79232d48f1bb8cf27d88bc094c9375a hs21-b16 81d815b05abb564aa1f4100ae13491c949b9a07e jdk7-b147 81d815b05abb564aa1f4100ae13491c949b9a07e hs21-b17 +7693eb0fce1f6b484cce96c233ea20bdad8a09e0 icedtea-2.0-branchpoint 9b0ca45cd756d538c4c30afab280a91868eee1a5 jdk7u2-b01 0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01 31e253c1da429124bb87570ab095d9bc89850d0a jdk8-b02 @@ -201,6 +205,16 @@ 513a84dd0f8b56dc0836b4e0bdd5dd0a778fc634 hs22-b05 650d15d8f37255d3b805aa00c5bd1c30984b203d hs22-b06 8035e71ac3f6c8a453f7e9483e7144731388b14e jdk7u2-b08 +cd3d4ec354fd040c1f47614991b3fe6d5cc5e9da hs22-b07 +b93bc193d73bd4d07150a3e8f85a8ca4bb18157c jdk7u2-b09 +623aec2a90f721fd0de9877bf7be8624874fd557 hs22-b08 +482e282037d780ca48a0eaaa4015b8ae20f0e0a9 jdk7u2-b11 +c8abdaa56b471195aefbac6ee385d7d35b8aec74 hs22-b09 +4061b13e3e6be63b6f157ef773f374f2355fdb48 jdk7u2-b12 +3ba0bb2e7c8ddac172f5b995aae57329cdd2dafa hs22-b10 +f17fe2f4b6aacc19cbb8ee39476f2f13a1c4d3cd jdk7u2-b13 +0744602f85c6fe62255326df595785eb2b32166d jdk7u2-b21 +f8f4d3f9b16567b91bcef4caaa8417c8de8015f0 icedtea-2.1-branchpoint da883b9e6d3788057f9577e72712998ed82c9b7e hs23-b01 49ed7eacfd16616166ff066493143889741097af jdk8-b08 7c20d272643f47195478708eff593a9cce40fec4 jdk8-b09 @@ -250,3 +264,19 @@ f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16 +a2c5354863dcb3d147b7b6f55ef514b1bfecf920 icedtea-2.2-branchpoint +efb5f2662c96c472caa3327090268c75a86dd9c0 jdk7u4-b13 +82e719a2e6416838b4421637646cbfd7104c7716 jdk7u4-b14 +1c483d994a78e46c4656b6f3773c7014346d0f19 jdk7u4-b15 +34a4f7687460b1b2bfb1d87191919c5f101aa988 hs23-b17 +c6a96f7a781dd23d2b9fd6353fcd87493616c803 jdk7u4-b16 +418bcab91d2c07c720190d39e1b7f7e39b214994 hs23-b18 +e266ffd6a7d7ccd6e06a442155c5e2457c1884de jdk7u4-b17 +ad5eb0a72fb1d6d7aa6ec7e9cfd06045aef51728 hs23-b19 +f1b786625e0c2ce215d70dda637a127edb2688f2 jdk7u4-b18 +1834c6835b75ed0c0f6fdb55a4ae56cc82e0f15c hs23-b20 +a1292d4e07097cf68addadca35553fd1255dc555 jdk7u4-b19 +34fce1d343b0d9f5e1e5ea30d93e840d260f3dce hs23-b21 +ad6f5eaa165edc94caaa0ac582828718a63a3d02 jdk7u4-b20 +c7c6b00122cf49c4147229689904a20779e73b85 jdk7u4-b30 +93ec23d55b87d46bada8f32b84eb67b427436858 jdk7u4-b21 \ No newline at end of file diff -r efb5f2662c96 -r e26080e754c6 THIRD_PARTY_README --- a/THIRD_PARTY_README Mon Feb 20 23:21:55 2012 -0800 +++ b/THIRD_PARTY_README Wed May 02 13:12:35 2012 -0400 @@ -216,15 +216,16 @@ is included with JRE 7, JDK 7, and OpenJDK 7. You are receiving a copy of the Elliptic Curve Cryptography library in source -form with the JDK 7 source distribution and object code in the JRE 7 & JDK 7 -runtime. - -The terms of the Oracle license do NOT apply to the Elliptic Curve -Cryptography library program; it is licensed under the following license, -separately from the Oracle programs you receive. If you do not wish to install -this program, you may delete the library named libsunec.so (on Solaris and -Linux systems) or sunec.dll (on Windows systems) from the JRE bin directory -reserved for native libraries. +form with the JDK 7 and OpenJDK7 source distributions, and as object code in +the JRE 7 & JDK 7 runtimes. + +In the case of the JRE 7 & JDK 7 runtimes, the terms of the Oracle license do +NOT apply to the Elliptic Curve Cryptography library; it is licensed under the +following license, separately from Oracle's JDK & JRE. If you do not wish to +install the Elliptic Curve Cryptography library, you may delete the library +named libsunec.so (on Solaris and Linux systems) or sunec.dll (on Windows +systems) from the JRE bin directory reserved for native libraries. + --- begin of LICENSE --- @@ -1000,7 +1001,7 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.2.18, which is +%% This notice is provided with respect to libpng 1.5.4, which is included with JRE 7, JDK 7, and OpenJDK 7. --- begin of LICENSE --- @@ -1014,8 +1015,10 @@ If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.2.18, May 15, 2007, are -Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are +This code is released under the libpng license. + +libpng versions 1.2.6, August 15, 2004, through 1.5.4, July 7, 2011, are +Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -1112,7 +1115,7 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net -May 15, 2007 +July 7, 2011 --- end of LICENSE --- diff -r efb5f2662c96 -r e26080e754c6 agent/src/os/linux/Makefile --- a/agent/src/os/linux/Makefile Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/os/linux/Makefile Wed May 02 13:12:35 2012 -0400 @@ -23,7 +23,12 @@ # ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) -GCC = gcc + +ifndef BUILD_GCC +BUILD_GCC = gcc +endif + +GCC = $(BUILD_GCC) JAVAH = ${JAVA_HOME}/bin/javah @@ -40,7 +45,7 @@ LIBS = -lthread_db -CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -D_FILE_OFFSET_BITS=64 +CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) -D_FILE_OFFSET_BITS=64 LIBSA = $(ARCH)/libsaproc.so @@ -73,7 +78,7 @@ $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) test.o: test.c - $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c + $(GCC) -c -o test.o -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) test.c test: test.o $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS) diff -r efb5f2662c96 -r e26080e754c6 agent/src/os/linux/libproc.h --- a/agent/src/os/linux/libproc.h Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/os/linux/libproc.h Wed May 02 13:12:35 2012 -0400 @@ -36,9 +36,34 @@ These two files define pt_regs structure differently */ #ifdef _LP64 -#include "asm-sparc64/ptrace.h" +struct pt_regs { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + + /* We encode a magic number, PT_REGS_MAGIC, along + * with the %tt (trap type) register value at trap + * entry time. The magic number allows us to identify + * accurately a trap stack frame in the stack + * unwinder, and the %tt value allows us to test + * things like "in a system call" etc. for an arbitray + * process. + * + * The PT_REGS_MAGIC is chosen such that it can be + * loaded completely using just a sethi instruction. + */ + unsigned int magic; +}; #else -#include "asm-sparc/ptrace.h" +struct pt_regs { + unsigned long psr; + unsigned long pc; + unsigned long npc; + unsigned long y; + unsigned long u_regs[16]; /* globals and ins */ +}; #endif #endif //sparc or sparcv9 diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java --- a/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java Wed May 02 13:12:35 2012 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -217,8 +217,8 @@ } protected void checkNativeLink(SecurityManager sm, String os) { - if (os.equals("SunOS") || os.equals("Linux")) { - // link "saproc" - SA native library on SunOS and Linux? + if (os.equals("SunOS") || os.equals("Linux") || os.contains("OS X")) { + // link "saproc" - SA native library on SunOS, Linux, and Mac OS X sm.checkLink("saproc"); } else if (os.startsWith("Windows")) { // link "sawindbg" - SA native library on Windows. diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r efb5f2662c96 -r e26080e754c6 agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java Mon Feb 20 23:21:55 2012 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java Wed May 02 13:12:35 2012 -0400 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * From dbhole at icedtea.classpath.org Wed May 2 13:55:30 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:55:30 +0000 Subject: /hg/release/icedtea7-forest-2.2/jaxp: 17 new changesets Message-ID: changeset 82c5b3166b31 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=82c5b3166b31 author: katleman date: Thu Feb 23 15:14:30 2012 -0800 Added tag jdk7u4-b13 for changeset 7d18bccaec37 changeset 36490d49683f in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=36490d49683f author: katleman date: Thu Mar 01 13:44:55 2012 -0800 Added tag jdk7u4-b14 for changeset 82c5b3166b31 changeset 1a8d4e786012 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=1a8d4e786012 author: katleman date: Thu Mar 08 11:19:36 2012 -0800 Added tag jdk7u4-b15 for changeset 36490d49683f changeset b519b554f589 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=b519b554f589 author: joehw date: Tue Mar 06 09:52:17 2012 -0800 7147666: High lock time for com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance() Reviewed-by: andrew, alanb, lancea changeset 6048e224bd34 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=6048e224bd34 author: lana date: Wed Mar 07 17:22:26 2012 -0800 Merge changeset 5c881231f116 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=5c881231f116 author: lana date: Mon Mar 12 14:54:58 2012 -0700 Merge changeset 77a453ae863f in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=77a453ae863f author: katleman date: Fri Mar 16 07:29:41 2012 -0700 Added tag jdk7u4-b16 for changeset 5c881231f116 changeset ce6c381830d1 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=ce6c381830d1 author: katleman date: Thu Mar 22 14:11:10 2012 -0700 Added tag jdk7u4-b17 for changeset 77a453ae863f changeset 35416f31de0a in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=35416f31de0a author: joehw date: Wed Mar 21 15:35:53 2012 -0700 7150637: No newline emitted after XML decl in XSLT output Reviewed-by: lancea changeset b3b62f285a2c in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=b3b62f285a2c author: lana date: Wed Mar 21 17:32:51 2012 -0700 Merge changeset 02400887d8c8 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=02400887d8c8 author: lana date: Sun Mar 25 22:09:42 2012 -0700 Merge changeset eb1f8bea2e93 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=eb1f8bea2e93 author: cl date: Thu Mar 29 15:42:31 2012 -0700 Added tag jdk7u4-b18 for changeset 02400887d8c8 changeset b08fa5f66572 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=b08fa5f66572 author: katleman date: Thu Apr 05 15:10:35 2012 -0700 Added tag jdk7u4-b19 for changeset eb1f8bea2e93 changeset 501dd9241186 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=501dd9241186 author: katleman date: Thu Apr 12 14:15:56 2012 -0700 Added tag jdk7u4-b20 for changeset b08fa5f66572 changeset a90108a5e161 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=a90108a5e161 author: katleman date: Mon Apr 16 15:03:51 2012 -0700 Added tag jdk7u4-b30 for changeset 501dd9241186 changeset 9de44cdaafe7 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=9de44cdaafe7 author: katleman date: Fri Apr 20 11:09:28 2012 -0700 Added tag jdk7u4-b21 for changeset a90108a5e161 changeset a98d6a2f14a1 in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=a98d6a2f14a1 author: Deepak Bhole date: Wed May 02 13:12:40 2012 -0400 Merge diffstat: .hgtags | 16 ++++++++ src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java | 4 ++ src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java | 11 +++++ src/com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory.java | 10 ++-- src/com/sun/org/apache/xml/internal/serializer/EmptySerializer.java | 7 +++ src/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java | 20 ++++++++++ src/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java | 6 +++ src/com/sun/org/apache/xml/internal/serializer/SerializerBase.java | 15 +++++++ src/com/sun/org/apache/xml/internal/serializer/ToStream.java | 7 ++- src/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java | 10 ++++- 10 files changed, 98 insertions(+), 8 deletions(-) diffs (308 lines): diff -r 7d18bccaec37 -r a98d6a2f14a1 .hgtags --- a/.hgtags Sun Feb 19 22:01:41 2012 -0800 +++ b/.hgtags Wed May 02 13:12:40 2012 -0400 @@ -50,6 +50,7 @@ feb05980f9f2964e6bc2b3a8532f9b3054c2289b jdk7-b73 ea7b88c676dd8b269bc858a4a17c14dc96c8aed1 jdk7-b74 555fb78ee4cebed082ca7ddabff46d2e5b4c9026 jdk7-b75 +fb68fd18eb9f9d94bd7f307097b98a5883018da8 icedtea7-1.12 233a4871d3364ec305efd4a58cfd676620a03a90 jdk7-b76 bfadab8c7b1bf806a49d3e1bc19ec919717f057a jdk7-b77 7a12d3789e1b07a560fc79568b991818d617ede2 jdk7-b78 @@ -63,6 +64,7 @@ 81c0f115bbe5d3bcf59864465b5eca5538567c79 jdk7-b86 8b493f1aa136d86de0885fcba15262c4fa2b1412 jdk7-b87 d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88 +826bafcb6c4abbf24887bfc5a78868e13cddd068 icedtea7-1.13 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89 c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90 b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91 @@ -111,6 +113,7 @@ d56b326ae0544fc16c3e0d0285876f3c82054db2 jdk7-b134 4aa9916693dc1078580c1865e6f2584046851e5a jdk7-b135 1759daa85d33800bd578853f9531f9de73f70fc7 jdk7-b136 +1c2f25bf36b1d43920e94fb82a0afdafd29b1735 icedtea-1.14 1d87f7460cde7f8f30af668490f82b52b879bfd8 jdk7-b137 be3758943770a0a3dd4be6a1cb4063507c4d7062 jdk7-b138 28c7c0ed2444607829ba11ad827f8d52197a2830 jdk7-b139 @@ -123,6 +126,7 @@ bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146 067fb18071e3872698f6218724958bd0cebf30a3 jdk7u1-b01 fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147 +b8d01501956a0d41f5587ff1bebbfe5a9b8fea5a icedtea-2.0-branchpoint 104ca42e1e7ca66b074a4619ce6420f15d8f454d jdk7u1-b02 64e323faadf65018c1ffc8bb9c97f7b664e87347 jdk7u1-b03 2256c20e66857f80cacda14ffdbc0979c929d7f8 jdk7u1-b04 @@ -141,6 +145,7 @@ 0e61ef309edd2deb71f53f2bdaf6dcff1c80bfb8 jdk7u2-b12 d9ac427e5149d1db12c6f3e4aa4280587c06aed5 jdk7u2-b13 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u2-b21 +7300d2ab9fb2068250a96ca4afc481c4beb6a42b icedtea-2.1-branchpoint 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u3-b02 604dd391203960d0028fc95bc70b0ae161e09d99 jdk7u3-b03 551c076358f6691999f613db9b155c83ec9a648d jdk7u3-b04 @@ -157,3 +162,14 @@ 7a37651d304de62b18b343b3ae675ab1b08fc5fe jdk7u4-b10 3fbd87d50fbf4de3987e36ec5f3e8ce1c383ce3d jdk7u4-b11 b4e5df5b18bb75db15ed97da02e5df086d2c7930 jdk7u4-b12 +c51876b27811ba0f6ea3409ba19d357b7400908a icedtea-2.2-branchpoint +7d18bccaec3781f3d4f2d71879f91e257db2f0f7 jdk7u4-b13 +82c5b3166b3194e7348b2a9d146b6760c9a77128 jdk7u4-b14 +36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u4-b15 +5c881231f1161fbc4fe86383ce59dd6a1bbe4f8e jdk7u4-b16 +77a453ae863fee408035c8986f7e3bb22b7252cb jdk7u4-b17 +02400887d8c82eab88933df7167d1f8ab826113f jdk7u4-b18 +eb1f8bea2e93a498a9b9f42d33efad564d960407 jdk7u4-b19 +b08fa5f665726f578674c2d93b21b37a4330b16f jdk7u4-b20 +501dd924118687733a875bdbebfba3f98ca38a6c jdk7u4-b30 +a90108a5e1612782c4ab49a3e7de422cce7280d8 jdk7u4-b21 \ No newline at end of file diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java --- a/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java Wed May 02 13:12:40 2012 -0400 @@ -67,6 +67,8 @@ public String _encoding = "UTF-8"; public boolean _omitHeader = false; public String _standalone = null; + //see OutputPropertiesFactory.ORACLE_IS_STANDALONE + public boolean _isStandalone = false; public String _doctypePublic = null; public String _doctypeSystem = null; public boolean _indent = false; @@ -671,6 +673,7 @@ if (_doctypeSystem != null) { handler.setDoctype(_doctypeSystem, _doctypePublic); } + handler.setIsStandalone(_isStandalone); } else if (_method.equals("html")) { handler.setIndent(_indent); @@ -693,6 +696,7 @@ } handler.setIndent(_indent); handler.setDoctype(_doctypeSystem, _doctypePublic); + handler.setIsStandalone(_isStandalone); } } diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java --- a/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java Wed May 02 13:12:40 2012 -0400 @@ -990,6 +990,11 @@ } } } + else if (name.equals(OutputPropertiesFactory.ORACLE_IS_STANDALONE)) { + if (value != null && value.equals("yes")) { + translet._isStandalone = true; + } + } } } @@ -1049,6 +1054,11 @@ handler.setIndentAmount(Integer.parseInt(value)); } } + else if (name.equals(OutputPropertiesFactory.ORACLE_IS_STANDALONE)) { + if (value != null && value.equals("yes")) { + handler.setIsStandalone(true); + } + } else if (name.equals(OutputKeys.CDATA_SECTION_ELEMENTS)) { if (value != null) { StringTokenizer e = new StringTokenizer(value); @@ -1162,6 +1172,7 @@ name.equals(OutputKeys.OMIT_XML_DECLARATION) || name.equals(OutputKeys.STANDALONE) || name.equals(OutputKeys.VERSION) || + name.equals(OutputPropertiesFactory.ORACLE_IS_STANDALONE) || name.charAt(0) == '{'); } diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory.java --- a/src/com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory.java Wed May 02 13:12:40 2012 -0400 @@ -45,7 +45,7 @@ * @exception DVFactoryException cannot create an instance of the specified * class name or the default class name */ - public static synchronized final DTDDVFactory getInstance() throws DVFactoryException { + public static final DTDDVFactory getInstance() throws DVFactoryException { return getInstance(DEFAULT_FACTORY_CLASS); } @@ -57,19 +57,19 @@ * @exception DVFactoryException cannot create an instance of the specified * class name or the default class name */ - public static synchronized final DTDDVFactory getInstance(String factoryClass) throws DVFactoryException { - + public static final DTDDVFactory getInstance(String factoryClass) throws DVFactoryException { try { // if the class name is not specified, use the default one return (DTDDVFactory) (ObjectFactory.newInstance(factoryClass, true)); - } catch (ClassCastException e) { + } + catch (ClassCastException e) { throw new DVFactoryException("DTD factory class " + factoryClass + " does not extend from DTDDVFactory."); } } // can't create a new object of this class - protected DTDDVFactory(){} + protected DTDDVFactory() {} /** * return a dtd type of the given name diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xml/internal/serializer/EmptySerializer.java --- a/src/com/sun/org/apache/xml/internal/serializer/EmptySerializer.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xml/internal/serializer/EmptySerializer.java Wed May 02 13:12:40 2012 -0400 @@ -179,6 +179,13 @@ aMethodIsCalled(); } /** + * @see SerializationHandler#setIsStandalone(boolean) + */ + public void setIsStandalone(boolean isStandalone) + { + aMethodIsCalled(); + } + /** * @see SerializationHandler#setOutputFormat(java.util.Properties) */ public void setOutputFormat(Properties format) diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java --- a/src/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java Wed May 02 13:12:40 2012 -0400 @@ -175,6 +175,26 @@ public static final int S_BUILTIN_OLD_EXTENSIONS_UNIVERSAL_LEN = S_BUILTIN_OLD_EXTENSIONS_UNIVERSAL.length(); + /** + * This non-standard, Oracle-impl only property key is used as if OutputKeys.STANDALONE is specified but + * without writing it out in the declaration; It can be used to reverse the change by Xalan patch 1495. + * Since Xalan patch 1495 can cause incompatible behavior, this property is add for application to neutralize + * the effect of Xalan patch 1495 + */ + /** + *

Is Standalone

+ * + *
    + *
  • + * yes to indicate the output is intended to be used as standalone + *
  • + *
  • + * no has no effect. + *
  • + *
+ */ + public static final String ORACLE_IS_STANDALONE = "http://www.oracle.com/xml/is-standalone"; + //************************************************************ //* PRIVATE CONSTANTS //************************************************************ diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java --- a/src/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java Wed May 02 13:12:40 2012 -0400 @@ -124,5 +124,11 @@ */ public void setDTDEntityExpansion(boolean expand); + /** + * Specify if the output will be treated as a standalone property + * @param isStandalone true if the http://www.oracle.com/xml/is-standalone is set to yes + * @see OutputPropertiesFactory ORACLE_IS_STANDALONE + */ + public void setIsStandalone(boolean b); } diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xml/internal/serializer/SerializerBase.java --- a/src/com/sun/org/apache/xml/internal/serializer/SerializerBase.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xml/internal/serializer/SerializerBase.java Wed May 02 13:12:40 2012 -0400 @@ -143,6 +143,11 @@ protected boolean m_standaloneWasSpecified = false; /** + * Determine if the output is a standalone. + */ + protected boolean m_isStandalone = false; + + /** * Flag to tell if indenting (pretty-printing) is on. */ protected boolean m_doIndent = false; @@ -740,6 +745,16 @@ } /** + * Sets the isStandalone property + * @param isStandalone true if the ORACLE_IS_STANDALONE is set to yes + * @see OutputPropertiesFactory ORACLE_IS_STANDALONE + */ + public void setIsStandalone(boolean isStandalone) + { + m_isStandalone = isStandalone; + } + + /** * This method is used when a prefix/uri namespace mapping * is indicated after the element was started with a * startElement() and before and endElement(). diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xml/internal/serializer/ToStream.java --- a/src/com/sun/org/apache/xml/internal/serializer/ToStream.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xml/internal/serializer/ToStream.java Wed May 02 13:12:40 2012 -0400 @@ -2393,12 +2393,15 @@ try { + if (shouldIndent() && m_isStandalone) + indent(); + final int limit = start + length; boolean wasDash = false; if (m_cdataTagOpen) closeCDATA(); - if (shouldIndent()) + if (shouldIndent() && !m_isStandalone) indent(); final java.io.Writer writer = m_writer; @@ -2690,7 +2693,7 @@ */ protected boolean shouldIndent() { - return m_doIndent && (!m_ispreserve && !m_isprevtext) && m_elemContext.m_currentElemDepth > 0; + return m_doIndent && (!m_ispreserve && !m_isprevtext) && (m_elemContext.m_currentElemDepth > 0 || m_isStandalone); } /** diff -r 7d18bccaec37 -r a98d6a2f14a1 src/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java --- a/src/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java Sun Feb 19 22:01:41 2012 -0800 +++ b/src/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java Wed May 02 13:12:40 2012 -0400 @@ -163,7 +163,8 @@ if (m_doIndent) { if (m_standaloneWasSpecified || getDoctypePublic() != null - || getDoctypeSystem() != null) { + || getDoctypeSystem() != null + || m_isStandalone) { // We almost never put a newline after the XML // header because this XML could be used as // an extenal general parsed entity @@ -326,6 +327,13 @@ writer.write('?'); writer.write('>'); + /** + * Before Xalan 1497, a newline char was printed out if not inside of an + * element. The whitespace is not significant if the output is standalone + */ + if (m_elemContext.m_currentElemDepth <= 0 && m_isStandalone) + writer.write(m_lineSep, 0, m_lineSepLen); + /* * Don't write out any indentation whitespace now, * because there may be non-whitespace text after this. From dbhole at icedtea.classpath.org Wed May 2 13:55:49 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:55:49 +0000 Subject: /hg/release/icedtea7-forest-2.2/jaxws: 11 new changesets Message-ID: changeset 0f8963feaefd in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=0f8963feaefd author: katleman date: Thu Feb 23 15:14:31 2012 -0800 Added tag jdk7u4-b13 for changeset c3b6659aa169 changeset 61516652b59e in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=61516652b59e author: katleman date: Thu Mar 01 13:44:57 2012 -0800 Added tag jdk7u4-b14 for changeset 0f8963feaefd changeset f315a2603575 in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=f315a2603575 author: katleman date: Thu Mar 08 11:19:37 2012 -0800 Added tag jdk7u4-b15 for changeset 61516652b59e changeset 2579444eddbd in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=2579444eddbd author: katleman date: Fri Mar 16 07:29:43 2012 -0700 Added tag jdk7u4-b16 for changeset f315a2603575 changeset 5ccaa7bb5f64 in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=5ccaa7bb5f64 author: katleman date: Thu Mar 22 14:11:11 2012 -0700 Added tag jdk7u4-b17 for changeset 2579444eddbd changeset c2af5c42dc5e in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=c2af5c42dc5e author: cl date: Thu Mar 29 15:42:33 2012 -0700 Added tag jdk7u4-b18 for changeset 5ccaa7bb5f64 changeset ee1f14434585 in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=ee1f14434585 author: katleman date: Thu Apr 05 15:10:38 2012 -0700 Added tag jdk7u4-b19 for changeset c2af5c42dc5e changeset 0eb54a680b09 in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=0eb54a680b09 author: katleman date: Thu Apr 12 14:15:57 2012 -0700 Added tag jdk7u4-b20 for changeset ee1f14434585 changeset 38baffe9be46 in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=38baffe9be46 author: katleman date: Mon Apr 16 15:03:52 2012 -0700 Added tag jdk7u4-b30 for changeset 0eb54a680b09 changeset a404a5179e6a in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=a404a5179e6a author: katleman date: Fri Apr 20 11:09:30 2012 -0700 Added tag jdk7u4-b21 for changeset 38baffe9be46 changeset 78ae35b1ed35 in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=78ae35b1ed35 author: Deepak Bhole date: Wed May 02 13:15:42 2012 -0400 Merge diffstat: .hgtags | 16 + build.properties | 5 +- patches/jaxws_src/xjc.patch | 17 + sources/jaf_src/LICENSE | 347 + sources/jaf_src/src/META-INF/mailcap.default | 7 + sources/jaf_src/src/META-INF/mimetypes.default | 24 + sources/jaf_src/src/com/sun/activation/registries/LogSupport.java | 70 + sources/jaf_src/src/com/sun/activation/registries/MailcapFile.java | 563 + sources/jaf_src/src/com/sun/activation/registries/MailcapParseException.java | 40 + sources/jaf_src/src/com/sun/activation/registries/MailcapTokenizer.java | 321 + sources/jaf_src/src/com/sun/activation/registries/MimeTypeEntry.java | 50 + sources/jaf_src/src/com/sun/activation/registries/MimeTypeFile.java | 317 + sources/jaf_src/src/javax/activation/ActivationDataFlavor.java | 250 + sources/jaf_src/src/javax/activation/CommandInfo.java | 138 + sources/jaf_src/src/javax/activation/CommandMap.java | 220 + sources/jaf_src/src/javax/activation/CommandObject.java | 54 + sources/jaf_src/src/javax/activation/DataContentHandler.java | 101 + sources/jaf_src/src/javax/activation/DataContentHandlerFactory.java | 48 + sources/jaf_src/src/javax/activation/DataHandler.java | 894 ++ sources/jaf_src/src/javax/activation/DataSource.java | 86 + sources/jaf_src/src/javax/activation/FileDataSource.java | 158 + sources/jaf_src/src/javax/activation/FileTypeMap.java | 118 + sources/jaf_src/src/javax/activation/MailcapCommandMap.java | 701 ++ sources/jaf_src/src/javax/activation/MimeType.java | 344 + sources/jaf_src/src/javax/activation/MimeTypeParameterList.java | 339 + sources/jaf_src/src/javax/activation/MimeTypeParseException.java | 50 + sources/jaf_src/src/javax/activation/MimetypesFileTypeMap.java | 336 + sources/jaf_src/src/javax/activation/SecuritySupport.java | 131 + sources/jaf_src/src/javax/activation/URLDataSource.java | 137 + sources/jaf_src/src/javax/activation/UnsupportedDataTypeException.java | 57 + sources/jaxws_src/LICENSE | 347 + sources/jaxws_src/src/com/sun/codemodel/internal/ClassType.java | 49 + sources/jaxws_src/src/com/sun/codemodel/internal/CodeWriter.java | 105 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnnotatable.java | 65 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnnotationArrayMember.java | 298 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnnotationStringValue.java | 50 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnnotationUse.java | 426 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnnotationValue.java | 35 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnnotationWriter.java | 53 + sources/jaxws_src/src/com/sun/codemodel/internal/JAnonymousClass.java | 56 + sources/jaxws_src/src/com/sun/codemodel/internal/JArray.java | 87 + sources/jaxws_src/src/com/sun/codemodel/internal/JArrayClass.java | 123 + sources/jaxws_src/src/com/sun/codemodel/internal/JArrayCompRef.java | 71 + sources/jaxws_src/src/com/sun/codemodel/internal/JAssignment.java | 57 + sources/jaxws_src/src/com/sun/codemodel/internal/JAssignmentTarget.java | 39 + sources/jaxws_src/src/com/sun/codemodel/internal/JAtom.java | 43 + sources/jaxws_src/src/com/sun/codemodel/internal/JBlock.java | 454 + sources/jaxws_src/src/com/sun/codemodel/internal/JBreak.java | 52 + sources/jaxws_src/src/com/sun/codemodel/internal/JCase.java | 84 + sources/jaxws_src/src/com/sun/codemodel/internal/JCast.java | 62 + sources/jaxws_src/src/com/sun/codemodel/internal/JCatchBlock.java | 60 + sources/jaxws_src/src/com/sun/codemodel/internal/JClass.java | 356 + sources/jaxws_src/src/com/sun/codemodel/internal/JClassAlreadyExistsException.java | 53 + sources/jaxws_src/src/com/sun/codemodel/internal/JClassContainer.java | 165 + sources/jaxws_src/src/com/sun/codemodel/internal/JCodeModel.java | 667 + sources/jaxws_src/src/com/sun/codemodel/internal/JCommentPart.java | 137 + sources/jaxws_src/src/com/sun/codemodel/internal/JConditional.java | 105 + sources/jaxws_src/src/com/sun/codemodel/internal/JContinue.java | 53 + sources/jaxws_src/src/com/sun/codemodel/internal/JDeclaration.java | 38 + sources/jaxws_src/src/com/sun/codemodel/internal/JDefinedClass.java | 898 ++ sources/jaxws_src/src/com/sun/codemodel/internal/JDirectClass.java | 82 + sources/jaxws_src/src/com/sun/codemodel/internal/JDoLoop.java | 72 + sources/jaxws_src/src/com/sun/codemodel/internal/JDocComment.java | 197 + sources/jaxws_src/src/com/sun/codemodel/internal/JDocCommentable.java | 38 + sources/jaxws_src/src/com/sun/codemodel/internal/JEnumConstant.java | 160 + sources/jaxws_src/src/com/sun/codemodel/internal/JExpr.java | 289 + sources/jaxws_src/src/com/sun/codemodel/internal/JExpression.java | 150 + sources/jaxws_src/src/com/sun/codemodel/internal/JExpressionImpl.java | 165 + sources/jaxws_src/src/com/sun/codemodel/internal/JFieldRef.java | 119 + sources/jaxws_src/src/com/sun/codemodel/internal/JFieldVar.java | 91 + sources/jaxws_src/src/com/sun/codemodel/internal/JForEach.java | 75 + sources/jaxws_src/src/com/sun/codemodel/internal/JForLoop.java | 88 + sources/jaxws_src/src/com/sun/codemodel/internal/JFormatter.java | 555 + sources/jaxws_src/src/com/sun/codemodel/internal/JGenerable.java | 38 + sources/jaxws_src/src/com/sun/codemodel/internal/JGenerifiable.java | 56 + sources/jaxws_src/src/com/sun/codemodel/internal/JGenerifiableImpl.java | 79 + sources/jaxws_src/src/com/sun/codemodel/internal/JInvocation.java | 186 + sources/jaxws_src/src/com/sun/codemodel/internal/JJavaName.java | 252 + sources/jaxws_src/src/com/sun/codemodel/internal/JLabel.java | 52 + sources/jaxws_src/src/com/sun/codemodel/internal/JMethod.java | 474 + sources/jaxws_src/src/com/sun/codemodel/internal/JMod.java | 44 + sources/jaxws_src/src/com/sun/codemodel/internal/JMods.java | 158 + sources/jaxws_src/src/com/sun/codemodel/internal/JNarrowedClass.java | 226 + sources/jaxws_src/src/com/sun/codemodel/internal/JNullType.java | 64 + sources/jaxws_src/src/com/sun/codemodel/internal/JOp.java | 254 + sources/jaxws_src/src/com/sun/codemodel/internal/JPackage.java | 474 + sources/jaxws_src/src/com/sun/codemodel/internal/JPrimitiveType.java | 123 + sources/jaxws_src/src/com/sun/codemodel/internal/JResourceFile.java | 65 + sources/jaxws_src/src/com/sun/codemodel/internal/JReturn.java | 55 + sources/jaxws_src/src/com/sun/codemodel/internal/JStatement.java | 38 + sources/jaxws_src/src/com/sun/codemodel/internal/JStringLiteral.java | 48 + sources/jaxws_src/src/com/sun/codemodel/internal/JSwitch.java | 90 + sources/jaxws_src/src/com/sun/codemodel/internal/JThrow.java | 56 + sources/jaxws_src/src/com/sun/codemodel/internal/JTryBlock.java | 69 + sources/jaxws_src/src/com/sun/codemodel/internal/JType.java | 182 + sources/jaxws_src/src/com/sun/codemodel/internal/JTypeVar.java | 121 + sources/jaxws_src/src/com/sun/codemodel/internal/JTypeWildcard.java | 109 + sources/jaxws_src/src/com/sun/codemodel/internal/JVar.java | 216 + sources/jaxws_src/src/com/sun/codemodel/internal/JWhileLoop.java | 73 + sources/jaxws_src/src/com/sun/codemodel/internal/TypedAnnotationWriter.java | 250 + sources/jaxws_src/src/com/sun/codemodel/internal/fmt/JBinaryFile.java | 62 + sources/jaxws_src/src/com/sun/codemodel/internal/fmt/JPropertyFile.java | 61 + sources/jaxws_src/src/com/sun/codemodel/internal/fmt/JSerializedObject.java | 61 + sources/jaxws_src/src/com/sun/codemodel/internal/fmt/JStaticFile.java | 80 + sources/jaxws_src/src/com/sun/codemodel/internal/fmt/JStaticJavaFile.java | 239 + sources/jaxws_src/src/com/sun/codemodel/internal/fmt/JTextFile.java | 59 + sources/jaxws_src/src/com/sun/codemodel/internal/package-info.java | 115 + sources/jaxws_src/src/com/sun/codemodel/internal/util/ClassNameComparator.java | 46 + sources/jaxws_src/src/com/sun/codemodel/internal/util/EncoderFactory.java | 73 + sources/jaxws_src/src/com/sun/codemodel/internal/util/JavadocEscapeWriter.java | 85 + sources/jaxws_src/src/com/sun/codemodel/internal/util/MS1252Encoder.java | 223 + sources/jaxws_src/src/com/sun/codemodel/internal/util/SingleByteEncoder.java | 159 + sources/jaxws_src/src/com/sun/codemodel/internal/util/Surrogate.java | 355 + sources/jaxws_src/src/com/sun/codemodel/internal/util/UnicodeEscapeWriter.java | 90 + sources/jaxws_src/src/com/sun/codemodel/internal/writer/FileCodeWriter.java | 103 + sources/jaxws_src/src/com/sun/codemodel/internal/writer/FilterCodeWriter.java | 58 + sources/jaxws_src/src/com/sun/codemodel/internal/writer/ProgressCodeWriter.java | 72 + sources/jaxws_src/src/com/sun/codemodel/internal/writer/PrologCodeWriter.java | 87 + sources/jaxws_src/src/com/sun/codemodel/internal/writer/SingleStreamCodeWriter.java | 77 + sources/jaxws_src/src/com/sun/codemodel/internal/writer/ZipCodeWriter.java | 77 + sources/jaxws_src/src/com/sun/istack/internal/Builder.java | 34 + sources/jaxws_src/src/com/sun/istack/internal/ByteArrayDataSource.java | 70 + sources/jaxws_src/src/com/sun/istack/internal/FinalArrayList.java | 50 + sources/jaxws_src/src/com/sun/istack/internal/FragmentContentHandler.java | 57 + sources/jaxws_src/src/com/sun/istack/internal/Interned.java | 55 + sources/jaxws_src/src/com/sun/istack/internal/NotNull.java | 43 + sources/jaxws_src/src/com/sun/istack/internal/Nullable.java | 43 + sources/jaxws_src/src/com/sun/istack/internal/Pool.java | 116 + sources/jaxws_src/src/com/sun/istack/internal/SAXException2.java | 52 + sources/jaxws_src/src/com/sun/istack/internal/SAXParseException2.java | 57 + sources/jaxws_src/src/com/sun/istack/internal/XMLStreamException2.java | 63 + sources/jaxws_src/src/com/sun/istack/internal/XMLStreamReaderToContentHandler.java | 388 + sources/jaxws_src/src/com/sun/istack/internal/localization/Localizable.java | 63 + sources/jaxws_src/src/com/sun/istack/internal/localization/LocalizableMessage.java | 56 + sources/jaxws_src/src/com/sun/istack/internal/localization/LocalizableMessageFactory.java | 43 + sources/jaxws_src/src/com/sun/istack/internal/localization/Localizer.java | 149 + sources/jaxws_src/src/com/sun/istack/internal/logging/Logger.java | 459 + sources/jaxws_src/src/com/sun/istack/internal/package-info.java | 29 + sources/jaxws_src/src/com/sun/istack/internal/tools/APTTypeVisitor.java | 73 + sources/jaxws_src/src/com/sun/istack/internal/tools/MaskingClassLoader.java | 69 + sources/jaxws_src/src/com/sun/istack/internal/tools/ParallelWorldClassLoader.java | 140 + sources/jaxws_src/src/com/sun/istack/internal/tools/package-info.java | 32 + sources/jaxws_src/src/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java | 108 + sources/jaxws_src/src/com/sun/istack/internal/ws/package-info.java | 39 + sources/jaxws_src/src/com/sun/org/glassfish/external/amx/AMX.java | 144 + sources/jaxws_src/src/com/sun/org/glassfish/external/amx/AMXGlassfish.java | 318 + sources/jaxws_src/src/com/sun/org/glassfish/external/amx/AMXUtil.java | 79 + sources/jaxws_src/src/com/sun/org/glassfish/external/amx/BootAMXMBean.java | 48 + sources/jaxws_src/src/com/sun/org/glassfish/external/amx/MBeanListener.java | 330 + sources/jaxws_src/src/com/sun/org/glassfish/external/arc/Stability.java | 329 + sources/jaxws_src/src/com/sun/org/glassfish/external/arc/Taxonomy.java | 48 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/PluginPoint.java | 54 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/StatsProvider.java | 39 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/StatsProviderInfo.java | 86 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/StatsProviderManager.java | 137 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/StatsProviderManagerDelegate.java | 40 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/annotations/Probe.java | 51 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/annotations/ProbeListener.java | 47 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/annotations/ProbeParam.java | 47 + sources/jaxws_src/src/com/sun/org/glassfish/external/probe/provider/annotations/ProbeProvider.java | 50 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/AverageRangeStatistic.java | 46 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/BoundaryStatistic.java | 43 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/BoundedRangeStatistic.java | 33 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/CountStatistic.java | 38 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/RangeStatistic.java | 48 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/Statistic.java | 59 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/Stats.java | 46 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/StringStatistic.java | 47 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/TimeStatistic.java | 53 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/annotations/Reset.java | 44 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/AverageRangeStatisticImpl.java | 155 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/BoundaryStatisticImpl.java | 96 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/BoundedRangeStatisticImpl.java | 160 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/CountStatisticImpl.java | 118 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/RangeStatisticImpl.java | 140 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/StatisticImpl.java | 136 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/StatsImpl.java | 79 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/StringStatisticImpl.java | 105 + sources/jaxws_src/src/com/sun/org/glassfish/external/statistics/impl/TimeStatisticImpl.java | 160 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/AMXClient.java | 274 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/AMXMBeanInterface.java | 75 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/AMXMetadata.java | 121 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/Description.java | 62 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/DescriptorFields.java | 141 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/DescriptorKey.java | 214 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/GmbalException.java | 47 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/GmbalMBean.java | 39 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/GmbalMBeanNOPImpl.java | 101 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/Impact.java | 60 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/IncludeSubclass.java | 51 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/InheritedAttribute.java | 74 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/InheritedAttributes.java | 44 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedAttribute.java | 80 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedData.java | 65 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedObject.java | 43 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedObjectManager.java | 371 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedObjectManagerFactory.java | 132 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedObjectManagerNOPImpl.java | 175 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ManagedOperation.java | 46 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/NameValue.java | 43 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/ParameterNames.java | 48 + sources/jaxws_src/src/com/sun/org/glassfish/gmbal/util/GenericConstructor.java | 127 + sources/jaxws_src/src/com/sun/tools/etc/META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory | 1 + sources/jaxws_src/src/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin | 5 + sources/jaxws_src/src/com/sun/tools/internal/jxc/ConfigReader.java | 283 + sources/jaxws_src/src/com/sun/tools/internal/jxc/MessageBundle.properties | 48 + sources/jaxws_src/src/com/sun/tools/internal/jxc/Messages.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/jxc/NGCCRuntimeEx.java | 168 + sources/jaxws_src/src/com/sun/tools/internal/jxc/SchemaGenerator.java | 239 + sources/jaxws_src/src/com/sun/tools/internal/jxc/SchemaGeneratorFacade.java | 56 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/AnnotationParser.java | 121 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/Const.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java | 86 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java | 168 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/MessageBundle.properties | 33 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/Messages.java | 52 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/Options.java | 110 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/SchemaGenerator.java | 142 + sources/jaxws_src/src/com/sun/tools/internal/jxc/apt/package.html | 31 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java | 626 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Classes.java | 334 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Config.java | 332 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java | 50 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java | 191 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java | 350 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java | 555 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Schema.java | 327 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/config.rng | 131 + sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/config.xsd | 67 + sources/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java | 556 + sources/jaxws_src/src/com/sun/tools/internal/ws/Invoker.java | 292 + sources/jaxws_src/src/com/sun/tools/internal/ws/ToolVersion.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/ws/WsGen.java | 61 + sources/jaxws_src/src/com/sun/tools/internal/ws/WsImport.java | 61 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/WsgenExtension.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/WsgenProtocol.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java | 80 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java | 39 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java | 216 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java | 43 + sources/jaxws_src/src/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java | 82 + sources/jaxws_src/src/com/sun/tools/internal/ws/package-info.java | 127 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/ProcessorException.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/CustomExceptionGenerator.java | 163 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java | 230 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/GeneratorConstants.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/GeneratorException.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/GeneratorUtil.java | 67 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/JavaGeneratorExtensionFacade.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/Names.java | 179 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java | 470 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java | 379 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java | 97 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/AbstractType.java | 145 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/AsyncOperation.java | 133 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/AsyncOperationType.java | 43 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Block.java | 78 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/ExtendedModelVisitor.java | 138 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Fault.java | 178 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/HeaderFault.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Message.java | 233 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Model.java | 158 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/ModelException.java | 56 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/ModelObject.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/ModelProperties.java | 76 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/ModelVisitor.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Operation.java | 257 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Parameter.java | 193 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Port.java | 179 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Request.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Response.java | 74 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/Service.java | 120 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/exporter/ExternalObject.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaArrayType.java | 77 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaException.java | 39 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaInterface.java | 166 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaParameter.java | 96 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaSimpleType.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaStructureMember.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaStructureType.java | 175 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/java/JavaType.java | 145 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBElementMember.java | 100 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBMapping.java | 101 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBModel.java | 141 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBProperty.java | 93 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBStructuredType.java | 138 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java | 124 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeAndAnnotation.java | 78 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeVisitor.java | 37 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitMember.java | 85 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitStructure.java | 92 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/model/jaxb/Util.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/JavaSimpleTypeCreator.java | 164 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/Modeler.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/ModelerConstants.java | 103 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/ModelerException.java | 57 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/AnnotationProcessorContext.java | 185 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/FaultInfo.java | 87 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/MakeSafeTypeVisitor.java | 93 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/MemberInfo.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/ModelBuilder.java | 73 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/TypeModeler.java | 185 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMoniker.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMonikerFactory.java | 112 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java | 435 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceConstants.java | 95 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java | 814 ++ sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java | 537 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/annotation/WrapperInfo.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/AccessorElement.java | 74 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/ClassNameAllocatorImpl.java | 78 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java | 101 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/JAXBModelBuilder.java | 148 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/ModelerUtils.java | 281 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java | 311 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java | 2778 ++++++++ sources/jaxws_src/src/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java | 785 ++ sources/jaxws_src/src/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java | 263 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/util/DirectoryUtil.java | 110 + sources/jaxws_src/src/com/sun/tools/internal/ws/processor/util/IndentingWriter.java | 330 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/ConfigurationMessages.java | 67 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/GeneratorMessages.java | 127 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/JavacompilerMessages.java | 79 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/ModelMessages.java | 709 ++ sources/jaxws_src/src/com/sun/tools/internal/ws/resources/ModelerMessages.java | 1628 ++++ sources/jaxws_src/src/com/sun/tools/internal/ws/resources/ProcessorMessages.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/UtilMessages.java | 79 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/WebserviceapMessages.java | 919 ++ sources/jaxws_src/src/com/sun/tools/internal/ws/resources/WscompileMessages.java | 879 ++ sources/jaxws_src/src/com/sun/tools/internal/ws/resources/WsdlMessages.java | 1035 +++ sources/jaxws_src/src/com/sun/tools/internal/ws/resources/configuration.properties | 27 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/generator.properties | 36 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/javacompiler.properties | 31 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/model.properties | 92 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/modeler.properties | 219 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/processor.properties | 26 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/util.properties | 28 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/webserviceap.properties | 158 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/wscompile.properties | 220 + sources/jaxws_src/src/com/sun/tools/internal/ws/resources/wsdl.properties | 141 + sources/jaxws_src/src/com/sun/tools/internal/ws/spi/WSToolsObjectFactory.java | 100 + sources/jaxws_src/src/com/sun/tools/internal/ws/spi/package-info.java | 32 + sources/jaxws_src/src/com/sun/tools/internal/ws/util/ClassNameInfo.java | 73 + sources/jaxws_src/src/com/sun/tools/internal/ws/util/ForkEntityResolver.java | 54 + sources/jaxws_src/src/com/sun/tools/internal/ws/util/WSDLFetcher.java | 227 + sources/jaxws_src/src/com/sun/tools/internal/ws/util/WSDLParseException.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/ws/util/WSToolsObjectFactoryImpl.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/ws/util/xml/XmlUtil.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/ws/version.properties | 28 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/AbortException.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/AuthInfo.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/DefaultAuthenticator.java | 155 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java | 158 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java | 85 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/FilerCodeWriter.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java | 94 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/Options.java | 414 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/WSCodeWriter.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/WsgenOptions.java | 293 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/WsgenTool.java | 432 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/WsimportListener.java | 89 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/WsimportOptions.java | 448 + sources/jaxws_src/src/com/sun/tools/internal/ws/wscompile/WsimportTool.java | 473 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Binding.java | 170 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/BindingFault.java | 118 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/BindingInput.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/BindingOperation.java | 225 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/BindingOutput.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Definitions.java | 232 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Documentation.java | 52 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Fault.java | 157 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Import.java | 88 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Input.java | 150 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Kinds.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Message.java | 121 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/MessagePart.java | 156 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Operation.java | 255 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/OperationStyle.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Output.java | 149 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Port.java | 159 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/PortType.java | 156 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Service.java | 126 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/Types.java | 113 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/WSDLConstants.java | 59 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/WSDLDocument.java | 171 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitor.java | 70 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitorBase.java | 105 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/http/HTTPAddress.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/http/HTTPBinding.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/http/HTTPConstants.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/http/HTTPOperation.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlEncoded.java | 50 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlReplacement.java | 50 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/jaxws/CustomName.java | 79 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/jaxws/Exception.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java | 328 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBindingsConstants.java | 194 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/jaxws/Parameter.java | 103 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/mime/MIMEConstants.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/mime/MIMEContent.java | 69 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/mime/MIMEMultipartRelated.java | 80 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/mime/MIMEPart.java | 90 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/mime/MIMEXml.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/schema/SchemaConstants.java | 151 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/schema/SchemaKinds.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Binding.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Constants.java | 239 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPAddress.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBinding.java | 78 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBody.java | 99 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPConstants.java | 259 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPFault.java | 100 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeader.java | 155 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeaderFault.java | 123 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPOperation.java | 78 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPStyle.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/document/soap/SOAPUse.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java | 187 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/Defining.java | 35 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/DuplicateEntityException.java | 58 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/Elemental.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/Entity.java | 105 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/EntityAction.java | 35 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceAction.java | 37 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceValidator.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ExtensibilityHelper.java | 76 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ExtensionImpl.java | 57 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitor.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitorBase.java | 43 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ExternalEntityReference.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/GlobalEntity.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/GloballyKnown.java | 37 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/Identifiable.java | 35 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/Kind.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/NoSuchEntityException.java | 50 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ParseException.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ParserListener.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/QNameAction.java | 37 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/TWSDLParserContextImpl.java | 193 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/framework/WSDLLocation.java | 101 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/AbstractExtensionHandler.java | 84 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java | 109 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/Constants.java | 145 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java | 125 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java | 388 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/DOMForestParser.java | 95 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java | 176 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/HTTPExtensionHandler.java | 216 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java | 107 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java | 655 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/JAXWSBindingExtensionHandler.java | 666 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/MIMEExtensionHandler.java | 228 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java | 64 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java | 363 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java | 99 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/Policy12ExtensionHandler.java | 107 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/Policy15ExtensionHandler.java | 107 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/SOAP12ExtensionHandler.java | 109 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/SOAPEntityReferenceValidator.java | 217 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java | 484 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/Util.java | 181 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java | 136 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java | 89 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingMetadataExtensionHandler.java | 99 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java | 147 + sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java | 1129 +++ sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java | 122 + sources/jaxws_src/src/com/sun/tools/internal/xjc/AbortException.java | 43 + sources/jaxws_src/src/com/sun/tools/internal/xjc/BadCommandLineException.java | 59 + sources/jaxws_src/src/com/sun/tools/internal/xjc/ClassLoaderBuilder.java | 122 + sources/jaxws_src/src/com/sun/tools/internal/xjc/ConsoleErrorReporter.java | 83 + sources/jaxws_src/src/com/sun/tools/internal/xjc/Driver.java | 516 + sources/jaxws_src/src/com/sun/tools/internal/xjc/ErrorReceiver.java | 172 + sources/jaxws_src/src/com/sun/tools/internal/xjc/Language.java | 37 + sources/jaxws_src/src/com/sun/tools/internal/xjc/MessageBundle.properties | 226 + sources/jaxws_src/src/com/sun/tools/internal/xjc/Messages.java | 190 + sources/jaxws_src/src/com/sun/tools/internal/xjc/ModelLoader.java | 582 + sources/jaxws_src/src/com/sun/tools/internal/xjc/Options.java | 1017 +++ sources/jaxws_src/src/com/sun/tools/internal/xjc/Plugin.java | 245 + sources/jaxws_src/src/com/sun/tools/internal/xjc/ProgressCodeWriter.java | 74 + sources/jaxws_src/src/com/sun/tools/internal/xjc/SchemaCache.java | 120 + sources/jaxws_src/src/com/sun/tools/internal/xjc/XJCFacade.java | 79 + sources/jaxws_src/src/com/sun/tools/internal/xjc/XJCListener.java | 119 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/accessors/PluginImpl.java | 93 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/code_injector/Const.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java | 82 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java | 311 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/episode/package-info.java | 30 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/locator/SourceLocationAddOn.java | 93 + sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/sync/SynchronizedMethodAddOn.java | 75 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/ClassNameAllocator.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/ErrorListener.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/J2SJAXBModel.java | 82 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/JAXBModel.java | 59 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/JavaCompiler.java | 83 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/Mapping.java | 99 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/Property.java | 87 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/Reference.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/S2JJAXBModel.java | 112 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/SchemaCompiler.java | 254 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/SpecVersion.java | 59 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/XJC.java | 76 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java | 195 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java | 108 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java | 188 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java | 131 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java | 118 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java | 91 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java | 88 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/JAXBModelImpl.java | 118 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java | 75 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java | 323 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java | 113 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/impl/s2j/package.html | 30 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/package.html | 64 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/APTClassLoader.java | 147 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java | 81 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/Messages.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/Messages.properties | 27 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java | 51 + sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/package.html | 30 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/ri/OverrideAnnotationOfWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/ri/XmlIsSetWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/ri/XmlLocationWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java | 39 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java | 39 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java | 43 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java | 51 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java | 51 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java | 41 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java | 45 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java | 45 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java | 41 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java | 49 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java | 831 ++ sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java | 75 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java | 104 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java | 216 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties | 47 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/Messages.java | 54 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java | 88 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGenerator.java | 58 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java | 384 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java | 258 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java | 71 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java | 50 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java | 491 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java | 120 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java | 225 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java | 225 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/ConstField.java | 110 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java | 56 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/ContentListField.java | 177 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java | 104 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/DummyListField.java | 153 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java | 84 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java | 95 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/GenericFieldRenderer.java | 71 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/IsSetField.java | 123 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties | 30 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/Messages.java | 49 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/NoExtendedContentField.java | 188 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java | 166 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java | 121 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/UntypedListField.java | 167 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java | 64 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/package.html | 30 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/package-info.java | 32 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/util/BlockReference.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/util/ExistingBlockReference.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/util/LazyBlockReference.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/util/WhitespaceNormalizer.java | 101 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/AbstractCElement.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java | 111 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java | 71 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CAdapter.java | 119 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CArrayInfo.java | 99 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java | 92 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java | 325 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CClass.java | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CClassInfo.java | 501 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CClassInfoParent.java | 83 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CClassRef.java | 134 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CCustomizable.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CCustomizations.java | 144 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CDefaultValue.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CElement.java | 47 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CElementInfo.java | 297 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java | 213 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CEnumConstant.java | 96 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CEnumLeafInfo.java | 277 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CNonElement.java | 59 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CPluginCustomization.java | 80 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CPropertyInfo.java | 334 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CPropertyVisitor.java | 43 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java | 239 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java | 95 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CTypeInfo.java | 54 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CTypeRef.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java | 64 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Constructor.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Model.java | 491 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Multiplicity.java | 206 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Populatable.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/SymbolSpace.java | 80 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/TypeUse.java | 107 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/TypeUseFactory.java | 82 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/TypeUseImpl.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/EagerNClass.java | 73 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/EagerNType.java | 74 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NClass.java | 39 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java | 57 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java | 78 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NType.java | 77 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java | 330 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/package.html | 42 + sources/jaxws_src/src/com/sun/tools/internal/xjc/model/package-info.java | 61 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/Aspect.java | 64 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/ClassOutline.java | 125 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/ElementOutline.java | 72 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java | 58 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/EnumOutline.java | 77 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/FieldAccessor.java | 104 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/FieldOutline.java | 70 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/Outline.java | 133 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/PackageOutline.java | 96 + sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/package.html | 36 + sources/jaxws_src/src/com/sun/tools/internal/xjc/package-info.java | 90 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java | 210 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Const.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/ExtensionBindingChecker.java | 137 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/MessageBundle.properties | 73 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Messages.java | 59 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/ModelChecker.java | 101 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/RawTypeSet.java | 227 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Ring.java | 132 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/TypeUtil.java | 267 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Util.java | 80 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/Block.java | 50 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/Element.java | 314 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties | 48 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/Messages.java | 64 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/ModelGroup.java | 138 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/Occurence.java | 83 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/TDTDReader.java | 463 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/Term.java | 62 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIAttribute.java | 107 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConstructor.java | 90 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIContent.java | 138 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConversion.java | 40 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIElement.java | 273 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIEnumeration.java | 112 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIInterface.java | 96 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIUserConversion.java | 226 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BindInfo.java | 332 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMBuilder.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMLocator.java | 70 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMUtil.java | 108 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DTDExtensionBindingChecker.java | 89 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/MessageBundle.properties | 28 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/Messages.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.rng | 317 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.xsd | 271 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/package.html | 26 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/dtd/bindinfo/xjc.xsd | 51 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/Choice.java | 69 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/ConnectedComponent.java | 98 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/Element.java | 228 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/ElementSet.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/ElementSets.java | 84 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/Expression.java | 72 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/Graph.java | 88 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/OneOrMore.java | 58 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/Sequence.java | 85 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/SinkNode.java | 41 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/SourceNode.java | 41 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/gbind/package.html | 32 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/ContentHandlerNamespacePrefixAdapter.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/DOMBuilder.java | 102 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java | 581 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/DOMForestParser.java | 91 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/DOMForestScanner.java | 177 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/InternalizationLogic.java | 94 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/Internalizer.java | 615 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/LocatorTable.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/MessageBundle.properties | 96 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/Messages.java | 85 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/NamespaceContextImpl.java | 106 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/SCDBasedBindingSet.java | 246 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/VersionChecker.java | 139 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/WhitespaceStripper.java | 127 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/internalizer/package.html | 26 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/package.html | 26 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/BindStyle.java | 33 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/ContentModelBinder.java | 130 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/DatatypeLib.java | 76 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/DefineFinder.java | 61 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/NameCalculator.java | 35 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler.java | 270 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGInternalizationLogic.java | 76 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/RawTypeSetBuilder.java | 137 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/TypePatternBinder.java | 140 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder.java | 172 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/Abstractifier.java | 55 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BGMBuilder.java | 565 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BindBlue.java | 107 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BindGreen.java | 131 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BindPurple.java | 153 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BindRed.java | 102 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BindYellow.java | 96 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/BindingComponent.java | 52 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinder.java | 41 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinderFilter.java | 126 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ClassSelector.java | 485 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/CollisionInfo.java | 68 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ColorBinder.java | 93 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/DefaultClassBinder.java | 558 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/DefaultParticleBinder.java | 392 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ErrorReporter.java | 109 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionBuilder.java | 134 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionParticleBinder.java | 143 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/GElement.java | 49 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/GElementImpl.java | 67 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/GWildcardElement.java | 64 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/MessageBundle.properties | 192 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/Messages.java | 157 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/MultiplicityCounter.java | 95 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ParticleBinder.java | 255 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/RawTypeSetBuilder.java | 379 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/RefererFinder.java | 154 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java | 914 ++ sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/UnusedCustomizationChecker.java | 267 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/WildcardNameClassBuilder.java | 84 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AbstractDeclarationImpl.java | 87 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AnnotationParserFactoryImpl.java | 159 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIClass.java | 131 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIConversion.java | 349 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDeclaration.java | 105 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDom.java | 51 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnum.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnumMember.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIFactoryMethod.java | 65 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIGlobalBinding.java | 577 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIInlineBinaryData.java | 63 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java | 754 ++ sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISchemaBinding.java | 158 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISerializable.java | 44 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXDom.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXPluginCustomization.java | 67 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java | 48 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BindInfo.java | 348 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/DomHandlerEx.java | 96 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/EnumMemberMode.java | 54 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/ForkingFilter.java | 181 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/LocalScoping.java | 38 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/MessageBundle.properties | 52 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/Messages.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/OptionalPropertyMode.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.rng | 913 ++ sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.xsd | 327 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package-info.java | 33 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package.html | 34 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xjc.xsd | 111 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xs.xsd | 55 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/AbstractExtendedComplexTypeBuilder.java | 222 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/CTBuilder.java | 70 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/ChoiceContentComplexTypeBuilder.java | 90 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeBindingMode.java | 66 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeFieldBuilder.java | 106 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/ExtendedComplexTypeBuilder.java | 98 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/FreshComplexTypeBuilder.java | 94 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/MessageBundle.properties | 29 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/Messages.java | 46 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedComplexTypeBuilder.java | 114 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedExtendedComplexTypeBuilder.java | 92 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/MultiWildcardComplexTypeBuilder.java | 88 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/RestrictedComplexTypeBuilder.java | 95 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/ct/STDerivedComplexTypeBuilder.java | 71 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/CustomizationContextChecker.java | 194 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/IncorrectNamespaceURIChecker.java | 129 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/LSInputSAXWrapper.java | 110 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/MessageBundle.properties | 47 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/Messages.java | 52 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java | 132 + sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/XMLSchemaInternalizationLogic.java | 115 + sources/jaxws_src/src/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java | 156 + sources/jaxws_src/src/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java | 51 + sources/jaxws_src/src/com/sun/tools/internal/xjc/runtime/package.html | 31 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/CodeModelClassFactory.java | 143 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/DOMUtils.java | 160 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/ErrorReceiverFilter.java | 75 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/ForkContentHandler.java | 128 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/ForkEntityResolver.java | 54 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/MessageBundle.properties | 52 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/Messages.java | 57 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/MimeTypeRange.java | 165 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/NamespaceContextAdapter.java | 60 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/NullStream.java | 53 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/ReadOnlyAdapter.java | 42 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/StringCutter.java | 97 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/SubtreeCutter.java | 108 + sources/jaxws_src/src/com/sun/tools/internal/xjc/util/Util.java | 76 + sources/jaxws_src/src/com/sun/tools/internal/xjc/writer/SignatureWriter.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/bind/AccessorFactory.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/bind/AccessorFactoryImpl.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/bind/AnyTypeAdapter.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/CycleRecoverable.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/bind/DatatypeConverterImpl.java | 1043 +++ sources/jaxws_src/src/com/sun/xml/internal/bind/IDResolver.java | 160 + sources/jaxws_src/src/com/sun/xml/internal/bind/InternalAccessorFactory.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/Locatable.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/Util.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/bind/ValidationEventLocatorEx.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/bind/WhiteSpaceProcessor.java | 198 + sources/jaxws_src/src/com/sun/xml/internal/bind/XmlAccessorFactory.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/bind/annotation/OverrideAnnotationOf.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/annotation/XmlIsSet.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/bind/annotation/XmlLocation.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/AccessorException.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/Bridge.java | 320 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/BridgeContext.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/ClassResolver.java | 104 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/CompositeStructure.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/ErrorListener.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/JAXBRIContext.java | 470 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/Messages.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/Messages.properties | 27 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/RawAccessor.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/TypeReference.java | 114 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/impl/NameConverter.java | 276 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/impl/NameUtil.java | 431 + sources/jaxws_src/src/com/sun/xml/internal/bind/api/package-info.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/CharacterEscapeHandler.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/DataWriter.java | 377 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/DumbEscapeHandler.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/Messages.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/Messages.properties | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/MinimumEscapeHandler.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/NioEscapeHandler.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/SAX2DOMEx.java | 228 + sources/jaxws_src/src/com/sun/xml/internal/bind/marshaller/XMLWriter.java | 976 ++ sources/jaxws_src/src/com/sun/xml/internal/bind/unmarshaller/DOMScanner.java | 316 + sources/jaxws_src/src/com/sun/xml/internal/bind/unmarshaller/InfosetScanner.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/bind/unmarshaller/Messages.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/bind/unmarshaller/Messages.properties | 61 + sources/jaxws_src/src/com/sun/xml/internal/bind/unmarshaller/Patcher.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/util/AttributesImpl.java | 654 + sources/jaxws_src/src/com/sun/xml/internal/bind/util/ValidationEventLocatorExImpl.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/util/Which.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/ClassFactory.java | 201 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/ContextFactory.java | 272 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/Messages.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/Messages.properties | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/TODO.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/WellKnownNamespace.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/bytecode/ClassTailor.java | 191 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/bytecode/package.html | 32 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/AbstractInlineAnnotationReaderImpl.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/AnnotationReader.java | 164 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/AnnotationSource.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/ClassLocatable.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/FieldLocatable.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Init.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Locatable.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/LocatableAnnotation.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties | 27 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/MethodLocatable.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Quick.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/RuntimeAnnotationReader.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java | 151 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/Adapter.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ArrayInfo.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/AttributePropertyInfo.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/BuiltinLeafInfo.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ClassInfo.java | 182 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/Element.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ElementInfo.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ElementPropertyInfo.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/EnumConstant.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/EnumLeafInfo.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ID.java | 33 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/LeafInfo.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/MapPropertyInfo.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/MaybeElement.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/NonElement.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/NonElementRef.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/PropertyInfo.java | 152 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/Ref.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ReferencePropertyInfo.java | 124 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/TypeInfo.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/TypeInfoSet.java | 192 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/TypeRef.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/ValuePropertyInfo.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/WildcardMode.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/WildcardTypeInfo.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/core/package-info.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/AnyTypeImpl.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ArrayInfoImpl.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/AttributePropertyInfoImpl.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/BuiltinLeafInfoImpl.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java | 1319 +++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/DummyPropertyInfo.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ERPropertyInfoImpl.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ElementInfoImpl.java | 430 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ElementPropertyInfoImpl.java | 200 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/EnumConstantImpl.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/EnumLeafInfoImpl.java | 260 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/FieldPropertySeed.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/GetterSetterPropertySeed.java | 107 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/LeafInfoImpl.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/MapPropertyInfoImpl.java | 106 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/Messages.java | 120 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/Messages.properties | 208 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java | 419 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/PropertyInfoImpl.java | 386 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/PropertySeed.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ReferencePropertyInfoImpl.java | 393 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RegistryInfoImpl.java | 133 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeArrayInfoImpl.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeAttributePropertyInfoImpl.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java | 1040 +++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeClassInfoImpl.java | 403 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java | 135 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementPropertyInfoImpl.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumConstantImpl.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumLeafInfoImpl.java | 157 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeMapPropertyInfoImpl.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java | 184 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeRefImpl.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/RuntimeValuePropertyInfoImpl.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/SingleTypePropertyInfoImpl.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/TypeInfoImpl.java | 165 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/TypeInfoSetImpl.java | 391 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/TypeRefImpl.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/Util.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ValuePropertyInfoImpl.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/package.html | 32 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/GenericArrayTypeImpl.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/Navigator.java | 400 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ParameterizedTypeImpl.java | 178 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java | 623 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/TypeVisitor.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/WildcardTypeImpl.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeArrayInfo.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeAttributePropertyInfo.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeBuiltinLeafInfo.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeClassInfo.java | 72 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElement.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementInfo.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementPropertyInfo.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeEnumLeafInfo.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeLeafInfo.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeMapPropertyInfo.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElement.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElementRef.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimePropertyInfo.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeReferencePropertyInfo.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfo.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeRef.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/RuntimeValuePropertyInfo.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/runtime/package-info.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/package-info.java | 186 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java | 172 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ArrayBeanInfoImpl.java | 182 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/AssociationMap.java | 141 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/AttributeAccessor.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/BinderImpl.java | 277 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java | 154 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/BridgeContextImpl.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/BridgeImpl.java | 141 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java | 429 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/CompositeStructureBeanInfo.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ContentHandlerAdaptor.java | 158 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Coordinator.java | 216 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/DomPostInitAction.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java | 351 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/FilterTransducer.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationException.java | 187 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationsException.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/InlineBinaryTransducer.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/InternalBridge.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java | 1147 +++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/JaxBeanInfo.java | 550 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/LeafBeanInfoImpl.java | 162 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/LifecycleMethods.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Location.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/MarshallerImpl.java | 619 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Messages.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Messages.properties | 103 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/MimeTypedTransducer.java | 86 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Name.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/NameBuilder.java | 143 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/NameList.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/NamespaceContext2.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/RuntimeUtil.java | 133 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/SchemaTypeTransducer.java | 87 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/StAXPostInitAction.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/SwaRefAdapter.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Transducer.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ValueListBeanInfoImpl.java | 172 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java | 1072 +++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/C14nXmlOutput.java | 223 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/DOMOutput.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/Encoded.java | 198 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/FastInfosetStreamWriterOutput.java | 463 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/ForkXmlOutput.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/InPlaceDOMOutput.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/IndentingUTF8XmlOutput.java | 156 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/MTOMXmlOutput.java | 129 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/NamespaceContextImpl.java | 559 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/Pcdata.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/SAXOutput.java | 173 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/StAXExStreamWriterOutput.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java | 433 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/XMLEventWriterOutput.java | 126 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/XMLStreamWriterOutput.java | 214 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/XmlOutput.java | 175 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/XmlOutputAbstractImpl.java | 138 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/output/package-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/package.html | 32 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java | 200 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementLeafProperty.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementNodeProperty.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementProperty.java | 244 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayReferenceNodeProperty.java | 167 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/AttributeProperty.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ListElementProperty.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/Messages.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/Messages.properties | 30 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/Property.java | 144 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/PropertyFactory.java | 155 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/PropertyImpl.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleElementLeafProperty.java | 149 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleElementNodeProperty.java | 182 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java | 288 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleReferenceNodeProperty.java | 160 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/StructureLoaderBuilder.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/TagAndType.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/UnmarshallerChain.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ValueProperty.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java | 482 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedAccessor.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedLister.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/DefaultTransducedAccessor.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/ListIterator.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/ListTransducedAccessorImpl.java | 146 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java | 493 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.properties | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/NullSafeAccessor.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerByte.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java | 345 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Bean.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Const.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Byte.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Ref.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java | 304 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Byte.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Ref.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedAccessorFactory.java | 194 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java | 167 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Ref.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Boolean.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Byte.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Integer.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Byte.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Integer.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package.html | 39 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesEx.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesExImpl.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java | 291 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ChildLoader.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultIDResolver.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultValueLoaderDecorator.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Discarder.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DomLoader.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/FastInfosetConnector.java | 294 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntArrayData.java | 122 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntData.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Intercepter.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/InterningXmlVisitor.java | 154 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyLoader.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyXsiLoader.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java | 258 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorExWrapper.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/MTOMDecorator.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties | 50 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Patcher.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ProxyLoader.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Receiver.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java | 170 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Scope.java | 136 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXConnector.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java | 286 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXExConnector.java | 72 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXStreamConnector.java | 393 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java | 272 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TagName.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TextLoader.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java | 548 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java | 1236 +++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValidatingUnmarshaller.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValuePropertyLoader.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/WildcardLoader.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XmlVisitor.java | 153 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiNilLoader.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java | 124 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/FoolProofResolver.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/Form.java | 112 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/GroupKind.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/Messages.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/Messages.properties | 31 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/MultiMap.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/Tree.java | 244 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/Util.java | 129 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java | 1576 ++++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/Bindings.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/Klass.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/package-info.java | 34 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/package-info.java | 34 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Particle.java | 32 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package-info.java | 27 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package.html | 32 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/xmlschema-for-jaxb.rng | 1579 ++++ sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/ByteArrayOutputStreamEx.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/ClassLoaderRetriever.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/CollisionCheckStack.java | 221 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/DataSourceSource.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/EditDistance.java | 125 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/FatalAdapter.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/FlattenIterator.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/QNameMap.java | 480 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/StackRecorder.java | 34 + sources/jaxws_src/src/com/sun/xml/internal/bind/v2/util/TypeCast.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/DTDEventListener.java | 344 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/DTDHandlerBase.java | 120 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/DTDParser.java | 2350 ++++++ sources/jaxws_src/src/com/sun/xml/internal/dtdparser/EndOfInputException.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/EntityDecl.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/ExternalEntity.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/InputEntity.java | 990 ++ sources/jaxws_src/src/com/sun/xml/internal/dtdparser/InternalEntity.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/MessageCatalog.java | 516 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/Resolver.java | 448 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/SimpleHashtable.java | 285 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/XmlChars.java | 387 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/XmlNames.java | 147 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/XmlReader.java | 784 ++ sources/jaxws_src/src/com/sun/xml/internal/dtdparser/package.html | 28 + sources/jaxws_src/src/com/sun/xml/internal/dtdparser/resources/Messages.properties | 237 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java | 132 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/Decoder.java | 2008 +++++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/DecoderStateTables.java | 824 ++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/Encoder.java | 2594 +++++++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/EncodingConstants.java | 301 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/Notation.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/OctetBufferListener.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/QualifiedName.java | 310 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/UnparsedEntity.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java | 244 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java | 271 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmFactory.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmState.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/DoubleEncodingAlgorithm.java | 213 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java | 194 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java | 139 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/IEEE754FloatingPointEncodingAlgorithm.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/IntEncodingAlgorithm.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/IntegerEncodingAlgorithm.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/LongEncodingAlgorithm.java | 211 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/ShortEncodingAlgorithm.java | 190 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/algorithm/UUIDEncodingAlgorithm.java | 118 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/alphabet/BuiltInRestrictedAlphabets.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java | 1057 +++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/dom/DOMDocumentSerializer.java | 353 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/org/apache/xerces/util/XMLChar.java | 1094 +++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties | 207 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java | 295 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/Features.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/Properties.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java | 1791 +++++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializer.java | 597 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializerWithPrefixMapping.java | 268 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/sax/SystemIdResolver.java | 173 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/EventLocation.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java | 1851 +++++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/StAXDocumentSerializer.java | 856 ++ sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/StAXManager.java | 128 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/CharactersEvent.java | 139 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/CommentEvent.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/DTDEvent.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/EmptyIterator.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/EndDocumentEvent.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/EndElementEvent.java | 126 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/EntityDeclarationImpl.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/EntityReferenceEvent.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/EventBase.java | 220 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/NamespaceBase.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/ProcessingInstructionEvent.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/ReadIterator.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocatorBase.java | 225 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/StAXEventReader.java | 179 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/StAXEventWriter.java | 239 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/StAXFilteredEvent.java | 138 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/StartDocumentEvent.java | 174 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java | 258 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/Util.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/events/XMLConstants.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/factory/StAXEventFactory.java | 342 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/factory/StAXInputFactory.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/util/StAXFilteredParser.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/stax/util/StAXParserWrapper.java | 236 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/FI_DOM_Or_XML_DOM_SAX_SAXEvent.java | 86 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_DOM_SAX_SAXEvent.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_SAXEvent.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/FI_SAX_XML.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/FI_StAX_SAX_Or_XML_SAX_SAXEvent.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/PrintTable.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/SAX2StAXWriter.java | 201 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java | 407 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/StAX2SAXReader.java | 171 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java | 151 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/VocabularyGenerator.java | 287 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/XML_DOM_FI.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/XML_DOM_SAX_FI.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/XML_SAX_FI.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/tools/XML_SAX_StAX_FI.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/CharArray.java | 158 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/CharArrayArray.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/CharArrayIntMap.java | 228 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/CharArrayString.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/ContiguousCharArrayArray.java | 226 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/DuplicateAttributeVerifier.java | 124 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/FixedEntryStringIntMap.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/KeyIntMap.java | 136 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/LocalNameQualifiedNamesMap.java | 229 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/NamespaceContextImplementation.java | 231 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/PrefixArray.java | 508 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/QualifiedNameArray.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/StringArray.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/StringIntMap.java | 216 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/ValueArray.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/util/ValueArrayResourceException.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/vocab/ParserVocabulary.java | 294 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/vocab/SerializerVocabulary.java | 205 + sources/jaxws_src/src/com/sun/xml/internal/fastinfoset/vocab/Vocabulary.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/SOAPExceptionImpl.java | 196 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java | 667 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnectionFactory.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/client/p2p/LocalStrings.properties | 55 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/Header.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java | 147 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/MultipartDataSource.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java | 759 ++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentDisposition.java | 180 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentType.java | 277 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/HeaderTokenizer.java | 382 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/InternetHeaders.java | 402 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java | 1157 +++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java | 648 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePartDataSource.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePullMultipart.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java | 1508 ++++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParameterList.java | 235 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParseException.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/SharedInputStream.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/UniqueValue.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java | 152 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64EncoderStream.java | 244 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BEncoderStream.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/LineInputStream.java | 112 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/OutputUtil.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QDecoderStream.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QEncoderStream.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPDecoderStream.java | 198 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPEncoderStream.java | 199 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUDecoderStream.java | 257 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUEncoderStream.java | 206 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java | 611 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/Envelope.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/FastInfosetDataContentHandler.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/GifDataContentHandler.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java | 170 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/JpegDataContentHandler.java | 162 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/LocalStrings.properties | 107 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java | 114 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java | 1430 ++++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/MultipartDataContentHandler.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPDocument.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java | 179 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPIOException.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java | 821 ++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPVersionMismatchException.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/StringDataContentHandler.java | 167 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/XmlDataContentHandler.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPFactoryDynamicImpl.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPMessageFactoryDynamicImpl.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/BodyElementImpl.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java | 325 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java | 114 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/DetailEntryImpl.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/DetailImpl.java | 146 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/ElementFactory.java | 167 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java | 1268 +++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java | 363 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/FaultElementImpl.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java | 346 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderElementImpl.java | 135 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java | 305 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/LocalStrings.properties | 86 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/impl/TreeException.java | 32 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/name/LocalStrings.properties | 30 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java | 557 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Body1_1Impl.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/BodyElement1_1Impl.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Detail1_1Impl.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/DetailEntry1_1Impl.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Envelope1_1Impl.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java | 387 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/FaultElement1_1Impl.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/LocalStrings.properties | 36 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java | 125 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPFactory1_1Impl.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPMessageFactory1_1Impl.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java | 197 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/BodyElement1_2Impl.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/DetailEntry1_2Impl.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java | 147 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java | 562 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/FaultElement1_2Impl.java | 99 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java | 159 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java | 104 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/LocalStrings.properties | 55 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java | 86 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPFactory1_2Impl.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPMessageFactory1_2Impl.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/Base64.java | 272 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/ByteInputStream.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/ByteOutputStream.java | 180 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/CharReader.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/CharWriter.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/FastInfosetReflection.java | 240 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/FinalArrayList.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java | 86 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/JaxmURI.java | 1375 ++++ sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/LocalStrings.properties | 33 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/MimeHeadersUtil.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/NamespaceContextIterator.java | 122 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/ParseUtil.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/ParserPool.java | 110 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java | 182 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/TeeInputStream.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/XMLDeclarationParser.java | 179 + sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java | 423 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithm.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmException.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmIndexes.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/ExternalVocabulary.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetException.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetParser.java | 188 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetResult.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSerializer.java | 362 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSource.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/RestrictedAlphabet.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/Vocabulary.java | 108 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/VocabularyApplicationData.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmAttributes.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmContentHandler.java | 107 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/ExtendedContentHandler.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetReader.java | 255 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetWriter.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/PrimitiveTypeContentHandler.java | 223 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/RestrictedAlphabetContentHandler.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/EncodingAlgorithmAttributesImpl.java | 604 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/FastInfosetDefaultHandler.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/stax/FastInfosetStreamReader.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/fastinfoset/stax/LowLevelFastInfosetStreamWriter.java | 205 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/Chunk.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/ChunkInputStream.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/Data.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/DataFile.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java | 259 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/FileData.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/FinalArrayList.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/Header.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/InternetHeaders.java | 239 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MIMEConfig.java | 148 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MIMEEvent.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MIMEMessage.java | 249 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MIMEParser.java | 501 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MIMEParsingException.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MIMEPart.java | 207 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java | 425 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/Base64Encoder.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/ByteArrayOutputStreamEx.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/NamespaceContextEx.java | 96 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java | 145 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/XMLStreamReaderEx.java | 185 + sources/jaxws_src/src/com/sun/xml/internal/org/jvnet/staxex/XMLStreamWriterEx.java | 154 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/Annotations.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/BuildException.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/CommentList.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/DataPatternBuilder.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/Div.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/ElementAnnotationBuilder.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/Grammar.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/GrammarSection.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/Include.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/IncludedGrammar.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/NameClassBuilder.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/SchemaBuilder.java | 202 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/builder/Scope.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/om/Location.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/om/ParsedElementAnnotation.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/om/ParsedNameClass.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/om/ParsedPattern.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/util/CheckingSchemaBuilder.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/util/LocatorImpl.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/rngom/ast/util/package.html | 51 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/AfterPattern.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/Alphabet.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/AttributePattern.java | 144 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/BinaryPattern.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/ChoicePattern.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/DataExceptPattern.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/DataPattern.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/DuplicateAttributeDetector.java | 96 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/ElementPattern.java | 146 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/EmptyPattern.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/ErrorPattern.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/GroupPattern.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/InterleavePattern.java | 112 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/ListPattern.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/Messages.properties | 148 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/NotAllowedPattern.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/OneOrMorePattern.java | 112 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/Pattern.java | 161 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/PatternBuilder.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/PatternInterner.java | 112 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/RefPattern.java | 153 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/RestrictionViolationException.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/SchemaBuilderImpl.java | 790 ++ sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/SchemaPatternBuilder.java | 149 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/StringPattern.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/TextPattern.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/ValuePattern.java | 96 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/package.html | 50 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/visitor/ChildElementFinder.java | 118 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/visitor/PatternFunction.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/visitor/PatternVisitor.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/rngom/binary/visitor/PatternWalker.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/Annotation.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/CommentListImpl.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DAnnotation.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DAttributePattern.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DChoicePattern.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DContainerPattern.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DDataPattern.java | 156 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DDefine.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DElementPattern.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DEmptyPattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DGrammarPattern.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DGroupPattern.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DInterleavePattern.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DListPattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DMixedPattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DNotAllowedPattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DOMPrinter.java | 195 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DOneOrMorePattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DOptionalPattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DPattern.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DPatternVisitor.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DPatternWalker.java | 133 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DRefPattern.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DSchemaBuilderImpl.java | 233 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DTextPattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DUnaryPattern.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DValuePattern.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DXMLPrinter.java | 588 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DXmlTokenPattern.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DZeroOrMorePattern.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/DataPatternBuilderImpl.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/ElementAnnotationBuilderImpl.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/ElementWrapper.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/GrammarBuilderImpl.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/IncludeImpl.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/Main.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/PatternParseable.java | 226 + sources/jaxws_src/src/com/sun/xml/internal/rngom/digested/package.html | 50 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/CachedDatatypeLibraryFactory.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/CascadingDatatypeLibraryFactory.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/DoNothingDatatypeLibraryFactoryImpl.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeBuilder.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibrary.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibraryFactory.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/builtin/CompatibilityDatatypeLibrary.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/builtin/Messages.properties | 49 + sources/jaxws_src/src/com/sun/xml/internal/rngom/dt/builtin/package.html | 46 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/AnyNameClass.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/AnyNameExceptNameClass.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/ChoiceNameClass.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NameClass.java | 132 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NameClassBuilderImpl.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NameClassVisitor.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NameClassWalker.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NsNameClass.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NsNameExceptNameClass.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/NullNameClass.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/OverlapDetector.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/SimpleNameClass.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/rngom/nc/package.html | 50 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/Context.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/IllegalSchemaException.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/Messages.properties | 50 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/Parseable.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/CompactParseable.java | 138 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/CompactSyntax.java | 3388 ++++++++++ sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/CompactSyntax.jj | 1963 +++++ sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxConstants.java | 179 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxTokenManager.java | 1879 +++++ sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/EOFException.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/EscapeSyntaxException.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/JavaCharStream.java | 662 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/Messages.properties | 69 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/ParseException.java | 232 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/Token.java | 176 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/TokenMgrError.java | 192 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/compact/UCode_UCodeESC_CharStream.java | 594 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/AnnotationsHost.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/Base.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/CommentListHost.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/DataPatternBuilderHost.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/DivHost.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/ElementAnnotationBuilderHost.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/GrammarHost.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/GrammarSectionHost.java | 106 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/IncludeHost.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/LocationHost.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/NameClassBuilderHost.java | 165 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/ParsedElementAnnotationHost.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/ParsedNameClassHost.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/ParsedPatternHost.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/SchemaBuilderHost.java | 372 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/ScopeHost.java | 86 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/host/package.html | 47 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/xml/DtdContext.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/xml/Messages.properties | 85 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/xml/SAXParseable.java | 149 + sources/jaxws_src/src/com/sun/xml/internal/rngom/parse/xml/SchemaParser.java | 1684 ++++ sources/jaxws_src/src/com/sun/xml/internal/rngom/util/Localizer.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/rngom/util/Uri.java | 194 + sources/jaxws_src/src/com/sun/xml/internal/rngom/util/Utf16.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/sax/AbstractLexicalHandler.java | 72 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/sax/JAXPXMLReaderCreator.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/sax/XMLReaderCreator.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/sax/XmlBaseHandler.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/util/EncodingMap.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/util/Naming.java | 226 + sources/jaxws_src/src/com/sun/xml/internal/rngom/xml/util/WellKnownNamespaces.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/AbstractCreator.java | 189 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java | 141 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/AbstractProcessor.java | 259 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/AttributesHolder.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/FragmentedArray.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java | 247 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java | 474 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java | 118 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/sax/Features.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/sax/Properties.java | 34 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java | 270 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/sax/SAXBufferProcessor.java | 672 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/stax/NamespaceContexHelper.java | 289 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java | 382 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java | 1094 +++ sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java | 272 + sources/jaxws_src/src/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferProcessor.java | 514 + sources/jaxws_src/src/com/sun/xml/internal/txw2/Attribute.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/txw2/Cdata.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/txw2/Comment.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/txw2/ContainerElement.java | 376 + sources/jaxws_src/src/com/sun/xml/internal/txw2/Content.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/txw2/ContentVisitor.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/txw2/DatatypeWriter.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/txw2/Document.java | 338 + sources/jaxws_src/src/com/sun/xml/internal/txw2/EndDocument.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/txw2/EndTag.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/txw2/IllegalAnnotationException.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/txw2/IllegalSignatureException.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/txw2/NamespaceDecl.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/txw2/NamespaceResolver.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/txw2/NamespaceSupport.java | 845 ++ sources/jaxws_src/src/com/sun/xml/internal/txw2/Pcdata.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/txw2/StartDocument.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/txw2/StartTag.java | 248 + sources/jaxws_src/src/com/sun/xml/internal/txw2/TXW.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/txw2/Text.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/txw2/TxwException.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/txw2/TypedXmlWriter.java | 266 + sources/jaxws_src/src/com/sun/xml/internal/txw2/annotation/XmlAttribute.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/txw2/annotation/XmlCDATA.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/txw2/annotation/XmlElement.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/txw2/annotation/XmlNamespace.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/txw2/annotation/XmlValue.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/txw2/annotation/package.html | 51 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/CharacterEscapeHandler.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/DataWriter.java | 374 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/DelegatingXMLStreamWriter.java | 171 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/DomSerializer.java | 311 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/DumbEscapeHandler.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/DumpSerializer.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/IndentingXMLFilter.java | 312 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/IndentingXMLStreamWriter.java | 195 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/ResultFactory.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/SaxSerializer.java | 213 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/StaxSerializer.java | 145 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/StreamSerializer.java | 194 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/TXWResult.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/TXWSerializer.java | 87 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/XMLWriter.java | 1075 +++ sources/jaxws_src/src/com/sun/xml/internal/txw2/output/XmlSerializer.java | 152 + sources/jaxws_src/src/com/sun/xml/internal/txw2/output/package.html | 34 + sources/jaxws_src/src/com/sun/xml/internal/txw2/package.html | 34 + sources/jaxws_src/src/com/sun/xml/internal/ws/Closeable.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/EPRSDDocumentFilter.java | 421 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/EndpointReferenceUtil.java | 398 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/ProblemAction.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/ProblemHeaderQName.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/W3CAddressingConstants.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/W3CAddressingMetadataConstants.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/W3CWsaClientTube.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/W3CWsaServerTube.java | 191 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WSEPRExtension.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaActionUtil.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaClientTube.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaPropertyBag.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaServerTube.java | 307 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaTube.java | 386 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaTubeHelper.java | 334 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/WsaTubeHelperImpl.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/model/ActionNotSupportedException.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/model/InvalidAddressingHeaderException.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/model/MissingAddressingHeaderException.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/policy/AddressingFeatureConfigurator.java | 146 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/policy/AddressingPolicyMapConfigurator.java | 147 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/policy/AddressingPolicyValidator.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/policy/AddressingPrefixMapper.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionAddressingConstants.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionWsaClientTube.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionWsaServerTube.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/v200408/ProblemAction.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/v200408/ProblemHeaderQName.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/ws/addressing/v200408/WsaTubeHelperImpl.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/BindingID.java | 437 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/BindingIDFactory.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/DistributedPropertySet.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/EndpointAddress.java | 216 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/FeatureConstructor.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/PropertySet.java | 422 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/ResourceLoader.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/SOAPVersion.java | 223 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/WSBinding.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/WSFeatureList.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/WSService.java | 228 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/WebServiceFeatureFactory.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/addressing/AddressingVersion.java | 751 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/api/addressing/EPRHeader.java | 114 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/addressing/OneWayFeature.java | 173 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/addressing/OutboundReferenceParameterHeader.java | 355 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java | 1174 +++ sources/jaxws_src/src/com/sun/xml/internal/ws/api/addressing/package-info.java | 28 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/client/ClientPipelineHook.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/client/SelectOptimalEncodingFeature.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/client/ServiceInterceptor.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/client/ServiceInterceptorFactory.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/client/WSPortInfo.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/config/management/EndpointCreationAttributes.java | 99 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/config/management/ManagedEndpointFactory.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/config/management/Reconfigurable.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/config/management/policy/ManagedClientAssertion.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/config/management/policy/ManagedServiceAssertion.java | 391 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/config/management/policy/ManagementAssertion.java | 185 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/fastinfoset/FastInfosetFeature.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/ha/HaInfo.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/ha/StickyFeature.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/handler/MessageHandler.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/handler/MessageHandlerContext.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/Attachment.java | 87 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/AttachmentSet.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/ExceptionHasMessage.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java | 165 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/Header.java | 326 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/HeaderList.java | 992 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/Headers.java | 171 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/Message.java | 717 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/Messages.java | 410 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/Packet.java | 877 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/package-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/stream/InputStreamMessage.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/stream/StreamBasedMessage.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/message/stream/XMLStreamReaderMessage.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/CheckedException.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/ExceptionType.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/JavaMethod.java | 140 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/MEP.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/Parameter.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/ParameterBinding.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/SEIModel.java | 178 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/soap/SOAPBinding.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundFault.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundOperation.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundPortType.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLDescriptorKind.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtensible.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtension.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLFault.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLFeaturedObject.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLInput.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLMessage.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLModel.java | 176 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLObject.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLOperation.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLOutput.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLPart.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLPartDescriptor.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLPort.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLPortType.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/model/wsdl/WSDLService.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/package-info.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/ClientPipeAssemblerContext.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/ClientTubeAssemblerContext.java | 328 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Codec.java | 239 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Codecs.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/ContentType.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Engine.java | 107 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Fiber.java | 814 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/FiberContextSwitchInterceptor.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/NextAction.java | 161 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Pipe.java | 347 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/PipeCloner.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/PipelineAssembler.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/PipelineAssemblerFactory.java | 96 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/SOAPBindingCodec.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/ServerPipeAssemblerContext.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/ServerTubeAssemblerContext.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/StreamSOAPCodec.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Stubs.java | 403 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/TransportPipeFactory.java | 116 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/TransportTubeFactory.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/Tube.java | 397 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/TubeCloner.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/TubelineAssembler.java | 104 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/TubelineAssemblerFactory.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterPipeImpl.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterTubeImpl.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/helper/AbstractPipeImpl.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/helper/AbstractTubeImpl.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/helper/PipeAdapter.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/helper/package-info.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/pipe/package-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/AlternativeSelector.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/ModelGenerator.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/ModelTranslator.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/ModelUnmarshaller.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/PolicyResolver.java | 176 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/PolicyResolverFactory.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/SourceModel.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/policy/ValidationProcessor.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/AbstractServerAsyncTransport.java | 159 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/Adapter.java | 174 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/AsyncProvider.java | 116 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/AsyncProviderCallback.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/BoundEndpoint.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/Container.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/ContainerResolver.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/DocumentAddressResolver.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/EndpointAwareCodec.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/EndpointComponent.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/EndpointData.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/EndpointReferenceExtensionContributor.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/HttpEndpoint.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/InstanceResolver.java | 260 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/InstanceResolverAnnotation.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/Invoker.java | 126 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/Module.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/PortAddressResolver.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/ResourceInjector.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/SDDocument.java | 180 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/SDDocumentFilter.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/SDDocumentSource.java | 132 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/ServerPipelineHook.java | 99 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/ServiceDefinition.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/TransportBackChannel.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/WSEndpoint.java | 571 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/WSWebServiceContext.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/WebModule.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/WebServiceContextDelegate.java | 151 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/server/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java | 440 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java | 353 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/MetaDataResolver.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/MetadataResolverFactory.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/ServiceDescriptor.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtension.java | 270 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtensionContext.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/XMLEntityResolver.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/parser/package-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGenExtnContext.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java | 271 + sources/jaxws_src/src/com/sun/xml/internal/ws/binding/BindingImpl.java | 172 + sources/jaxws_src/src/com/sun/xml/internal/ws/binding/HTTPBindingImpl.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/binding/SOAPBindingImpl.java | 191 + sources/jaxws_src/src/com/sun/xml/internal/ws/binding/WebServiceFeatureList.java | 347 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/AsyncInvoker.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/AsyncResponseImpl.java | 126 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/BindingProviderProperties.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/ClientContainer.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/ClientSchemaValidationTube.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/ClientTransportException.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/ContentNegotiation.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/HandlerConfiguration.java | 138 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/HandlerConfigurator.java | 182 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/MonitorRootClient.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/PortInfo.java | 211 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/RequestContext.java | 423 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/ResponseContext.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/ResponseContextReceiver.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/SCAnnotations.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/SEIPortInfo.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/SenderException.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/Stub.java | 520 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/WSServiceDelegate.java | 673 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/DataSourceDispatch.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java | 504 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/JAXBDispatch.java | 120 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/MessageDispatch.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/RESTSourceDispatch.java | 87 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/SOAPMessageDispatch.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/dispatch/SOAPSourceDispatch.java | 106 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/package-info.java | 157 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/AsyncMethodHandler.java | 206 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/BodyBuilder.java | 285 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/CallbackMethodHandler.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/MessageFiller.java | 178 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/MethodHandler.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/PollingMethodHandler.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/ResponseBuilder.java | 693 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/SEIMethodHandler.java | 215 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/SEIStub.java | 169 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/ValueGetter.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/ValueGetterFactory.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/ValueSetter.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/ValueSetterFactory.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/client/sei/pacakge-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/config/management/policy/ManagementAssertionCreator.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/config/management/policy/ManagementPolicyValidator.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/ws/config/management/policy/ManagementPrefixMapper.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/BindingTypeFeature.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/EPRRecipe.java | 132 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/HttpConfigFeature.java | 112 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/JAXBContextFactory.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/JAXWSProperties.java | 234 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/MemberSubmissionAddressing.java | 103 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/MemberSubmissionAddressingFeature.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/MemberSubmissionEndpointReference.java | 200 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/SchemaValidation.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/SchemaValidationFeature.java | 116 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/ServerSideException.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/StreamingAttachment.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/StreamingAttachmentFeature.java | 124 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/StreamingDataHandler.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/UsesJAXBContext.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/UsesJAXBContextFeature.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/ValidationErrorHandler.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/WSBindingProvider.java | 145 + sources/jaxws_src/src/com/sun/xml/internal/ws/developer/package-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/ContentType.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/DataHandlerDataSource.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/DataSourceStreamingDataHandler.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/HeaderTokenizer.java | 377 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/ImageDataContentHandler.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/MIMEPartStreamingDataHandler.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/MimeCodec.java | 211 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/MimeMultipartParser.java | 208 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/MtomCodec.java | 567 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/ParameterList.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/RootOnlyCodec.java | 72 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/SOAPBindingCodec.java | 524 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java | 318 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/StringDataContentHandler.java | 172 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/SwACodec.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/TagInfoset.java | 224 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/XMLHTTPBindingCodec.java | 359 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/XmlDataContentHandler.java | 145 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetCodec.java | 283 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetMIMETypes.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderFactory.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderRecyclable.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP11Codec.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP12Codec.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAPCodec.java | 179 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/EncodingConstants.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/EncodingPolicyValidator.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/EncodingPrefixMapper.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/FastInfosetFeatureConfigurator.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/MtomFeatureConfigurator.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/MtomPolicyMapConfigurator.java | 129 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/policy/SelectOptimalEncodingFeatureConfigurator.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/DeserializationException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/SOAP12Constants.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/SOAPConstants.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/SerializationException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/SerializerConstants.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/streaming/SOAP12NamespaceConstants.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/soap/streaming/SOAPNamespaceConstants.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/xml/XMLCodec.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java | 630 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/CodeType.java | 87 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/DetailType.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/ExceptionBean.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/ReasonType.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/SOAP11Fault.java | 183 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/SOAP12Fault.java | 249 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/SOAPFaultBuilder.java | 555 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/SubcodeType.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/fault/TextType.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/ClientLogicalHandlerTube.java | 160 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/ClientMessageHandlerTube.java | 151 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/ClientSOAPHandlerTube.java | 162 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/HandlerChainsModel.java | 568 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/HandlerException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/HandlerProcessor.java | 412 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/HandlerTube.java | 359 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/LogicalMessageContextImpl.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/LogicalMessageImpl.java | 297 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/MessageContextImpl.java | 221 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/MessageHandlerContextImpl.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/MessageUpdatableContext.java | 147 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/PortInfoImpl.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/SOAPHandlerProcessor.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/SOAPMessageContextImpl.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/ServerLogicalHandlerTube.java | 172 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/ServerMessageHandlerTube.java | 150 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/ServerSOAPHandlerTube.java | 165 + sources/jaxws_src/src/com/sun/xml/internal/ws/handler/XMLHandlerProcessor.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/AbstractHeaderImpl.java | 142 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/AbstractMessageImpl.java | 222 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/AttachmentSetImpl.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/AttachmentUnmarshallerImpl.java | 77 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/ByteArrayAttachment.java | 110 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/DOMHeader.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/DOMMessage.java | 154 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/DataHandlerAttachment.java | 108 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/EmptyMessageImpl.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/FaultDetailHeader.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/FaultMessage.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/JAXBAttachment.java | 128 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/MimeAttachmentSet.java | 108 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/ProblemActionHeader.java | 137 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/RelatesToHeader.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/RootElementSniffer.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/StringHeader.java | 161 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/Util.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/XMLReaderImpl.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/jaxb/AttachmentMarshallerImpl.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/jaxb/JAXBBridgeSource.java | 125 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java | 205 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java | 322 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/jaxb/MarshallerBridge.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/jaxb/package-info.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/saaj/SAAJHeader.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java | 663 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/source/PayloadSourceMessage.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/source/SourceUtils.java | 253 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/OutboundStreamHeader.java | 171 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java | 116 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/StreamAttachment.java | 108 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/StreamHeader.java | 238 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/StreamHeader11.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/StreamHeader12.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/message/stream/StreamMessage.java | 497 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/AbstractSEIModelImpl.java | 428 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/AbstractWrapperBeanGenerator.java | 448 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/CheckedExceptionImpl.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/FieldSignature.java | 122 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/Injector.java | 108 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/JavaMethodImpl.java | 390 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/ParameterImpl.java | 221 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/RuntimeModeler.java | 1515 ++++ sources/jaxws_src/src/com/sun/xml/internal/ws/model/RuntimeModelerException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/SOAPSEIModel.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java | 374 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/WrapperParameter.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/soap/SOAPBindingImpl.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/AbstractExtensibleImpl.java | 139 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/AbstractFeaturedObjectImpl.java | 78 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/AbstractObjectImpl.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLBoundFaultImpl.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java | 438 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLBoundPortTypeImpl.java | 236 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLFaultImpl.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLInputImpl.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLMessageImpl.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLModelImpl.java | 252 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java | 138 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLOutputImpl.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLPartDescriptorImpl.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLPartImpl.java | 82 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLPortImpl.java | 121 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLPortTypeImpl.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLProperties.java | 74 + sources/jaxws_src/src/com/sun/xml/internal/ws/model/wsdl/WSDLServiceImpl.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/AnnotationVisitor.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/AnnotationWriter.java | 346 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Attribute.java | 284 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/ByteVector.java | 323 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/ClassReader.java | 2039 ++++++ sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/ClassVisitor.java | 226 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/ClassWriter.java | 1374 ++++ sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Edge.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/FieldVisitor.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/FieldWriter.java | 299 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Frame.java | 1432 ++++ sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Handler.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Item.java | 286 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Label.java | 556 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/MethodVisitor.java | 425 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/MethodWriter.java | 2631 +++++++ sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Opcodes.java | 371 + sources/jaxws_src/src/com/sun/xml/internal/ws/org/objectweb/asm/Type.java | 824 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/package-info.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/AssertionSet.java | 397 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/AssertionValidationProcessor.java | 135 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/ComplexAssertion.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/EffectiveAlternativeSelector.java | 247 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/EffectivePolicyModifier.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/NestedPolicy.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/Policy.java | 661 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyAssertion.java | 366 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyConstants.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyException.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyIntersector.java | 152 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMap.java | 671 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMapExtender.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMapKey.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMapKeyHandler.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMapMutator.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMapUtil.java | 133 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyMerger.java | 106 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicyScope.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/PolicySubject.java | 149 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/SimpleAssertion.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/BuilderHandler.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/BuilderHandlerEndpointScope.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/BuilderHandlerMessageScope.java | 140 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/BuilderHandlerOperationScope.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/BuilderHandlerServiceScope.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/DefaultPolicyResolver.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/PolicyMapBuilder.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/PolicyUtil.java | 136 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/PolicyWSDLGeneratorExtension.java | 466 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/PolicyWSDLParserExtension.java | 981 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/SafePolicyReader.java | 331 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/WSDLBoundFaultContainer.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/spi/PolicyFeatureConfigurator.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/jaxws/spi/PolicyMapConfigurator.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/package-info.java | 33 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/Localization.properties | 120 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java | 1183 +++ sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/PolicyLogger.java | 94 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/PolicyUtils.java | 480 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/RuntimePolicyUtilsException.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/ServiceConfigurationError.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/ServiceFinder.java | 380 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/privateutil/package-info.java | 34 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/AssertionData.java | 429 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/CompactModelGenerator.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/DefaultPolicyAssertionCreator.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/ModelNode.java | 596 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/NormalizedModelGenerator.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicyModelGenerator.java | 171 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicyModelMarshaller.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicyModelTranslator.java | 459 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicyModelUnmarshaller.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicyReferenceData.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicySourceModel.java | 428 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/PolicySourceModelContext.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/XmlPolicyModelMarshaller.java | 193 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/XmlPolicyModelUnmarshaller.java | 374 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/attach/ExternalAttachmentsUnmarshaller.java | 242 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/attach/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/package-info.java | 30 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/wspolicy/NamespaceVersion.java | 169 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/sourcemodel/wspolicy/XmlToken.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/spi/AbstractQNameValidator.java | 113 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/spi/AssertionCreationException.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/spi/PolicyAssertionCreator.java | 87 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/spi/PolicyAssertionValidator.java | 133 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/spi/PrefixMapper.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/spi/package-info.java | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/subject/PolicyMapKeyConverter.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/subject/WsdlBindingSubject.java | 188 + sources/jaxws_src/src/com/sun/xml/internal/ws/policy/subject/package-info.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/protocol/soap/ClientMUTube.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/protocol/soap/MUTube.java | 175 + sources/jaxws_src/src/com/sun/xml/internal/ws/protocol/soap/MessageCreationException.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/protocol/soap/VersionMismatchException.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/protocol/xml/XMLMessageException.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/AddressingMessages.java | 403 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/ClientMessages.java | 383 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/DispatchMessages.java | 223 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/EncodingMessages.java | 175 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/HandlerMessages.java | 127 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/HttpserverMessages.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/ManagementMessages.java | 139 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/ModelerMessages.java | 355 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/PolicyMessages.java | 283 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/ProviderApiMessages.java | 163 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/SenderMessages.java | 91 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/ServerMessages.java | 768 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/resources/SoapMessages.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/StreamingMessages.java | 271 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/UtilMessages.java | 139 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/WsservletMessages.java | 1927 +++++ sources/jaxws_src/src/com/sun/xml/internal/ws/resources/XmlmessageMessages.java | 175 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/addressing.properties | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/client.properties | 54 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/dispatch.properties | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/encoding.properties | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/handler.properties | 32 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/httpserver.properties | 26 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/management.properties | 33 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/modeler.properties | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/policy.properties | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/providerApi.properties | 36 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/sender.properties | 29 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/server.properties | 124 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/soap.properties | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/streaming.properties | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/util.properties | 33 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/wsdlmodel.properties | 30 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/wsservlet.properties | 236 + sources/jaxws_src/src/com/sun/xml/internal/ws/resources/xmlmessage.properties | 36 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/AbstractInstanceResolver.java | 262 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/AbstractMultiInstanceResolver.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/AbstractWebServiceContext.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/DefaultResourceInjector.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/DraconianValidationErrorHandler.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/EndpointFactory.java | 572 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/EndpointMessageContextImpl.java | 192 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/InvokerTube.java | 168 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/MonitorBase.java | 428 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/MonitorRootService.java | 253 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/SDDocumentImpl.java | 392 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/ServerPropertyConstants.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/ServerRtException.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/ServerSchemaValidationTube.java | 153 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/SingletonResolver.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/UnsupportedMediaException.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/WSDLGenResolver.java | 197 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/WSEndpointImpl.java | 400 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/package-info.java | 148 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/AsyncProviderInvokerTube.java | 135 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/MessageProviderArgumentBuilder.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/ProviderArgumentsBuilder.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/ProviderEndpointModel.java | 116 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/ProviderInvokerTube.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/SOAPProviderArgumentBuilder.java | 162 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/SyncProviderInvokerTube.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/provider/XMLProviderArgumentBuilder.java | 108 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/EndpointArgumentsBuilder.java | 674 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/EndpointMethodHandler.java | 288 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/EndpointResponseMessageBuilder.java | 298 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/EndpointValueSetter.java | 123 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/MessageFiller.java | 178 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/SEIInvokerTube.java | 101 + sources/jaxws_src/src/com/sun/xml/internal/ws/server/sei/ValueGetter.java | 92 + sources/jaxws_src/src/com/sun/xml/internal/ws/spi/ProviderImpl.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/Attributes.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/DOMStreamReader.java | 904 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/PrefixFactory.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/PrefixFactoryImpl.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/SourceReaderFactory.java | 134 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/TidyXMLStreamReader.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/XMLReaderException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/XMLStreamReaderException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/XMLStreamReaderUtil.java | 452 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/XMLStreamWriterException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/streaming/XMLStreamWriterUtil.java | 120 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/DeferredTransportPipe.java | 141 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/Headers.java | 130 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/DeploymentDescriptorParser.java | 567 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/HttpAdapter.java | 829 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/HttpAdapterList.java | 133 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/HttpMetadataPublisher.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/ResourceLoader.java | 72 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/WSHTTPConnection.java | 287 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/client/HttpClientTransport.java | 334 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/client/HttpResponseProperties.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java | 396 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/EndpointImpl.java | 398 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/HttpEndpoint.java | 128 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/PortableConnectionImpl.java | 229 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/PortableHttpHandler.java | 122 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/ServerAdapter.java | 111 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/ServerAdapterList.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/ServerConnectionImpl.java | 312 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/ServerContainer.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/ServerMgr.java | 151 + sources/jaxws_src/src/com/sun/xml/internal/ws/transport/http/server/WSHttpHandler.java | 126 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ASCIIUtility.java | 148 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ByteArrayBuffer.java | 213 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ByteArrayDataSource.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/CompletedFuture.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/Constants.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/DOMUtil.java | 263 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/FastInfosetReflection.java | 75 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/FastInfosetUtil.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/HandlerAnnotationInfo.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java | 215 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/JAXWSUtils.java | 132 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/MetadataUtil.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/NamespaceSupport.java | 746 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/util/NoCloseInputStream.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/NoCloseOutputStream.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/Pool.java | 162 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/QNameMap.java | 487 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ReadAllStream.java | 239 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ReadOnlyPropertyException.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/RuntimeVersion.java | 65 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ServiceConfigurationError.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/ServiceFinder.java | 378 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/StreamUtils.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/StringUtils.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/UtilException.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/Version.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/VersionUtil.java | 168 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java | 168 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/exception/LocatableWebServiceException.java | 106 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/localization/Localizable.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/localization/LocalizableImpl.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/localization/LocalizableMessage.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/localization/LocalizableMessageFactory.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/localization/Localizer.java | 149 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/localization/NullLocalizable.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/pipe/AbstractSchemaValidationTube.java | 549 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/pipe/DumpTube.java | 146 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/pipe/StandalonePipeAssembler.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/pipe/StandaloneTubeAssembler.java | 93 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/resources/Messages_en.properties | 243 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/version.properties | 28 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/CDATA.java | 58 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/ContentHandlerToXMLStreamWriter.java | 283 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/DummyLocation.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/NamedNodeMapIterator.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/NodeListIterator.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/StAXResult.java | 89 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/StAXSource.java | 283 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/XMLStreamReaderFilter.java | 239 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java | 226 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/XMLStreamWriterFilter.java | 183 + sources/jaxws_src/src/com/sun/xml/internal/ws/util/xml/XmlUtil.java | 340 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/ActionBasedOperationFinder.java | 168 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/ActionBasedOperationSignature.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/DispatchException.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/OperationDispatcher.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/PayloadQNameBasedOperationFinder.java | 145 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/SDDocumentResolver.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/SOAPActionBasedOperationFinder.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/WSDLOperationFinder.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/DelegatingParserExtension.java | 178 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/EntityResolverWrapper.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/ErrorHandler.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/FoolProofParserExtension.java | 131 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/InaccessibleWSDLException.java | 90 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/MIMEConstants.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/MemberSubmissionAddressingWSDLParserExtension.java | 88 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/MexEntityResolver.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/ParserUtil.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/RuntimeWSDLParser.java | 852 ++ sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/SOAPConstants.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingMetadataWSDLParserExtension.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingWSDLParserExtension.java | 263 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/WSDLConstants.java | 83 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionContextImpl.java | 71 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionFacade.java | 347 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/DocumentLocationResolver.java | 72 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/UsingAddressing.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/W3CAddressingMetadataWSDLGeneratorExtension.java | 151 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/W3CAddressingWSDLGeneratorExtension.java | 155 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java | 1131 +++ sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/WSDLGeneratorExtensionFacade.java | 143 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/WSDLPatcher.java | 232 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/WSDLResolver.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Binding.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/BindingOperationType.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Definitions.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Documented.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Fault.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/FaultType.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Import.java | 49 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Message.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/OpenAtts.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Operation.java | 69 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/ParamType.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Part.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Port.java | 53 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/PortType.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Service.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/StartWithExtensionsType.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/Types.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/http/Address.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/http/Binding.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/http/Operation.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/http/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/Body.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/BodyType.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/Header.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/HeaderFault.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPAddress.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPBinding.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPFault.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPOperation.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Body.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/BodyType.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Header.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/HeaderFault.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPAddress.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPBinding.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPFault.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPOperation.java | 48 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/soap12/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Import.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Schema.java | 46 + sources/jaxws_src/src/com/sun/xml/internal/ws/wsdl/writer/document/xsd/package-info.java | 31 + sources/jaxws_src/src/com/sun/xml/internal/xsom/ForeignAttributes.java | 61 + sources/jaxws_src/src/com/sun/xml/internal/xsom/SCD.java | 176 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSAnnotation.java | 63 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSAttContainer.java | 99 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSAttGroupDecl.java | 36 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSAttributeDecl.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSAttributeUse.java | 54 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSComplexType.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSComponent.java | 170 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSContentType.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSDeclaration.java | 68 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSElementDecl.java | 155 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSFacet.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSIdentityConstraint.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSListSimpleType.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSModelGroup.java | 86 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSModelGroupDecl.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSNotation.java | 37 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSParticle.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSRestrictionSimpleType.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSSchema.java | 139 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSSchemaSet.java | 115 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSSimpleType.java | 162 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSTerm.java | 70 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSType.java | 96 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSUnionSimpleType.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSVariety.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSWildcard.java | 95 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XSXPath.java | 51 + sources/jaxws_src/src/com/sun/xml/internal/xsom/XmlString.java | 117 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/AnnotationImpl.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/AttGroupDeclImpl.java | 85 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/AttributeDeclImpl.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/AttributeUseImpl.java | 73 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/AttributesHolder.java | 129 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ComplexTypeImpl.java | 299 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ComponentImpl.java | 143 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/Const.java | 32 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ContentTypeImpl.java | 39 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/DeclarationImpl.java | 57 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ElementDecl.java | 235 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/EmptyImpl.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/FacetImpl.java | 62 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ForeignAttributesImpl.java | 59 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/IdentityConstraintImpl.java | 116 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ListSimpleTypeImpl.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ModelGroupDeclImpl.java | 99 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ModelGroupImpl.java | 114 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/NotationImpl.java | 64 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/ParticleImpl.java | 119 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/Ref.java | 99 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/RestrictionSimpleTypeImpl.java | 120 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/SchemaImpl.java | 309 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/SchemaSetImpl.java | 394 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/SimpleTypeImpl.java | 165 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/UName.java | 105 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/UnionSimpleTypeImpl.java | 97 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/Util.java | 100 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/WildcardImpl.java | 199 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/XPathImpl.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/BaseContentRef.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/DefaultAnnotationParser.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/DelayedRef.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/Messages.java | 80 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/Messages.properties | 73 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/Messages_ja.properties | 70 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/NGCCRuntimeEx.java | 516 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/ParserContext.java | 212 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/Patch.java | 38 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/PatcherManager.java | 52 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java | 109 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java | 125 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/SubstGroupBaseTypeRef.java | 47 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/datatypes.xsd | 364 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/AttributesImpl.java | 626 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventReceiver.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventSource.java | 50 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/NGCCHandler.java | 191 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/NGCCInterleaveFilter.java | 350 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/NGCCRuntime.java | 555 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/Schema.java | 1316 +++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java | 390 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java | 491 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java | 465 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/annotation.java | 214 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java | 542 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java | 459 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java | 962 ++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType.java | 2003 +++++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java | 256 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java | 1179 +++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/erSet.java | 184 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/ersSet.java | 186 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/facet.java | 401 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/foreignAttributes.java | 169 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/group.java | 451 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java | 594 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java | 374 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java | 288 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java | 370 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/notation.java | 483 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/occurs.java | 326 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/particle.java | 1013 ++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/qname.java | 170 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/qualification.java | 178 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/redefine.java | 452 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java | 504 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java | 446 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/xpath.java | 316 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/AbstractAxisImpl.java | 187 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/Axis.java | 579 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/Iterators.java | 215 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/ParseException.java | 219 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/SCDImpl.java | 84 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/SCDParser.java | 562 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/SCDParserConstants.java | 98 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/SCDParserTokenManager.java | 2458 +++++++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/SimpleCharStream.java | 464 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/Step.java | 187 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/Token.java | 106 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/scd/TokenMgrError.java | 158 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/DraconianErrorHandler.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/ResourceEntityResolver.java | 41 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/SchemaTreeTraverser.java | 1007 ++ sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java | 607 + sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/Uri.java | 187 + sources/jaxws_src/src/com/sun/xml/internal/xsom/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/AnnotationContext.java | 76 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/AnnotationParser.java | 81 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/AnnotationParserFactory.java | 35 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/JAXPParser.java | 165 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/SchemaDocument.java | 142 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/XMLParser.java | 67 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/XSOMParser.java | 268 + sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/package.html | 30 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/ComponentNameFunction.java | 191 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/DeferedCollection.java | 158 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/DomAnnotationParserFactory.java | 102 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/NameGetter.java | 164 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/NameGetter.properties | 42 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/SimpleTypeSet.java | 55 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/TypeClosure.java | 66 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/TypeSet.java | 79 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/XSFinder.java | 181 + sources/jaxws_src/src/com/sun/xml/internal/xsom/util/XSFunctionFilter.java | 136 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSContentTypeFunction.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSContentTypeVisitor.java | 42 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSFunction.java | 60 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSSimpleTypeFunction.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSSimpleTypeVisitor.java | 43 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSTermFunction.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSTermFunctionWithParam.java | 45 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSTermVisitor.java | 44 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSVisitor.java | 56 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSWildcardFunction.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/XSWildcardVisitor.java | 40 + sources/jaxws_src/src/com/sun/xml/internal/xsom/visitor/package.html | 30 + sources/jaxws_src/src/javax/annotation/Generated.java | 71 + sources/jaxws_src/src/javax/annotation/PostConstruct.java | 62 + sources/jaxws_src/src/javax/annotation/PreDestroy.java | 62 + sources/jaxws_src/src/javax/annotation/Resource.java | 132 + sources/jaxws_src/src/javax/annotation/Resources.java | 46 + sources/jaxws_src/src/javax/jws/HandlerChain.java | 62 + sources/jaxws_src/src/javax/jws/Oneway.java | 42 + sources/jaxws_src/src/javax/jws/WebMethod.java | 69 + sources/jaxws_src/src/javax/jws/WebParam.java | 108 + sources/jaxws_src/src/javax/jws/WebResult.java | 87 + sources/jaxws_src/src/javax/jws/WebService.java | 118 + sources/jaxws_src/src/javax/jws/soap/InitParam.java | 44 + sources/jaxws_src/src/javax/jws/soap/SOAPBinding.java | 79 + sources/jaxws_src/src/javax/jws/soap/SOAPMessageHandler.java | 61 + sources/jaxws_src/src/javax/jws/soap/SOAPMessageHandlers.java | 47 + sources/jaxws_src/src/javax/xml/bind/Binder.java | 421 + sources/jaxws_src/src/javax/xml/bind/ContextFinder.java | 574 + sources/jaxws_src/src/javax/xml/bind/DataBindingException.java | 47 + sources/jaxws_src/src/javax/xml/bind/DatatypeConverter.java | 695 ++ sources/jaxws_src/src/javax/xml/bind/DatatypeConverterImpl.java | 1041 +++ sources/jaxws_src/src/javax/xml/bind/DatatypeConverterInterface.java | 523 + sources/jaxws_src/src/javax/xml/bind/Element.java | 42 + sources/jaxws_src/src/javax/xml/bind/GetPropertyAction.java | 44 + sources/jaxws_src/src/javax/xml/bind/JAXB.java | 629 + sources/jaxws_src/src/javax/xml/bind/JAXBContext.java | 750 ++ sources/jaxws_src/src/javax/xml/bind/JAXBElement.java | 218 + sources/jaxws_src/src/javax/xml/bind/JAXBException.java | 184 + sources/jaxws_src/src/javax/xml/bind/JAXBIntrospector.java | 92 + sources/jaxws_src/src/javax/xml/bind/JAXBPermission.java | 94 + sources/jaxws_src/src/javax/xml/bind/MarshalException.java | 99 + sources/jaxws_src/src/javax/xml/bind/Marshaller.java | 823 ++ sources/jaxws_src/src/javax/xml/bind/Messages.java | 91 + sources/jaxws_src/src/javax/xml/bind/Messages.properties | 51 + sources/jaxws_src/src/javax/xml/bind/NotIdentifiableEvent.java | 39 + sources/jaxws_src/src/javax/xml/bind/ParseConversionEvent.java | 40 + sources/jaxws_src/src/javax/xml/bind/PrintConversionEvent.java | 40 + sources/jaxws_src/src/javax/xml/bind/PropertyException.java | 113 + sources/jaxws_src/src/javax/xml/bind/SchemaOutputResolver.java | 82 + sources/jaxws_src/src/javax/xml/bind/TypeConstraintException.java | 183 + sources/jaxws_src/src/javax/xml/bind/UnmarshalException.java | 101 + sources/jaxws_src/src/javax/xml/bind/Unmarshaller.java | 1142 +++ sources/jaxws_src/src/javax/xml/bind/UnmarshallerHandler.java | 83 + sources/jaxws_src/src/javax/xml/bind/ValidationEvent.java | 92 + sources/jaxws_src/src/javax/xml/bind/ValidationEventHandler.java | 94 + sources/jaxws_src/src/javax/xml/bind/ValidationEventLocator.java | 90 + sources/jaxws_src/src/javax/xml/bind/ValidationException.java | 99 + sources/jaxws_src/src/javax/xml/bind/Validator.java | 285 + sources/jaxws_src/src/javax/xml/bind/WhiteSpaceProcessor.java | 198 + sources/jaxws_src/src/javax/xml/bind/annotation/DomHandler.java | 119 + sources/jaxws_src/src/javax/xml/bind/annotation/W3CDomHandler.java | 109 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAccessOrder.java | 48 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAccessType.java | 70 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAccessorOrder.java | 80 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAccessorType.java | 100 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAnyAttribute.java | 74 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAnyElement.java | 288 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAttachmentRef.java | 74 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlAttribute.java | 152 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlElement.java | 210 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlElementDecl.java | 216 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlElementRef.java | 290 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlElementRefs.java | 59 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlElementWrapper.java | 145 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlElements.java | 177 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlEnum.java | 75 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlEnumValue.java | 123 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlID.java | 94 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlIDREF.java | 250 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlInlineBinaryData.java | 60 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlList.java | 111 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlMimeType.java | 61 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlMixed.java | 132 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlNs.java | 59 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlNsForm.java | 66 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlRegistry.java | 43 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlRootElement.java | 182 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlSchema.java | 206 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlSchemaType.java | 108 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlSchemaTypes.java | 61 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlSeeAlso.java | 79 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlTransient.java | 95 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlType.java | 452 + sources/jaxws_src/src/javax/xml/bind/annotation/XmlValue.java | 131 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java | 119 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java | 49 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java | 92 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/XmlAdapter.java | 193 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java | 116 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java | 62 + sources/jaxws_src/src/javax/xml/bind/annotation/adapters/package.html | 59 + sources/jaxws_src/src/javax/xml/bind/annotation/package.html | 286 + sources/jaxws_src/src/javax/xml/bind/attachment/AttachmentMarshaller.java | 200 + sources/jaxws_src/src/javax/xml/bind/attachment/AttachmentUnmarshaller.java | 139 + sources/jaxws_src/src/javax/xml/bind/attachment/package.html | 68 + sources/jaxws_src/src/javax/xml/bind/helpers/AbstractMarshallerImpl.java | 495 + sources/jaxws_src/src/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java | 435 + sources/jaxws_src/src/javax/xml/bind/helpers/DefaultValidationEventHandler.java | 131 + sources/jaxws_src/src/javax/xml/bind/helpers/Messages.java | 97 + sources/jaxws_src/src/javax/xml/bind/helpers/Messages.properties | 59 + sources/jaxws_src/src/javax/xml/bind/helpers/NotIdentifiableEventImpl.java | 85 + sources/jaxws_src/src/javax/xml/bind/helpers/ParseConversionEventImpl.java | 86 + sources/jaxws_src/src/javax/xml/bind/helpers/PrintConversionEventImpl.java | 86 + sources/jaxws_src/src/javax/xml/bind/helpers/ValidationEventImpl.java | 175 + sources/jaxws_src/src/javax/xml/bind/helpers/ValidationEventLocatorImpl.java | 273 + sources/jaxws_src/src/javax/xml/bind/helpers/package.html | 64 + sources/jaxws_src/src/javax/xml/bind/package.html | 65 + sources/jaxws_src/src/javax/xml/bind/util/JAXBResult.java | 150 + sources/jaxws_src/src/javax/xml/bind/util/JAXBSource.java | 271 + sources/jaxws_src/src/javax/xml/bind/util/Messages.java | 83 + sources/jaxws_src/src/javax/xml/bind/util/Messages.properties | 42 + sources/jaxws_src/src/javax/xml/bind/util/ValidationEventCollector.java | 113 + sources/jaxws_src/src/javax/xml/bind/util/package.html | 59 + sources/jaxws_src/src/javax/xml/soap/AttachmentPart.java | 526 + sources/jaxws_src/src/javax/xml/soap/Detail.java | 99 + sources/jaxws_src/src/javax/xml/soap/DetailEntry.java | 36 + sources/jaxws_src/src/javax/xml/soap/FactoryFinder.java | 182 + sources/jaxws_src/src/javax/xml/soap/MessageFactory.java | 196 + sources/jaxws_src/src/javax/xml/soap/MimeHeader.java | 70 + sources/jaxws_src/src/javax/xml/soap/MimeHeaders.java | 269 + sources/jaxws_src/src/javax/xml/soap/Name.java | 110 + sources/jaxws_src/src/javax/xml/soap/Node.java | 112 + sources/jaxws_src/src/javax/xml/soap/SAAJMetaFactory.java | 113 + sources/jaxws_src/src/javax/xml/soap/SAAJResult.java | 133 + sources/jaxws_src/src/javax/xml/soap/SOAPBody.java | 297 + sources/jaxws_src/src/javax/xml/soap/SOAPBodyElement.java | 43 + sources/jaxws_src/src/javax/xml/soap/SOAPConnection.java | 95 + sources/jaxws_src/src/javax/xml/soap/SOAPConnectionFactory.java | 86 + sources/jaxws_src/src/javax/xml/soap/SOAPConstants.java | 201 + sources/jaxws_src/src/javax/xml/soap/SOAPElement.java | 524 + sources/jaxws_src/src/javax/xml/soap/SOAPElementFactory.java | 137 + sources/jaxws_src/src/javax/xml/soap/SOAPEnvelope.java | 200 + sources/jaxws_src/src/javax/xml/soap/SOAPException.java | 163 + sources/jaxws_src/src/javax/xml/soap/SOAPFactory.java | 292 + sources/jaxws_src/src/javax/xml/soap/SOAPFault.java | 511 + sources/jaxws_src/src/javax/xml/soap/SOAPFaultElement.java | 37 + sources/jaxws_src/src/javax/xml/soap/SOAPHeader.java | 262 + sources/jaxws_src/src/javax/xml/soap/SOAPHeaderElement.java | 166 + sources/jaxws_src/src/javax/xml/soap/SOAPMessage.java | 456 + sources/jaxws_src/src/javax/xml/soap/SOAPPart.java | 265 + sources/jaxws_src/src/javax/xml/soap/Text.java | 42 + sources/jaxws_src/src/javax/xml/soap/package.html | 92 + sources/jaxws_src/src/javax/xml/ws/Action.java | 147 + sources/jaxws_src/src/javax/xml/ws/AsyncHandler.java | 42 + sources/jaxws_src/src/javax/xml/ws/Binding.java | 67 + sources/jaxws_src/src/javax/xml/ws/BindingProvider.java | 182 + sources/jaxws_src/src/javax/xml/ws/BindingType.java | 62 + sources/jaxws_src/src/javax/xml/ws/Dispatch.java | 116 + sources/jaxws_src/src/javax/xml/ws/Endpoint.java | 498 + sources/jaxws_src/src/javax/xml/ws/EndpointContext.java | 59 + sources/jaxws_src/src/javax/xml/ws/EndpointReference.java | 192 + sources/jaxws_src/src/javax/xml/ws/FaultAction.java | 164 + sources/jaxws_src/src/javax/xml/ws/Holder.java | 58 + sources/jaxws_src/src/javax/xml/ws/LogicalMessage.java | 92 + sources/jaxws_src/src/javax/xml/ws/ProtocolException.java | 88 + sources/jaxws_src/src/javax/xml/ws/Provider.java | 63 + sources/jaxws_src/src/javax/xml/ws/RequestWrapper.java | 72 + sources/jaxws_src/src/javax/xml/ws/RespectBinding.java | 68 + sources/jaxws_src/src/javax/xml/ws/RespectBindingFeature.java | 117 + sources/jaxws_src/src/javax/xml/ws/Response.java | 52 + sources/jaxws_src/src/javax/xml/ws/ResponseWrapper.java | 72 + sources/jaxws_src/src/javax/xml/ws/Service.java | 760 ++ sources/jaxws_src/src/javax/xml/ws/ServiceMode.java | 53 + sources/jaxws_src/src/javax/xml/ws/WebEndpoint.java | 56 + sources/jaxws_src/src/javax/xml/ws/WebFault.java | 67 + sources/jaxws_src/src/javax/xml/ws/WebServiceClient.java | 63 + sources/jaxws_src/src/javax/xml/ws/WebServiceContext.java | 151 + sources/jaxws_src/src/javax/xml/ws/WebServiceException.java | 79 + sources/jaxws_src/src/javax/xml/ws/WebServiceFeature.java | 81 + sources/jaxws_src/src/javax/xml/ws/WebServicePermission.java | 85 + sources/jaxws_src/src/javax/xml/ws/WebServiceProvider.java | 62 + sources/jaxws_src/src/javax/xml/ws/WebServiceRef.java | 150 + sources/jaxws_src/src/javax/xml/ws/WebServiceRefs.java | 83 + sources/jaxws_src/src/javax/xml/ws/handler/Handler.java | 87 + sources/jaxws_src/src/javax/xml/ws/handler/HandlerResolver.java | 53 + sources/jaxws_src/src/javax/xml/ws/handler/LogicalHandler.java | 34 + sources/jaxws_src/src/javax/xml/ws/handler/LogicalMessageContext.java | 46 + sources/jaxws_src/src/javax/xml/ws/handler/MessageContext.java | 205 + sources/jaxws_src/src/javax/xml/ws/handler/PortInfo.java | 66 + sources/jaxws_src/src/javax/xml/ws/handler/package.html | 30 + sources/jaxws_src/src/javax/xml/ws/handler/soap/SOAPHandler.java | 49 + sources/jaxws_src/src/javax/xml/ws/handler/soap/SOAPMessageContext.java | 99 + sources/jaxws_src/src/javax/xml/ws/handler/soap/package.html | 30 + sources/jaxws_src/src/javax/xml/ws/http/HTTPBinding.java | 42 + sources/jaxws_src/src/javax/xml/ws/http/HTTPException.java | 56 + sources/jaxws_src/src/javax/xml/ws/http/package.html | 30 + sources/jaxws_src/src/javax/xml/ws/package.html | 30 + sources/jaxws_src/src/javax/xml/ws/soap/Addressing.java | 113 + sources/jaxws_src/src/javax/xml/ws/soap/AddressingFeature.java | 278 + sources/jaxws_src/src/javax/xml/ws/soap/MTOM.java | 75 + sources/jaxws_src/src/javax/xml/ws/soap/MTOMFeature.java | 142 + sources/jaxws_src/src/javax/xml/ws/soap/SOAPBinding.java | 110 + sources/jaxws_src/src/javax/xml/ws/soap/SOAPFaultException.java | 75 + sources/jaxws_src/src/javax/xml/ws/soap/package.html | 30 + sources/jaxws_src/src/javax/xml/ws/spi/FactoryFinder.java | 178 + sources/jaxws_src/src/javax/xml/ws/spi/Invoker.java | 91 + sources/jaxws_src/src/javax/xml/ws/spi/Provider.java | 521 + sources/jaxws_src/src/javax/xml/ws/spi/ServiceDelegate.java | 622 + sources/jaxws_src/src/javax/xml/ws/spi/WebServiceFeatureAnnotation.java | 86 + sources/jaxws_src/src/javax/xml/ws/spi/http/HttpContext.java | 99 + sources/jaxws_src/src/javax/xml/ws/spi/http/HttpExchange.java | 328 + sources/jaxws_src/src/javax/xml/ws/spi/http/HttpHandler.java | 54 + sources/jaxws_src/src/javax/xml/ws/spi/http/package-info.java | 95 + sources/jaxws_src/src/javax/xml/ws/spi/package.html | 30 + sources/jaxws_src/src/javax/xml/ws/wsaddressing/W3CEndpointReference.java | 158 + sources/jaxws_src/src/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java | 356 + sources/jaxws_src/src/javax/xml/ws/wsaddressing/package-info.java | 28 + sources/jaxws_src/src/javax/xml/ws/wsaddressing/package.html | 30 + sources/jaxws_src/src/org/relaxng/datatype/Datatype.java | 270 + sources/jaxws_src/src/org/relaxng/datatype/DatatypeBuilder.java | 78 + sources/jaxws_src/src/org/relaxng/datatype/DatatypeException.java | 72 + sources/jaxws_src/src/org/relaxng/datatype/DatatypeLibrary.java | 70 + sources/jaxws_src/src/org/relaxng/datatype/DatatypeLibraryFactory.java | 59 + sources/jaxws_src/src/org/relaxng/datatype/DatatypeStreamingValidator.java | 79 + sources/jaxws_src/src/org/relaxng/datatype/ValidationContext.java | 99 + sources/jaxws_src/src/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java | 261 + sources/jaxws_src/src/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java | 75 + sources/jaxws_src/src/org/relaxng/datatype/helpers/StreamingValidatorImpl.java | 88 + 2884 files changed, 472966 insertions(+), 1 deletions(-) diffs (truncated from 484552 to 500 lines): diff -r c3b6659aa169 -r 78ae35b1ed35 .hgtags --- a/.hgtags Fri Feb 17 09:47:44 2012 -0800 +++ b/.hgtags Wed May 02 13:15:42 2012 -0400 @@ -50,6 +50,7 @@ 558985e26fe16f5a6ebb2edb9180a42e1c8e8202 jdk7-b73 f4466e1b608088c90e11beaa4b600f102608c6a1 jdk7-b74 fcf2b8b5d606641659419f247fcee4b284c45e6e jdk7-b75 +0dc08d528c998ca993e759b311e7b54c98e0ef28 icedtea7-1.12 765d2077d1e652e234d27fe85ba58a986b488503 jdk7-b76 5b4968c110476085225d3a71c4210fad2c1116c1 jdk7-b77 fc1c72d1dfbb17db7d46bba8db9afc39cbbb9299 jdk7-b78 @@ -63,6 +64,7 @@ 512b0e924a5ae0c0b7ad326182cae0dc0e4d1aa8 jdk7-b86 3febd6fab2ac8ffddbaf7bed00d11290262af153 jdk7-b87 8c666f8f3565974e301ccb58b7538912551a6e26 jdk7-b88 +1661166c82dc2102f3f0364e28d1e4211f25a4cf icedtea7-1.13 bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89 ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90 cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91 @@ -111,6 +113,7 @@ 545de8303fec939db3892f7c324dd7df197e8f09 jdk7-b134 d5fc61f18043765705ef22b57a68c924ab2f1a5b jdk7-b135 c81d289c9a532d6e94af3c09d856a2a20529040f jdk7-b136 +339c2d381d80dbf9b74604e6ba43ead276b8024e icedtea-1.14 ccea3282991ce8b678e188cf32a8239f76ff3bfa jdk7-b137 cc956c8a8255583535597e9a63db23c510e9a063 jdk7-b138 c025078c8362076503bb83b8e4da14ba7b347940 jdk7-b139 @@ -123,6 +126,7 @@ 05469dd4c3662c454f8a019e492543add60795cc jdk7-b146 c01bfd68d0528bc88348813c4d75d7f5c62bc4e2 jdk7u1-b01 d13b1f877bb5ed8dceb2f7ec10365d1db5f70b2d jdk7-b147 +e6cd09c7ef22bbabe31c9f2a32c7e13cfa713fd3 icedtea-2.0-branchpoint 4c24f7019ce939a452154a83151294ad7da66a9d jdk7u1-b02 272778f529d11081f548f37fcd6a7aec0b11a8dd jdk7u1-b03 48b06a6e6f46e5bcd610f4bed57cd5067cf31f8c jdk7u1-b04 @@ -141,6 +145,7 @@ 21131044a61353ac20e360bce52d8f480e08d7a2 jdk7u2-b12 9728fd833e01faa5e51484aeaf3c51d32d1175fb jdk7u2-b13 d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u2-b21 +d26ff33070cb75a0a7349d965ec4f0930ded418d icedtea-2.1-branchpoint d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u3-b02 44e824502fa24440f907205ccdc3959d01bd8109 jdk7u3-b03 6e1cc321aacea944691aa06558f2bbad89baf5b3 jdk7u3-b04 @@ -157,3 +162,14 @@ 3891fe529057431278394c6341cfabaacd5061f5 jdk7u4-b10 2df5cd83fab91f050c4bac54aa06e174ecee38f4 jdk7u4-b11 4d3a9fe44f7531642bc739ec3c8efb2e6d9e08c7 jdk7u4-b12 +1854d8e2547cb18ebcf84db13c22d0987c49c274 icedtea-2.2-branchpoint +c3b6659aa169b3f249246497a8d5a87baa1e798a jdk7u4-b13 +0f8963feaefda21e72f84b8ea49834a289d537f3 jdk7u4-b14 +61516652b59ec411678b38a232a84413652a4172 jdk7u4-b15 +f315a26035754ffb67ca3a18851c14be6d48cdad jdk7u4-b16 +2579444eddbd570e0057798454d44189725ab8c4 jdk7u4-b17 +5ccaa7bb5f6457fa4bea6ac7b937f8f6bb089288 jdk7u4-b18 +c2af5c42dc5e8d5c2870ec3df00f39d9ee379398 jdk7u4-b19 +ee1f14434585a69539d7d56cc68b73992bad90c6 jdk7u4-b20 +0eb54a680b09d7033223db125a804bfdb1289687 jdk7u4-b30 +38baffe9be463b5a750623c892fb942528e10a43 jdk7u4-b21 \ No newline at end of file diff -r c3b6659aa169 -r 78ae35b1ed35 build.properties --- a/build.properties Fri Feb 17 09:47:44 2012 -0800 +++ b/build.properties Wed May 02 13:15:42 2012 -0400 @@ -72,11 +72,14 @@ drop.expanded.dir=${output.dir}/drop # Location if the sources were included already -drop.included.dir=./drop_included +drop.included.dir=./sources # Where patches to drop bundle sources live patches.dir=patches +# Patches to apply +jaxws_src.patch.list=xjc.patch + # Sanity information sanity.info= Sanity Settings:${line.separator}\ ant.home=${ant.home}${line.separator}\ diff -r c3b6659aa169 -r 78ae35b1ed35 patches/jaxws_src/xjc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jaxws_src/xjc.patch Wed May 02 13:15:42 2012 -0400 @@ -0,0 +1,17 @@ +--- src/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java.prev 2008-10-21 15:50:20.000000000 +0100 ++++ src/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java 2008-10-21 15:57:37.000000000 +0100 +@@ -66,6 +66,14 @@ + + SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI); + sf.setErrorHandler(errorFilter); ++ try { ++ // By default the SchemaFactory imposes a limit of 5000 on ++ // xsd:sequence maxOccurs if a SecurityManager is ++ // installed. This breaks the specification of xjc, ++ // causing TCK failures. ++ sf.setProperty("http://apache.org/xml/properties/security-manager", null); ++ } catch (SAXException e) { ++ } + if( entityResolver != null ) { + sf.setResourceResolver(new LSResourceResolver() { + public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { diff -r c3b6659aa169 -r 78ae35b1ed35 sources/jaf_src/LICENSE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/jaf_src/LICENSE Wed May 02 13:15:42 2012 -0400 @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., 59 + Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Sun Microsystems, Inc. are subject to +the following clarification and special exception to the GPL, but only where +Sun has expressly included in the particular source file's header the words +"Sun designates this particular file as subject to the "Classpath" exception +as provided by Sun in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff -r c3b6659aa169 -r 78ae35b1ed35 sources/jaf_src/src/META-INF/mailcap.default --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/jaf_src/src/META-INF/mailcap.default Wed May 02 13:15:42 2012 -0400 @@ -0,0 +1,7 @@ +# +# This is a very simple 'mailcap' file +# +image/gif;; x-java-view=com.sun.activation.viewers.ImageViewer +image/jpeg;; x-java-view=com.sun.activation.viewers.ImageViewer +text/*;; x-java-view=com.sun.activation.viewers.TextViewer +text/*;; x-java-edit=com.sun.activation.viewers.TextEditor diff -r c3b6659aa169 -r 78ae35b1ed35 sources/jaf_src/src/META-INF/mimetypes.default --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/jaf_src/src/META-INF/mimetypes.default Wed May 02 13:15:42 2012 -0400 @@ -0,0 +1,24 @@ +# +# A simple, old format, mime.types file +# +text/html html htm HTML HTM +text/plain txt text TXT TEXT +image/gif gif GIF +image/ief ief +image/jpeg jpeg jpg jpe JPG +image/tiff tiff tif +image/x-xwindowdump xwd +application/postscript ai eps ps +application/rtf rtf +application/x-tex tex +application/x-texinfo texinfo texi +application/x-troff t tr roff +audio/basic au +audio/midi midi mid +audio/x-aifc aifc +audio/x-aiff aif aiff +audio/x-mpeg mpeg mpg +audio/x-wav wav +video/mpeg mpeg mpg mpe +video/quicktime qt mov +video/x-msvideo avi diff -r c3b6659aa169 -r 78ae35b1ed35 sources/jaf_src/src/com/sun/activation/registries/LogSupport.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/jaf_src/src/com/sun/activation/registries/LogSupport.java Wed May 02 13:15:42 2012 -0400 @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this From dbhole at icedtea.classpath.org Wed May 2 13:56:12 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:56:12 +0000 Subject: /hg/release/icedtea7-forest-2.2/jdk: 82 new changesets Message-ID: changeset 09f612bac047 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=09f612bac047 author: katleman date: Thu Feb 23 15:14:37 2012 -0800 Added tag jdk7u4-b13 for changeset c929e96aa059 changeset 00f0f18379ec in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=00f0f18379ec author: katleman date: Thu Mar 01 13:45:02 2012 -0800 Added tag jdk7u4-b14 for changeset 09f612bac047 changeset 585c02351350 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=585c02351350 author: katleman date: Thu Mar 08 11:19:41 2012 -0800 Added tag jdk7u4-b15 for changeset 00f0f18379ec changeset 05e342dd44de in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=05e342dd44de author: anthony date: Tue Feb 28 16:39:46 2012 +0400 7132692: [macosx] Class com.apple.eawt not functioning Summary: Postpone setting an application delegate until an app is fully initialized Reviewed-by: art changeset 50a6f9870b3e in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=50a6f9870b3e author: dsamersoff date: Wed Feb 29 16:19:10 2012 +0400 7110104: It should be possible to stop and start JMX Agent at runtime Summary: Added a capability to start and stop JMX Agent by jcmd Reviewed-by: acorn, mchung changeset 4ab378286f66 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=4ab378286f66 author: rupashka date: Mon Mar 05 15:27:15 2012 +0200 7107099: JScrollBar does not show up even if there are enough lebgth of textstring in textField Reviewed-by: alexp, art changeset 2b9fbd5a6ec0 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=2b9fbd5a6ec0 author: anthony date: Mon Mar 05 18:58:51 2012 +0400 7150516: [macosx] appletviewer shouldn't link against libX11 on the Mac Summary: Don't link against libX11 on the Mac Reviewed-by: swingler changeset 9bc378ddbc27 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=9bc378ddbc27 author: alexp date: Mon Mar 05 23:41:10 2012 +0400 7132793: [macosx] setWheelScrollEnabled action reversed Reviewed-by: serb, art changeset fd9fe385f63c in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=fd9fe385f63c author: alexp date: Mon Mar 05 23:51:33 2012 +0400 7146131: [macosx] When click the show optionpane button,it display partly of dialog and hung until timeout Reviewed-by: anthony changeset 4bf554db8ed9 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=4bf554db8ed9 author: alexp date: Mon Mar 05 23:59:58 2012 +0400 7147078: [macosx] Echo char set in TextField doesn't prevent word jumping Reviewed-by: art changeset 5a50422d53d8 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=5a50422d53d8 author: dcherepanov date: Tue Mar 06 15:14:33 2012 +0400 7147066: [macosx] FileDialog.getDirectory() returns incorrect directory Reviewed-by: anthony, swingler changeset d87f0d9134a9 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=d87f0d9134a9 author: kizune date: Tue Mar 06 19:41:39 2012 +0300 7124262: [macosx] Drag events go to a wrong child. Reviewed-by: alexp, serb changeset 588ca1d04a7f in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=588ca1d04a7f author: bagiras date: Tue Mar 06 22:12:19 2012 +0400 7145980: Dispose method of window.java takes long Reviewed-by: anthony changeset 3ddf17681087 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=3ddf17681087 author: alexsch date: Wed Mar 07 15:50:02 2012 +0300 7148281: [macosx] JTabbedPane tabs with HTML text do not render correctly Reviewed-by: kizune changeset e84d607e9b13 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=e84d607e9b13 author: mullan date: Wed Mar 07 09:16:20 2012 -0500 7146431: java.security files out-of-sync Reviewed-by: vinnie, xuelei, wetmore changeset ffdd6fa55445 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ffdd6fa55445 author: mullan date: Wed Mar 07 09:18:46 2012 -0500 Merge changeset ef3503a5a3b9 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ef3503a5a3b9 author: lana date: Wed Mar 07 17:23:03 2012 -0800 Merge changeset 67e66dee832b in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=67e66dee832b author: lana date: Mon Mar 12 14:55:53 2012 -0700 Merge changeset ced385dce903 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ced385dce903 author: mfang date: Mon Mar 12 15:48:03 2012 -0700 7146099: NLS: [de,es,it,ko,pt_BR]launcher_**.properties, double backslash issue. Reviewed-by: psun changeset df20c60949f8 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=df20c60949f8 author: mfang date: Mon Mar 12 16:42:36 2012 -0700 Merge changeset b4401b362fd8 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=b4401b362fd8 author: katleman date: Fri Mar 16 07:29:53 2012 -0700 Added tag jdk7u4-b16 for changeset df20c60949f8 changeset 0dc35287a84e in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=0dc35287a84e author: katleman date: Thu Mar 22 14:11:17 2012 -0700 Added tag jdk7u4-b17 for changeset b4401b362fd8 changeset ecbd4c9fc9c1 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ecbd4c9fc9c1 author: bae date: Sun Mar 11 10:51:45 2012 +0400 7124219: [macosx] Unable to draw images to fullscreen Reviewed-by: serb changeset a2fe76236162 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=a2fe76236162 author: lana date: Mon Mar 12 16:02:37 2012 -0700 Merge changeset 93eda4253911 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=93eda4253911 author: anthony date: Wed Mar 14 07:03:51 2012 +0400 7148275: [macosx] setIconImages() not working correctly (distorted icon when minimized) Summary: Choose the largest icon from a list of icons provided by user Reviewed-by: swingler changeset 4c592e287e7d in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=4c592e287e7d author: serb date: Wed Mar 14 12:27:00 2012 +0400 7124523: [macosx] b216: Mising part of applet UI Reviewed-by: anthony changeset c1a0898b5fc3 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=c1a0898b5fc3 author: serb date: Wed Mar 14 12:29:32 2012 +0400 7124537: [macosx] Menu shortcuts for all menu items should be disabled if a menu itself is disabled Reviewed-by: anthony changeset 91ede930328c in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=91ede930328c author: serb date: Wed Mar 14 12:31:25 2012 +0400 7149913: [macosx] Deadlock in LWTextComponentPeer Reviewed-by: alexp changeset e00e98bc0c0e in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=e00e98bc0c0e author: ant date: Wed Mar 14 16:49:50 2012 +0300 7125044: [macosx] Test failure because Component.transferFocus() works differently in applet and application Reviewed-by: art changeset 54b91467ed95 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=54b91467ed95 author: leonidr date: Thu Mar 15 20:55:45 2012 +0400 7124321: [macosx] TrayIcon MouseListener is never triggered Reviewed-by: anthony changeset 55126bbf3cc9 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=55126bbf3cc9 author: bae date: Fri Mar 16 11:39:31 2012 +0400 7152608: [macosx] Crash in liblwawt.dylib in AccelGlyphCache_RemoveCellInfo Reviewed-by: kizune changeset df49f9ddd89f in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=df49f9ddd89f author: ant date: Fri Mar 16 13:58:43 2012 +0300 7145827: [macosx] JCK failure in b11: FocusableWindow3 Reviewed-by: art changeset e1074508e049 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=e1074508e049 author: mrkam date: Fri Mar 02 12:24:35 2012 +0200 7130241: [macosx] TransparentRuler demo can not run due to lacking of perpixel transparency support Reviewed-by: art changeset 8ce5bf8bfc5b in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=8ce5bf8bfc5b author: bpatel date: Fri Mar 16 15:20:53 2012 -0700 7153977: Generate English man pages for JDK 7u4 Reviewed-by: skannan changeset 3470e0ad6cc0 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=3470e0ad6cc0 author: kizune date: Wed Mar 21 17:14:41 2012 +0400 7144063: [macosx] Swing JMenu mnemonic doesn't work; hint misleading; cross symbol typed Reviewed-by: leonidr, skovatch, swingler changeset 875951474ebd in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=875951474ebd author: alexp date: Wed Mar 21 19:26:48 2012 +0400 7149005: [macosx] Orphaned Choice popup window Reviewed-by: ant changeset 28cf821cd6a1 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=28cf821cd6a1 author: anthony date: Wed Mar 21 20:10:14 2012 +0400 7154177: [macosx] An invisible owner frame becomes visible upon clicking a child window Summary: Only visible frames must participate in the parent-child relationship on the native level Reviewed-by: serb changeset 0b7acd016f8c in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=0b7acd016f8c author: anthony date: Wed Mar 21 20:17:07 2012 +0400 7124428: [macosx] Frame.setExtendedState() doesn't work for undecorated windows Summary: Emulate -zoom request for undecorated windows Reviewed-by: swingler changeset fdd008c3ef5a in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=fdd008c3ef5a author: anthony date: Wed Mar 21 20:22:03 2012 +0400 7149085: [macosx] Quit with QuitStrategy CLOSE_ALL_WINDOWS does terminate application Summary: Don't terminate the event loop. System.exit() will take care of it. Reviewed-by: art, kizune changeset ec390d13b0b3 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ec390d13b0b3 author: ant date: Wed Mar 21 20:31:28 2012 +0300 7145768: [macosx] Regression: failure in b11 of ModalDialogInFocusEventTest Reviewed-by: art changeset 6572dc1873ab in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=6572dc1873ab author: leonidr date: Wed Mar 21 20:46:36 2012 +0400 7124286: [macosx] Option modifier should work like AltGr as in Apple jdk 6 Summary: Refactored printable character check out of the performAction method Reviewed-by: swingler, alexp changeset 9b195bfce3eb in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=9b195bfce3eb author: alexp date: Wed Mar 21 22:02:01 2012 +0400 7152952: [macosx] List rows overlap with enlarged font Reviewed-by: serb changeset 25285b7883d4 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=25285b7883d4 author: dcherepanov date: Thu Mar 22 01:03:42 2012 +0400 7154516: [macosx] Popup menus have no visible borders Reviewed-by: serb changeset af118cc1bef7 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=af118cc1bef7 author: ant date: Thu Mar 22 02:44:01 2012 +0300 7154072: [macosx] swallowing key events Reviewed-by: anthony changeset 214f68c9b1a9 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=214f68c9b1a9 author: alexp date: Thu Mar 22 02:52:20 2012 +0300 7149005: [macosx] Java Control Panel's UI controls are distorted when draging scroll bar. Reviewed-by: anthony, dcherepanov changeset 58b19dcdb7fc in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=58b19dcdb7fc author: bpatel date: Wed Mar 21 15:34:06 2012 -0700 7155419: Remove reference to JRockit and commercial features from java man page Reviewed-by: wetmore, ksrini changeset aef6d319f066 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=aef6d319f066 author: bpatel date: Wed Mar 21 15:56:41 2012 -0700 Merge changeset 413f9c1e20c9 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=413f9c1e20c9 author: lana date: Wed Mar 21 17:33:35 2012 -0700 Merge changeset 084825fc677e in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=084825fc677e author: lana date: Sun Mar 25 22:10:29 2012 -0700 Merge changeset d37f475a6aa0 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=d37f475a6aa0 author: cl date: Thu Mar 29 15:42:39 2012 -0700 Added tag jdk7u4-b18 for changeset 084825fc677e changeset eb5638c97409 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=eb5638c97409 author: fparain date: Wed Mar 28 01:43:22 2012 -0700 7156831: The jcmd man page is not included in generated bundles Reviewed-by: dholmes, sla, dsamersoff changeset d55642417017 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=d55642417017 author: kizune date: Wed Mar 28 16:36:03 2012 +0400 7153735: [macosx] Text with diacritics is pasted with broken encoding Reviewed-by: bae, art changeset 5c703dacb076 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=5c703dacb076 author: bae date: Wed Mar 28 17:04:01 2012 +0400 7154047: [macosx] When we choose print one page in the print dialog,it still prints all the pages. Reviewed-by: anthony changeset e5dacb9278b5 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=e5dacb9278b5 author: nloodin date: Fri Mar 23 11:02:11 2012 +0100 7156000: Change makefile to reflect refactored classes Reviewed-by: dholmes, sla changeset e80c166c37b0 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=e80c166c37b0 author: nloodin date: Wed Mar 28 09:09:52 2012 -0400 Merge changeset 8a3c4f03855b in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=8a3c4f03855b author: nloodin date: Wed Mar 28 09:12:00 2012 -0400 Merge changeset 1dff65eca846 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=1dff65eca846 author: leonidr date: Wed Mar 28 19:04:15 2012 +0400 7150089: [macosx] Default for a custom cursor created from non-existent image is not transparent Reviewed-by: swingler changeset 2e90db16f9af in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=2e90db16f9af author: leonidr date: Wed Mar 28 19:08:32 2012 +0400 7154480: [macosx] Not all popup menu items are visible Reviewed-by: swingler, anthony changeset ad6710b8b7c1 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ad6710b8b7c1 author: lana date: Wed Mar 28 13:04:22 2012 -0700 Merge changeset 043ff369ad32 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=043ff369ad32 author: lana date: Mon Apr 02 14:57:51 2012 -0700 Merge changeset 0ca36a938b14 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=0ca36a938b14 author: mfang date: Mon Apr 02 10:08:53 2012 -0700 7090832: Some locale info are not localized for some languages. Reviewed-by: psun, naoto changeset 3da1e601ecf3 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=3da1e601ecf3 author: mfang date: Mon Apr 02 11:55:10 2012 -0700 Merge changeset 94ba195ce8a1 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=94ba195ce8a1 author: mfang date: Mon Apr 02 10:15:54 2012 -0700 7154770: NLS: 7u4 man page update Reviewed-by: yhuang changeset 3dd51e801d02 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=3dd51e801d02 author: mfang date: Mon Apr 02 14:15:38 2012 -0700 Merge changeset df5bcdff3def in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=df5bcdff3def author: mfang date: Mon Apr 02 16:08:09 2012 -0700 Merge changeset 0f9aacb27534 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=0f9aacb27534 author: mbankal date: Thu Mar 15 11:11:04 2012 -0700 7129872: test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failing on non-Solaris platforms on 7u4 Reviewed-by: weijun changeset 8cc3139f5e61 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=8cc3139f5e61 author: katleman date: Thu Apr 05 15:10:53 2012 -0700 Added tag jdk7u4-b19 for changeset 0f9aacb27534 changeset 54524889bf8b in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=54524889bf8b author: wetmore date: Mon Apr 02 11:29:36 2012 -0700 7142172: Custom TrustManagers that return null for getAcceptedIssuers will NPE Reviewed-by: xuelei changeset 065fdd98fe75 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=065fdd98fe75 author: peytoia date: Tue Apr 03 18:21:28 2012 +0900 7158483: (tz) Support tzdata2012c Reviewed-by: okutsu changeset 413dbfa67967 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=413dbfa67967 author: lana date: Tue Apr 03 10:11:41 2012 -0700 Merge changeset ea266cd69e40 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ea266cd69e40 author: lana date: Tue Apr 03 17:14:02 2012 -0700 Merge changeset 68961e0a6ea4 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=68961e0a6ea4 author: jmelvin date: Wed Apr 04 12:45:03 2012 -0400 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 Summary: On Mac OS X, align system property "os.arch" with Apple legacy JDKs. Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories. Reviewed-by: dcubed, phh, ohair, katleman changeset 6bc860cd5ccf in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=6bc860cd5ccf author: michaelm date: Wed Apr 04 23:15:58 2012 +0100 7134701: [macosx] Support legacy native library names Reviewed-by: alanb, skovatch, jmelvin changeset 40084a75a36f in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=40084a75a36f author: bae date: Sat Apr 07 12:46:32 2012 +0400 7154505: [macosx] NetBeans sometimes starts with no text rendered Reviewed-by: prr, kizune changeset 24a9125a2c96 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=24a9125a2c96 author: anthony date: Mon Apr 09 16:21:33 2012 +0400 7159266: [macosx] ApplicationDelegate should not be set in the headless mode Summary: Don't install an application delegate in headless mode Reviewed-by: swingler, snorthov, skovatch changeset 1a495432b42a in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=1a495432b42a author: lana date: Mon Apr 09 08:59:28 2012 -0700 Merge changeset 81a0f71a895e in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=81a0f71a895e author: katleman date: Thu Apr 12 14:16:00 2012 -0700 Added tag jdk7u4-b20 for changeset 1a495432b42a changeset fdcaddec3b9d in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=fdcaddec3b9d author: katleman date: Mon Apr 16 15:03:55 2012 -0700 Added tag jdk7u4-b30 for changeset 81a0f71a895e changeset 71f3de57c188 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=71f3de57c188 author: skovatch date: Thu Apr 19 18:44:25 2012 -0700 7162440: Fix typo in BUNDLE_ID variable so it can be overridden Reviewed-by: lana changeset 0573d282ca24 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=0573d282ca24 author: lana date: Thu Apr 19 18:53:28 2012 -0700 Merge changeset 42ca70fcb2ce in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=42ca70fcb2ce author: katleman date: Fri Apr 20 11:09:37 2012 -0700 Added tag jdk7u4-b21 for changeset 0573d282ca24 changeset a0d124b90763 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=a0d124b90763 author: Deepak Bhole date: Wed May 02 13:15:49 2012 -0400 Merge diffstat: .hgtags | 16 + jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java | 97 + make/com/sun/java/pack/Makefile | 22 +- make/common/Defs-linux.gmk | 28 +- make/common/Defs-macosx.gmk | 17 +- make/common/Defs-solaris.gmk | 5 + make/common/Defs-windows.gmk | 5 + make/common/Program.gmk | 10 +- make/common/Release-macosx.gmk | 4 +- make/common/Release.gmk | 27 +- make/common/shared/Compiler-gcc.gmk | 78 +- make/common/shared/Defs-java.gmk | 20 +- make/common/shared/Defs-versions.gmk | 2 +- make/common/shared/Defs.gmk | 2 +- make/common/shared/Platform.gmk | 13 +- make/common/shared/Sanity.gmk | 8 + make/java/awt/Makefile | 2 +- make/java/java/FILES_java.gmk | 1 + make/java/jli/Makefile | 38 +- make/java/net/FILES_c.gmk | 7 + make/java/net/Makefile | 26 +- make/java/nio/Makefile | 218 +- make/java/version/Makefile | 5 + make/java/zip/FILES_c.gmk | 2 +- make/java/zip/Makefile | 6 +- make/javax/crypto/Makefile | 3 +- make/javax/sound/SoundDefs.gmk | 48 + make/javax/sound/jsoundalsa/Makefile | 2 +- make/jdk_generic_profile.sh | 81 +- make/launchers/Makefile.launcher | 6 +- make/sun/awt/FILES_c_unix.gmk | 10 + make/sun/awt/Makefile | 2 +- make/sun/awt/mawt.gmk | 39 +- make/sun/cmm/lcms/FILES_c_unix.gmk | 7 +- make/sun/cmm/lcms/Makefile | 8 +- make/sun/font/Makefile | 6 +- make/sun/javazic/tzdata/VERSION | 2 +- make/sun/javazic/tzdata/africa | 36 +- make/sun/javazic/tzdata/antarctica | 21 +- make/sun/javazic/tzdata/asia | 72 +- make/sun/javazic/tzdata/australasia | 44 +- make/sun/javazic/tzdata/backward | 2 +- make/sun/javazic/tzdata/europe | 83 +- make/sun/javazic/tzdata/leapseconds | 42 +- make/sun/javazic/tzdata/northamerica | 153 +- make/sun/javazic/tzdata/southamerica | 72 +- make/sun/javazic/tzdata/zone.tab | 5 +- make/sun/jpeg/FILES_c.gmk | 6 +- make/sun/jpeg/Makefile | 11 +- make/sun/net/FILES_java.gmk | 1 + make/sun/splashscreen/FILES_c.gmk | 78 +- make/sun/splashscreen/Makefile | 42 +- make/sun/xawt/FILES_c_unix.gmk | 20 + make/sun/xawt/Makefile | 62 +- make/tools/Makefile | 2 + make/tools/freetypecheck/Makefile | 2 +- make/tools/generate_nimbus/Makefile | 1 + make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java | 22 +- make/tools/src/build/tools/compileproperties/CompileProperties.java | 9 +- make/tools/src/build/tools/dirdiff/DirDiff.java | 4 +- make/tools/src/build/tools/dtdbuilder/DTDBuilder.java | 34 +- make/tools/src/build/tools/dtdbuilder/DTDInputStream.java | 6 +- make/tools/src/build/tools/dtdbuilder/DTDParser.java | 44 +- make/tools/src/build/tools/dtdbuilder/PublicMapping.java | 6 +- make/tools/src/build/tools/generatebreakiteratordata/CharSet.java | 16 +- make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java | 8 +- make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java | 6 +- make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java | 201 +- make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java | 6 +- make/tools/src/build/tools/generatecharacter/GenerateCharacter.java | 4 +- make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java | 147 +- make/tools/src/build/tools/generatecharacter/UnicodeSpec.java | 22 +- make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java | 4 +- make/tools/src/build/tools/hasher/Hasher.java | 38 +- make/tools/src/build/tools/jarsplit/JarSplit.java | 5 +- make/tools/src/build/tools/javazic/Gen.java | 14 +- make/tools/src/build/tools/javazic/GenDoc.java | 16 +- make/tools/src/build/tools/javazic/Main.java | 3 +- make/tools/src/build/tools/javazic/Simple.java | 23 +- make/tools/src/build/tools/javazic/Time.java | 10 +- make/tools/src/build/tools/javazic/Zoneinfo.java | 18 +- make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java | 7 +- make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java | 7 +- make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java | 14 +- make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java | 26 +- make/tools/src/build/tools/jdwpgen/AltNode.java | 4 +- make/tools/src/build/tools/jdwpgen/CommandSetNode.java | 11 +- make/tools/src/build/tools/jdwpgen/ConstantSetNode.java | 9 +- make/tools/src/build/tools/jdwpgen/ErrorSetNode.java | 9 +- make/tools/src/build/tools/jdwpgen/Node.java | 25 +- make/tools/src/build/tools/jdwpgen/OutNode.java | 14 +- make/tools/src/build/tools/jdwpgen/RootNode.java | 10 +- make/tools/src/build/tools/jdwpgen/SelectNode.java | 10 +- make/tools/src/build/tools/makeclasslist/MakeClasslist.java | 15 +- make/tools/src/build/tools/stripproperties/StripProperties.java | 4 +- src/linux/doc/man/appletviewer.1 | 7 +- src/linux/doc/man/apt.1 | 4 +- src/linux/doc/man/extcheck.1 | 2 +- src/linux/doc/man/idlj.1 | 10 +- src/linux/doc/man/ja/appletviewer.1 | 23 +- src/linux/doc/man/ja/apt.1 | 62 +- src/linux/doc/man/ja/extcheck.1 | 18 +- src/linux/doc/man/ja/idlj.1 | 160 +- src/linux/doc/man/ja/jar.1 | 182 +- src/linux/doc/man/ja/jarsigner.1 | 677 +- src/linux/doc/man/ja/java.1 | 465 +- src/linux/doc/man/ja/javac.1 | 448 +- src/linux/doc/man/ja/javadoc.1 | 1869 ++++----- src/linux/doc/man/ja/javah.1 | 43 +- src/linux/doc/man/ja/javap.1 | 48 +- src/linux/doc/man/ja/javaws.1 | 62 +- src/linux/doc/man/ja/jcmd.1 | 124 + src/linux/doc/man/ja/jconsole.1 | 47 +- src/linux/doc/man/ja/jdb.1 | 146 +- src/linux/doc/man/ja/jhat.1 | 42 +- src/linux/doc/man/ja/jinfo.1 | 34 +- src/linux/doc/man/ja/jmap.1 | 40 +- src/linux/doc/man/ja/jps.1 | 72 +- src/linux/doc/man/ja/jrunscript.1 | 50 +- src/linux/doc/man/ja/jsadebugd.1 | 41 +- src/linux/doc/man/ja/jstack.1 | 34 +- src/linux/doc/man/ja/jstat.1 | 638 +- src/linux/doc/man/ja/jstatd.1 | 81 +- src/linux/doc/man/ja/jvisualvm.1 | 30 +- src/linux/doc/man/ja/keytool.1 | 590 +- src/linux/doc/man/ja/native2ascii.1 | 20 +- src/linux/doc/man/ja/orbd.1 | 120 +- src/linux/doc/man/ja/pack200.1 | 104 +- src/linux/doc/man/ja/policytool.1 | 105 +- src/linux/doc/man/ja/rmic.1 | 98 +- src/linux/doc/man/ja/rmid.1 | 106 +- src/linux/doc/man/ja/rmiregistry.1 | 24 +- src/linux/doc/man/ja/schemagen.1 | 52 +- src/linux/doc/man/ja/serialver.1 | 26 +- src/linux/doc/man/ja/servertool.1 | 44 +- src/linux/doc/man/ja/tnameserv.1 | 147 +- src/linux/doc/man/ja/unpack200.1 | 52 +- src/linux/doc/man/ja/wsgen.1 | 40 +- src/linux/doc/man/ja/wsimport.1 | 60 +- src/linux/doc/man/ja/xjc.1 | 111 +- src/linux/doc/man/jar.1 | 18 +- src/linux/doc/man/jarsigner.1 | 18 +- src/linux/doc/man/java.1 | 198 +- src/linux/doc/man/javac.1 | 34 +- src/linux/doc/man/javadoc.1 | 64 +- src/linux/doc/man/javah.1 | 2 +- src/linux/doc/man/javap.1 | 2 +- src/linux/doc/man/javaws.1 | 6 +- src/linux/doc/man/jcmd.1 | 104 +- src/linux/doc/man/jconsole.1 | 14 +- src/linux/doc/man/jdb.1 | 8 +- src/linux/doc/man/jhat.1 | 4 +- src/linux/doc/man/jinfo.1 | 2 +- src/linux/doc/man/jmap.1 | 2 +- src/linux/doc/man/jps.1 | 2 +- src/linux/doc/man/jrunscript.1 | 4 +- src/linux/doc/man/jsadebugd.1 | 6 +- src/linux/doc/man/jstack.1 | 4 +- src/linux/doc/man/jstat.1 | 28 +- src/linux/doc/man/jstatd.1 | 6 +- src/linux/doc/man/jvisualvm.1 | 4 +- src/linux/doc/man/keytool.1 | 20 +- src/linux/doc/man/native2ascii.1 | 4 +- src/linux/doc/man/orbd.1 | 16 +- src/linux/doc/man/pack200.1 | 6 +- src/linux/doc/man/policytool.1 | 63 +- src/linux/doc/man/rmic.1 | 6 +- src/linux/doc/man/rmid.1 | 8 +- src/linux/doc/man/rmiregistry.1 | 6 +- src/linux/doc/man/schemagen.1 | 4 +- src/linux/doc/man/serialver.1 | 4 +- src/linux/doc/man/servertool.1 | 2 +- src/linux/doc/man/tnameserv.1 | 16 +- src/linux/doc/man/unpack200.1 | 6 +- src/linux/doc/man/wsgen.1 | 4 +- src/linux/doc/man/wsimport.1 | 6 +- src/linux/doc/man/xjc.1 | 4 +- src/macosx/bin/x86_64/jvm.cfg | 39 + src/macosx/classes/com/apple/eawt/_AppEventHandler.java | 5 +- src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java | 8 +- src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java | 2 +- src/macosx/classes/com/apple/laf/AquaKeyBindings.java | 15 + src/macosx/classes/com/apple/laf/AquaLookAndFeel.java | 5 +- src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java | 2 +- src/macosx/classes/java/lang/ClassLoaderHelper.java | 47 + src/macosx/classes/sun/font/CStrike.java | 10 +- src/macosx/classes/sun/font/CStrikeDisposer.java | 2 + src/macosx/classes/sun/lwawt/LWChoicePeer.java | 33 +- src/macosx/classes/sun/lwawt/LWComponentPeer.java | 108 +- src/macosx/classes/sun/lwawt/LWListPeer.java | 9 + src/macosx/classes/sun/lwawt/LWScrollPanePeer.java | 16 + src/macosx/classes/sun/lwawt/LWTextFieldPeer.java | 23 +- src/macosx/classes/sun/lwawt/LWWindowPeer.java | 77 +- src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java | 66 +- src/macosx/classes/sun/lwawt/macosx/CMenu.java | 16 + src/macosx/classes/sun/lwawt/macosx/CMenuItem.java | 17 +- src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java | 128 +- src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java | 12 + src/macosx/classes/sun/lwawt/macosx/CTrayIcon.java | 86 +- src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java | 23 +- src/macosx/lib/content-types.properties | 276 + src/macosx/lib/flavormap.properties | 78 + src/macosx/native/sun/awt/AWTView.m | 11 +- src/macosx/native/sun/awt/CDropTarget.m | 4 + src/macosx/native/sun/awt/CFileDialog.m | 23 +- src/macosx/native/sun/awt/CTrayIcon.h | 2 + src/macosx/native/sun/awt/CTrayIcon.m | 118 +- src/macosx/native/sun/awt/OSVersion.m | 42 +- src/macosx/native/sun/awt/awt.m | 18 +- src/macosx/native/sun/font/AWTStrike.m | 18 + src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m | 5 +- src/share/bin/java.c | 8 +- src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | 2 +- src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java | 2 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java | 5 +- src/share/classes/com/sun/java/util/jar/pack/Attribute.java | 14 +- src/share/classes/com/sun/java/util/jar/pack/BandStructure.java | 6 +- src/share/classes/com/sun/java/util/jar/pack/ClassReader.java | 12 +- src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java | 8 +- src/share/classes/com/sun/java/util/jar/pack/Code.java | 4 +- src/share/classes/com/sun/java/util/jar/pack/Coding.java | 7 +- src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java | 34 +- src/share/classes/com/sun/java/util/jar/pack/Constants.java | 12 +- src/share/classes/com/sun/java/util/jar/pack/Fixups.java | 41 +- src/share/classes/com/sun/java/util/jar/pack/Instruction.java | 4 +- src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java | 2 +- src/share/classes/com/sun/java/util/jar/pack/Package.java | 58 +- src/share/classes/com/sun/java/util/jar/pack/PackageReader.java | 29 +- src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java | 38 +- src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java | 11 +- src/share/classes/com/sun/java/util/jar/pack/PropMap.java | 61 +- src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java | 4 +- src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java | 3 +- src/share/classes/com/sun/java/util/jar/pack/Utils.java | 4 +- src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java | 2 + src/share/classes/com/sun/jndi/dns/DnsContextFactory.java | 2 +- src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java | 6 +- src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java | 8 +- src/share/classes/com/sun/script/javascript/RhinoTopLevel.java | 3 +- src/share/classes/java/awt/Component.java | 5 +- src/share/classes/java/awt/Dialog.java | 4 +- src/share/classes/java/awt/Frame.java | 2 +- src/share/classes/java/awt/Window.java | 70 +- src/share/classes/java/awt/color/ICC_Profile.java | 4 +- src/share/classes/java/io/InputStream.java | 2 +- src/share/classes/java/lang/ClassLoader.java | 11 + src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java | 4 +- src/share/classes/java/net/SocksSocketImpl.java | 4 +- src/share/classes/java/nio/Bits.java | 4 +- src/share/classes/java/security/Policy.java | 1 - src/share/classes/java/util/prefs/Preferences.java | 4 +- src/share/classes/javax/crypto/Cipher.java | 172 +- src/share/classes/javax/crypto/JarVerifier.java | 157 - src/share/classes/javax/crypto/JceSecurity.java | 251 +- src/share/classes/javax/crypto/JceSecurityManager.java | 252 - src/share/classes/javax/script/ScriptEngineManager.java | 6 +- src/share/classes/javax/swing/JApplet.java | 2 +- src/share/classes/javax/swing/JComponent.java | 13 +- src/share/classes/javax/swing/JDialog.java | 5 +- src/share/classes/javax/swing/JEditorPane.java | 11 +- src/share/classes/javax/swing/JFrame.java | 12 +- src/share/classes/javax/swing/JInternalFrame.java | 8 +- src/share/classes/javax/swing/JPopupMenu.java | 31 +- src/share/classes/javax/swing/JViewport.java | 16 +- src/share/classes/javax/swing/JWindow.java | 2 +- src/share/classes/javax/swing/MenuSelectionManager.java | 5 +- src/share/classes/javax/swing/PopupFactory.java | 14 +- src/share/classes/javax/swing/SwingUtilities.java | 6 +- src/share/classes/javax/swing/SwingWorker.java | 2 +- src/share/classes/javax/swing/UIManager.java | 34 +- src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java | 6 +- src/share/classes/javax/swing/plaf/basic/BasicListUI.java | 5 +- src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java | 16 +- src/share/classes/javax/swing/plaf/basic/BasicTableUI.java | 10 +- src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java | 3 +- src/share/classes/javax/swing/plaf/synth/ImagePainter.java | 5 +- src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java | 3 +- src/share/classes/javax/swing/text/DefaultEditorKit.java | 19 +- src/share/classes/javax/swing/text/JTextComponent.java | 6 +- src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java | 2 - src/share/classes/sun/applet/AppletPanel.java | 10 +- src/share/classes/sun/applet/AppletViewerPanel.java | 18 +- src/share/classes/sun/awt/OSInfo.java | 4 +- src/share/classes/sun/awt/SunToolkit.java | 77 +- src/share/classes/sun/awt/image/JPEGImageDecoder.java | 2 +- src/share/classes/sun/font/FontUtilities.java | 4 +- src/share/classes/sun/java2d/cmm/lcms/LCMS.java | 2 +- src/share/classes/sun/java2d/loops/Blit.java | 10 +- src/share/classes/sun/launcher/LauncherHelper.java | 4 +- src/share/classes/sun/launcher/resources/launcher_de.properties | 4 +- src/share/classes/sun/launcher/resources/launcher_es.properties | 4 +- src/share/classes/sun/launcher/resources/launcher_it.properties | 4 +- src/share/classes/sun/launcher/resources/launcher_ko.properties | 4 +- src/share/classes/sun/launcher/resources/launcher_pt_BR.properties | 4 +- src/share/classes/sun/management/Agent.java | 198 +- src/share/classes/sun/management/AgentConfigurationError.java | 6 +- src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java | 155 +- src/share/classes/sun/management/resources/agent.properties | 15 +- src/share/classes/sun/misc/SharedSecrets.java | 7 +- src/share/classes/sun/misc/Version.java.template | 58 +- src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java | 4 +- src/share/classes/sun/print/PSPrinterJob.java | 4 +- src/share/classes/sun/rmi/registry/RegistryImpl.java | 14 + src/share/classes/sun/rmi/server/LoaderHandler.java | 2 +- src/share/classes/sun/rmi/server/UnicastServerRef.java | 2 +- src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java | 4 +- src/share/classes/sun/security/krb5/Config.java | 4 +- src/share/classes/sun/security/krb5/Credentials.java | 6 +- src/share/classes/sun/security/provider/ByteArrayAccess.java | 5 +- src/share/classes/sun/security/provider/certpath/OCSP.java | 18 +- src/share/classes/sun/security/ssl/SSLContextImpl.java | 13 +- src/share/classes/sun/security/ssl/SSLEngineImpl.java | 11 + src/share/classes/sun/security/util/ObjectIdentifier.java | 2 +- src/share/classes/sun/swing/DefaultLookup.java | 3 +- src/share/classes/sun/swing/SwingUtilities2.java | 17 +- src/share/classes/sun/util/calendar/ZoneInfoFile.java | 41 +- src/share/classes/sun/util/resources/LocaleNames_de.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_es.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_fr.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_it.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_ja.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_ko.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_sv.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_zh.properties | 8 + src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties | 8 + src/share/classes/sun/util/resources/TimeZoneNames.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_de.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_es.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_fr.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_it.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_ja.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_ko.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_sv.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java | 9 +- src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java | 9 +- src/share/demo/applets/CardTest/example1.html | 2 +- src/share/demo/applets/DitherTest/example1.html | 2 +- src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java | 87 +- src/share/demo/jvmti/compiledMethodLoad/sample.makefile.txt | 2 +- src/share/demo/jvmti/gctest/sample.makefile.txt | 8 +- src/share/demo/jvmti/heapTracker/sample.makefile.txt | 21 +- src/share/demo/jvmti/heapViewer/sample.makefile.txt | 7 +- src/share/demo/jvmti/hprof/sample.makefile.txt | 8 +- src/share/demo/jvmti/index.html | 6 +- src/share/demo/jvmti/java_crw_demo/sample.makefile.txt | 2 +- src/share/demo/jvmti/minst/sample.makefile.txt | 21 +- src/share/demo/jvmti/mtrace/sample.makefile.txt | 22 +- src/share/demo/jvmti/versionCheck/sample.makefile.txt | 8 +- src/share/demo/jvmti/waiters/sample.makefile.txt | 10 +- src/share/lib/security/java.security | 14 +- src/share/lib/security/java.security-macosx | 2 +- src/share/lib/security/java.security-solaris | 2 +- src/share/lib/security/java.security-windows | 2 +- src/share/native/com/sun/java/util/jar/pack/defines.h | 14 +- src/share/native/com/sun/java/util/jar/pack/unpack.cpp | 1 - src/share/native/com/sun/media/sound/SoundDefs.h | 8 + src/share/native/java/util/zip/Adler32.c | 2 +- src/share/native/java/util/zip/CRC32.c | 2 +- src/share/native/java/util/zip/Deflater.c | 48 +- src/share/native/java/util/zip/Inflater.c | 8 +- src/share/native/java/util/zip/zip_util.c | 2 +- src/share/native/sun/awt/image/awt_ImageRep.c | 2 +- src/share/native/sun/awt/image/jpeg/README | 385 -- src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 2 +- src/share/native/sun/awt/image/jpeg/jcapimin.c | 284 - src/share/native/sun/awt/image/jpeg/jcapistd.c | 165 - src/share/native/sun/awt/image/jpeg/jccoefct.c | 453 -- src/share/native/sun/awt/image/jpeg/jccolor.c | 462 -- src/share/native/sun/awt/image/jpeg/jcdctmgr.c | 391 -- src/share/native/sun/awt/image/jpeg/jchuff.c | 913 ---- src/share/native/sun/awt/image/jpeg/jchuff.h | 51 - src/share/native/sun/awt/image/jpeg/jcinit.c | 76 - src/share/native/sun/awt/image/jpeg/jcmainct.c | 297 - src/share/native/sun/awt/image/jpeg/jcmarker.c | 682 --- src/share/native/sun/awt/image/jpeg/jcmaster.c | 594 --- src/share/native/sun/awt/image/jpeg/jcomapi.c | 110 - src/share/native/sun/awt/image/jpeg/jconfig.h | 43 - src/share/native/sun/awt/image/jpeg/jcparam.c | 614 --- src/share/native/sun/awt/image/jpeg/jcphuff.c | 837 ---- src/share/native/sun/awt/image/jpeg/jcprepct.c | 358 - src/share/native/sun/awt/image/jpeg/jcsample.c | 523 -- src/share/native/sun/awt/image/jpeg/jctrans.c | 392 -- src/share/native/sun/awt/image/jpeg/jdapimin.c | 399 -- src/share/native/sun/awt/image/jpeg/jdapistd.c | 279 - src/share/native/sun/awt/image/jpeg/jdcoefct.c | 740 --- src/share/native/sun/awt/image/jpeg/jdcolor.c | 398 -- src/share/native/sun/awt/image/jpeg/jdct.h | 180 - src/share/native/sun/awt/image/jpeg/jddctmgr.c | 273 - src/share/native/sun/awt/image/jpeg/jdhuff.c | 655 --- src/share/native/sun/awt/image/jpeg/jdhuff.h | 205 - src/share/native/sun/awt/image/jpeg/jdinput.c | 385 -- src/share/native/sun/awt/image/jpeg/jdmainct.c | 516 -- src/share/native/sun/awt/image/jpeg/jdmarker.c | 1384 ------- src/share/native/sun/awt/image/jpeg/jdmaster.c | 561 --- src/share/native/sun/awt/image/jpeg/jdmerge.c | 404 -- src/share/native/sun/awt/image/jpeg/jdphuff.c | 672 --- src/share/native/sun/awt/image/jpeg/jdpostct.c | 294 - src/share/native/sun/awt/image/jpeg/jdsample.c | 482 -- src/share/native/sun/awt/image/jpeg/jdtrans.c | 147 - src/share/native/sun/awt/image/jpeg/jerror.c | 272 - src/share/native/sun/awt/image/jpeg/jerror.h | 295 - src/share/native/sun/awt/image/jpeg/jfdctflt.c | 172 - src/share/native/sun/awt/image/jpeg/jfdctfst.c | 228 - src/share/native/sun/awt/image/jpeg/jfdctint.c | 287 - src/share/native/sun/awt/image/jpeg/jidctflt.c | 246 - src/share/native/sun/awt/image/jpeg/jidctfst.c | 372 - src/share/native/sun/awt/image/jpeg/jidctint.c | 393 -- src/share/native/sun/awt/image/jpeg/jidctred.c | 402 -- src/share/native/sun/awt/image/jpeg/jinclude.h | 95 - src/share/native/sun/awt/image/jpeg/jmemmgr.c | 1124 ------ src/share/native/sun/awt/image/jpeg/jmemnobs.c | 113 - src/share/native/sun/awt/image/jpeg/jmemsys.h | 202 - src/share/native/sun/awt/image/jpeg/jmorecfg.h | 378 -- src/share/native/sun/awt/image/jpeg/jpeg-6b/README | 385 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcapimin.c | 284 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcapistd.c | 165 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jccoefct.c | 453 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jccolor.c | 462 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcdctmgr.c | 391 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jchuff.c | 913 ++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jchuff.h | 51 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcinit.c | 76 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmainct.c | 297 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmarker.c | 682 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmaster.c | 594 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcomapi.c | 110 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jconfig.h | 43 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcparam.c | 614 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcphuff.c | 837 ++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcprepct.c | 358 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcsample.c | 523 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jctrans.c | 392 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdapimin.c | 399 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdapistd.c | 279 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdcoefct.c | 740 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdcolor.c | 398 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdct.h | 180 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jddctmgr.c | 273 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdhuff.c | 655 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdhuff.h | 205 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdinput.c | 385 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmainct.c | 516 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmarker.c | 1384 +++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmaster.c | 561 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmerge.c | 404 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdphuff.c | 672 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdpostct.c | 294 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdsample.c | 482 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdtrans.c | 147 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jerror.c | 272 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jerror.h | 295 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctflt.c | 172 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctfst.c | 228 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctint.c | 287 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctflt.c | 246 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctfst.c | 372 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctint.c | 393 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctred.c | 402 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jinclude.h | 95 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemmgr.c | 1124 ++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemnobs.c | 113 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemsys.h | 202 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmorecfg.h | 378 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jpegint.h | 396 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jpeglib.h | 1100 +++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jquant1.c | 860 ++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jquant2.c | 1314 +++++++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jutils.c | 183 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jversion.h | 18 + src/share/native/sun/awt/image/jpeg/jpegdecoder.c | 2 +- src/share/native/sun/awt/image/jpeg/jpegint.h | 396 -- src/share/native/sun/awt/image/jpeg/jpeglib.h | 1100 ----- src/share/native/sun/awt/image/jpeg/jquant1.c | 860 ---- src/share/native/sun/awt/image/jpeg/jquant2.c | 1314 ------- src/share/native/sun/awt/image/jpeg/jutils.c | 183 - src/share/native/sun/awt/image/jpeg/jversion.h | 18 - src/share/native/sun/awt/splashscreen/splashscreen_gif.c | 2 +- src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c | 7 +- src/share/native/sun/awt/splashscreen/splashscreen_png.c | 2 +- src/share/native/sun/java2d/loops/TransformHelper.c | 11 +- src/solaris/classes/java/lang/ClassLoaderHelper.java | 42 + src/solaris/classes/sun/awt/X11/XDecoratedPeer.java | 3 +- src/solaris/classes/sun/awt/X11/XWM.java | 21 +- src/solaris/classes/sun/awt/X11/XWindowPeer.java | 2 + src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java | 4 +- src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java | 4 +- src/solaris/classes/sun/print/UnixPrintServiceLookup.java | 4 +- src/solaris/doc/sun/man/man1/appletviewer.1 | 7 +- src/solaris/doc/sun/man/man1/apt.1 | 4 +- src/solaris/doc/sun/man/man1/extcheck.1 | 2 +- src/solaris/doc/sun/man/man1/idlj.1 | 10 +- src/solaris/doc/sun/man/man1/ja/appletviewer.1 | 23 +- src/solaris/doc/sun/man/man1/ja/apt.1 | 62 +- src/solaris/doc/sun/man/man1/ja/extcheck.1 | 18 +- src/solaris/doc/sun/man/man1/ja/idlj.1 | 160 +- src/solaris/doc/sun/man/man1/ja/jar.1 | 182 +- src/solaris/doc/sun/man/man1/ja/jarsigner.1 | 677 +- src/solaris/doc/sun/man/man1/ja/java.1 | 465 +- src/solaris/doc/sun/man/man1/ja/javac.1 | 448 +- src/solaris/doc/sun/man/man1/ja/javadoc.1 | 1869 ++++----- src/solaris/doc/sun/man/man1/ja/javah.1 | 43 +- src/solaris/doc/sun/man/man1/ja/javap.1 | 48 +- src/solaris/doc/sun/man/man1/ja/javaws.1 | 62 +- src/solaris/doc/sun/man/man1/ja/jcmd.1 | 124 + src/solaris/doc/sun/man/man1/ja/jconsole.1 | 47 +- src/solaris/doc/sun/man/man1/ja/jdb.1 | 146 +- src/solaris/doc/sun/man/man1/ja/jhat.1 | 42 +- src/solaris/doc/sun/man/man1/ja/jinfo.1 | 34 +- src/solaris/doc/sun/man/man1/ja/jmap.1 | 40 +- src/solaris/doc/sun/man/man1/ja/jps.1 | 72 +- src/solaris/doc/sun/man/man1/ja/jrunscript.1 | 50 +- src/solaris/doc/sun/man/man1/ja/jsadebugd.1 | 41 +- src/solaris/doc/sun/man/man1/ja/jstack.1 | 34 +- src/solaris/doc/sun/man/man1/ja/jstat.1 | 638 +- src/solaris/doc/sun/man/man1/ja/jstatd.1 | 81 +- src/solaris/doc/sun/man/man1/ja/jvisualvm.1 | 30 +- src/solaris/doc/sun/man/man1/ja/keytool.1 | 590 +- src/solaris/doc/sun/man/man1/ja/native2ascii.1 | 20 +- src/solaris/doc/sun/man/man1/ja/orbd.1 | 120 +- src/solaris/doc/sun/man/man1/ja/pack200.1 | 104 +- src/solaris/doc/sun/man/man1/ja/policytool.1 | 105 +- src/solaris/doc/sun/man/man1/ja/rmic.1 | 98 +- src/solaris/doc/sun/man/man1/ja/rmid.1 | 106 +- src/solaris/doc/sun/man/man1/ja/rmiregistry.1 | 24 +- src/solaris/doc/sun/man/man1/ja/schemagen.1 | 52 +- src/solaris/doc/sun/man/man1/ja/serialver.1 | 26 +- src/solaris/doc/sun/man/man1/ja/servertool.1 | 44 +- src/solaris/doc/sun/man/man1/ja/tnameserv.1 | 147 +- src/solaris/doc/sun/man/man1/ja/unpack200.1 | 52 +- src/solaris/doc/sun/man/man1/ja/wsgen.1 | 40 +- src/solaris/doc/sun/man/man1/ja/wsimport.1 | 60 +- src/solaris/doc/sun/man/man1/ja/xjc.1 | 111 +- src/solaris/doc/sun/man/man1/jar.1 | 18 +- src/solaris/doc/sun/man/man1/jarsigner.1 | 16 +- src/solaris/doc/sun/man/man1/java.1 | 198 +- src/solaris/doc/sun/man/man1/javac.1 | 34 +- src/solaris/doc/sun/man/man1/javadoc.1 | 56 +- src/solaris/doc/sun/man/man1/javah.1 | 2 +- src/solaris/doc/sun/man/man1/javap.1 | 2 +- src/solaris/doc/sun/man/man1/javaws.1 | 6 +- src/solaris/doc/sun/man/man1/jcmd.1 | 104 +- src/solaris/doc/sun/man/man1/jconsole.1 | 14 +- src/solaris/doc/sun/man/man1/jdb.1 | 8 +- src/solaris/doc/sun/man/man1/jhat.1 | 4 +- src/solaris/doc/sun/man/man1/jinfo.1 | 2 +- src/solaris/doc/sun/man/man1/jmap.1 | 2 +- src/solaris/doc/sun/man/man1/jps.1 | 2 +- src/solaris/doc/sun/man/man1/jrunscript.1 | 4 +- src/solaris/doc/sun/man/man1/jsadebugd.1 | 6 +- src/solaris/doc/sun/man/man1/jstack.1 | 4 +- src/solaris/doc/sun/man/man1/jstat.1 | 2 +- src/solaris/doc/sun/man/man1/jstatd.1 | 6 +- src/solaris/doc/sun/man/man1/jvisualvm.1 | 4 +- src/solaris/doc/sun/man/man1/keytool.1 | 18 +- src/solaris/doc/sun/man/man1/native2ascii.1 | 4 +- src/solaris/doc/sun/man/man1/orbd.1 | 16 +- src/solaris/doc/sun/man/man1/pack200.1 | 6 +- src/solaris/doc/sun/man/man1/policytool.1 | 63 +- src/solaris/doc/sun/man/man1/rmic.1 | 6 +- src/solaris/doc/sun/man/man1/rmid.1 | 8 +- src/solaris/doc/sun/man/man1/rmiregistry.1 | 6 +- src/solaris/doc/sun/man/man1/schemagen.1 | 4 +- src/solaris/doc/sun/man/man1/serialver.1 | 4 +- src/solaris/doc/sun/man/man1/servertool.1 | 2 +- src/solaris/doc/sun/man/man1/tnameserv.1 | 16 +- src/solaris/doc/sun/man/man1/unpack200.1 | 6 +- src/solaris/doc/sun/man/man1/wsgen.1 | 2 +- src/solaris/doc/sun/man/man1/wsimport.1 | 2 +- src/solaris/doc/sun/man/man1/xjc.1 | 4 +- src/solaris/native/common/deps/cups_fp.c | 104 + src/solaris/native/common/deps/cups_fp.h | 61 + src/solaris/native/common/deps/fontconfig2/fontconfig/fontconfig.h | 302 + src/solaris/native/common/deps/fontconfig2/fontconfig_fp.c | 188 + src/solaris/native/common/deps/fontconfig2/fontconfig_fp.h | 164 + src/solaris/native/common/deps/gconf2/gconf/gconf-client.h | 42 + src/solaris/native/common/deps/gconf2/gconf_fp.c | 74 + src/solaris/native/common/deps/gconf2/gconf_fp.h | 48 + src/solaris/native/common/deps/glib2/gio/gio_typedefs.h | 67 + src/solaris/native/common/deps/glib2/gio_fp.c | 109 + src/solaris/native/common/deps/glib2/gio_fp.h | 63 + src/solaris/native/common/deps/gtk2/gtk/gtk.h | 567 +++ src/solaris/native/common/deps/gtk2/gtk_fp.c | 398 ++ src/solaris/native/common/deps/gtk2/gtk_fp.h | 469 ++ src/solaris/native/common/deps/syscalls_fp.c | 138 + src/solaris/native/common/deps/syscalls_fp.h | 124 + src/solaris/native/java/lang/java_props_md.c | 7 +- src/solaris/native/sun/awt/CUPSfuncs.c | 137 +- src/solaris/native/sun/awt/awt_GraphicsEnv.c | 2 +- src/solaris/native/sun/awt/awt_UNIXToolkit.c | 20 +- src/solaris/native/sun/awt/fontconfig.h | 941 ----- src/solaris/native/sun/awt/fontpath.c | 404 +- src/solaris/native/sun/awt/gtk2_interface.c | 979 +---- src/solaris/native/sun/awt/gtk2_interface.h | 577 +--- src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c | 68 +- src/solaris/native/sun/awt/swing_GTKEngine.c | 80 +- src/solaris/native/sun/awt/swing_GTKStyle.c | 20 +- src/solaris/native/sun/net/spi/DefaultProxySelector.c | 465 +- src/solaris/native/sun/nio/ch/EPollArrayWrapper.c | 62 +- src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c | 94 +- src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c | 50 +- src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 111 +- src/solaris/native/sun/xawt/awt_Desktop.c | 103 +- src/windows/classes/java/lang/ClassLoaderHelper.java | 42 + test/ProblemList.txt | 3 + test/TEST.ROOT | 6 + test/com/oracle/security/ucrypto/TestAES.java | 111 +- test/com/oracle/security/ucrypto/TestDigest.java | 24 +- test/com/oracle/security/ucrypto/TestRSA.java | 278 +- test/com/oracle/security/ucrypto/UcryptoTest.java | 30 +- test/com/sun/crypto/provider/Cipher/UTIL/TestUtil.java | 13 +- test/demo/jvmti/DemoRun.java | 4 +- test/java/awt/Component/PrintAllXcheckJNI/PrintAllXcheckJNI.java | 9 + test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java | 26 + test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java | 50 + test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java | 46 + test/java/awt/Frame/InvisibleOwner/InvisibleOwner.java | 121 + test/java/awt/WMSpecificTests/Mutter/MutterMaximizeTest.java | 161 + test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java | 100 + test/java/awt/regtesthelpers/Util.java | 16 +- test/java/io/File/GetXSpace.java | 4 +- test/java/lang/ProcessBuilder/Basic.java | 4 +- test/java/lang/ProcessBuilder/Zombies.java | 4 +- test/java/lang/SecurityManager/CheckPackageAccess.java | 47 + test/java/lang/invoke/InvokeGenericTest.java | 4 +- test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java | 6 +- test/java/net/URL/TestHttps.java | 34 + test/java/nio/MappedByteBuffer/Basic.java | 91 +- test/java/nio/channels/FileChannel/Size.java | 4 +- test/java/nio/channels/FileChannel/Transfer.java | 4 +- test/java/nio/channels/SocketChannel/LocalAddress.java | 2 +- test/java/nio/channels/TestUtil.java | 6 +- test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/linux-i586/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-i586/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparc/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparcv9/libLauncher.so | Bin test/java/nio/file/FileSystem/Basic.java | 4 +- test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java | 9 +- test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java | 9 +- test/java/util/Locale/data/deflocale.sol10 | 1725 --------- test/javax/swing/JViewport/7107099/bug7107099.java | 104 + test/sun/java2d/loops/Bug7049339.java | 77 + test/sun/management/AgentCheckTest.java | 10 +- test/sun/management/jmxremote/bootstrap/linux-i586/launcher | Bin test/sun/management/jmxremote/bootstrap/solaris-i586/launcher | Bin test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher | Bin test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java | 52 + test/sun/management/jmxremote/startstop/JMXStartStopTest.java | 181 + test/sun/management/jmxremote/startstop/JMXStartStopTest.sh | 603 +++ test/sun/management/jmxremote/startstop/REMOTE_TESTING.txt | 11 + test/sun/management/jmxremote/startstop/management_cl.properties | 2 + test/sun/management/jmxremote/startstop/management_jcmd.properties | 3 + test/sun/management/windows/revokeall.exe | Bin test/sun/net/InetAddress/nameservice/dns/cname.sh | 2 +- test/sun/net/www/protocol/file/DirPermissionDenied.sh | 1 + test/sun/nio/ch/SelProvider.java | 4 +- test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh | 3 +- test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java | 2 +- test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/NullGetAcceptedIssuers.java | 66 + test/sun/tools/native2ascii/NativeErrors.java | 4 +- test/tools/launcher/TestHelper.java | 2 +- test/tools/pack200/MemoryAllocatorTest.java | 369 + 662 files changed, 42493 insertions(+), 39540 deletions(-) diffs (truncated from 116832 to 500 lines): diff -r c929e96aa059 -r a0d124b90763 .hgtags --- a/.hgtags Sun Feb 19 22:03:12 2012 -0800 +++ b/.hgtags Wed May 02 13:15:49 2012 -0400 @@ -50,6 +50,7 @@ f708138c9aca4b389872838fe6773872fce3609e jdk7-b73 eacb36e30327e7ae33baa068e82ddccbd91eaae2 jdk7-b74 8885b22565077236a927e824ef450742e434a230 jdk7-b75 +fb2ee5e96b171ae9db67274d87ffaba941e8bfa6 icedtea7-1.12 8fb602395be0f7d5af4e7e93b7df2d960faf9d17 jdk7-b76 e6a5d095c356a547cf5b3c8885885aca5e91e09b jdk7-b77 1143e498f813b8223b5e3a696d79da7ff7c25354 jdk7-b78 @@ -63,6 +64,7 @@ eae6e9ab26064d9ba0e7665dd646a1fd2506fcc1 jdk7-b86 2cafbbe9825e911a6ca6c17d9a18eb1f0bf0873c jdk7-b87 b3c69282f6d3c90ec21056cd1ab70dc0c895b069 jdk7-b88 +2017795af50aebc00f500e58f708980b49bc7cd1 icedtea7-1.13 4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89 7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90 08a31cab971fcad4695e913d0f3be7bde3a90747 jdk7-b91 @@ -111,6 +113,7 @@ 554adcfb615e63e62af530b1c10fcf7813a75b26 jdk7-b134 d8ced728159fbb2caa8b6adb477fd8efdbbdf179 jdk7-b135 aa13e7702cd9d8aca9aa38f1227f966990866944 jdk7-b136 +1571aa7abe47a54510c62a5b59a8c343cdaf67cb icedtea-1.14 29296ea6529a418037ccce95903249665ef31c11 jdk7-b137 60d3d55dcc9c31a30ced9caa6ef5c0dcd7db031d jdk7-b138 d80954a89b49fda47c0c5cace65a17f5a758b8bd jdk7-b139 @@ -123,6 +126,7 @@ 539e576793a8e64aaf160e0d6ab0b9723cd0bef0 jdk7-b146 69e973991866c948cf1808b06884ef2d28b64fcb jdk7u1-b01 f097ca2434b1412b12ab4a5c2397ce271bf681e7 jdk7-b147 +7ec1845521edfb1843cad3868217983727ece53d icedtea-2.0-branchpoint 2baf612764d215e6f3a5b48533f74c6924ac98d7 jdk7u1-b02 a4781b6d9cfb6901452579adee17c9a17c1b584c jdk7u1-b03 b223ed9a5fdf8ce3af42adfa8815975811d70eae jdk7u1-b04 @@ -141,6 +145,7 @@ 79c8c4608f60e1f981b17ba4077dfcaa2ed67be4 jdk7u2-b12 fb2980d7c9439e3d62ab12f40506a2a2db2df0f4 jdk7u2-b13 24e42f1f9029f9f5a9b1481d523facaf09452e5b jdk7u2-b21 +a75913596199fbb8583f9d74021f54dc76f87b14 icedtea-2.1-branchpoint e3790f3ce50aa4e2a1b03089ac0bcd48f9d1d2c2 jdk7u3-b02 7e8351342f0b22b694bd3c2db979643529f32e71 jdk7u3-b03 fc6b7b6ac837c9e867b073e13fc14e643f771028 jdk7u3-b04 @@ -157,3 +162,14 @@ 6485e842d7f736b6ca3d7e4a7cdc5de6bbdd870c jdk7u4-b10 d568e85567ccfdd75f3f0c42aa0d75c440422827 jdk7u4-b11 16781e84dcdb5f82c287a3b5387dde9f8aaf74e0 jdk7u4-b12 +907555f6191a0cd84886b07c4c40bc6ce498b8b1 icedtea-2.2-branchpoint +c929e96aa059c8b79ab94d5b0b1a242ca53a5b32 jdk7u4-b13 +09f612bac047b132bb9bf7d4aa8afe6ea4d5b938 jdk7u4-b14 +00f0f18379ecb927a515d1540682a922bd0227ec jdk7u4-b15 +df20c60949f8cef09be1e89d754cff366eaf7aa4 jdk7u4-b16 +b4401b362fd8076d705aa57acb9967b5962a795d jdk7u4-b17 +084825fc677ef6adecab9400a2625eb0e5579509 jdk7u4-b18 +0f9aacb27534e7bba7ba30a2700a9c828416929d jdk7u4-b19 +1a495432b42a496bde0ddfa16c6462742d7a8cf1 jdk7u4-b20 +81a0f71a895e7f386efdd481eb53fb3ca0597438 jdk7u4-b30 +0573d282ca247a2848c26fe2800c7f3aa8d2e882 jdk7u4-b21 \ No newline at end of file diff -r c929e96aa059 -r a0d124b90763 jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java Wed May 02 13:15:49 2012 -0400 @@ -0,0 +1,97 @@ +/* + * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6685178 + * @summary Sanity check for local only option. In order to fully test this + * new local only option two different machines would be required. + * @author Luis-Miguel Alventosa + * @run main/othervm LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote.local.only=true LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote.local.only=false LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=true LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=true LocalOnlyTest + * @run main/othervm -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false LocalOnlyTest + */ + +import java.io.*; +import java.lang.management.*; +import java.util.*; +import javax.management.*; +import javax.management.remote.*; +import com.sun.tools.attach.*; + +public class LocalOnlyTest { + + public static void main(String args[]) throws Exception { + RuntimeMXBean rt = ManagementFactory.getRuntimeMXBean(); + String name = rt.getName(); + System.out.println("name = " + name); + String vmid = name.substring(0, name.indexOf("@")); + System.out.println("vmid = " + vmid); + VirtualMachine vm = VirtualMachine.attach(vmid); + String addr = vm.getAgentProperties().getProperty( + "com.sun.management.jmxremote.localConnectorAddress"); + System.out.println("connectorAddress = " + addr); + if (addr == null) { + // Normally in ${java.home}/jre/lib/management-agent.jar + // but might be in ${java.home}/lib in build environments. + String javaHome = System.getProperty("java.home"); + String agent = javaHome + File.separator + "jre" + File.separator + + "lib" + File.separator + "management-agent.jar"; + File f = new File(agent); + if (!f.exists()) { + agent = javaHome + File.separator + "lib" + File.separator + + "management-agent.jar"; + f = new File(agent); + if (!f.exists()) { + throw new IOException("Management agent not found"); + } + } + agent = f.getCanonicalPath(); + try { + vm.loadAgent(agent, "com.sun.management.jmxremote"); + } catch (AgentLoadException x) { + IOException ioe = new IOException(x.getMessage()); + ioe.initCause(x); + throw ioe; + } catch (AgentInitializationException x) { + IOException ioe = new IOException(x.getMessage()); + ioe.initCause(x); + throw ioe; + } + addr = vm.getAgentProperties().getProperty( + "com.sun.management.jmxremote.localConnectorAddress"); + System.out.println("connectorAddress (after loading agent) = " + addr); + } + vm.detach(); + JMXServiceURL url = new JMXServiceURL(addr); + JMXConnector c = JMXConnectorFactory.connect(url); + System.out.println("connectionId = " + c.getConnectionId()); + System.out.println("Bye! Bye!"); + } +} diff -r c929e96aa059 -r a0d124b90763 make/com/sun/java/pack/Makefile --- a/make/com/sun/java/pack/Makefile Sun Feb 19 22:03:12 2012 -0800 +++ b/make/com/sun/java/pack/Makefile Wed May 02 13:15:49 2012 -0400 @@ -32,6 +32,7 @@ LIBRARY = unpack PRODUCT = sun PGRM = unpack200 +JAVAC_MAX_WARNINGS=true include $(BUILDDIR)/common/Defs.gmk CPLUSPLUSLIBRARY=true @@ -57,7 +58,6 @@ vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR) ifeq ($(STANDALONE),true) - ifneq ($(SYSTEM_ZLIB),true) ZIPOBJDIR = $(OUTPUTDIR)/tmp/sun/java.util.zip/zip/$(OBJDIRNAME) ZIPOBJS = $(ZIPOBJDIR)/zcrc32.$(OBJECT_SUFFIX) \ @@ -71,13 +71,14 @@ $(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX) - ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) - OTHER_CXXFLAGS += $(ZINCLUDE) - LDDFLAGS += $(ZIPOBJS) - else - LDDFLAGS += -lz - OTHER_CXXFLAGS += -DSYSTEM_ZLIB - endif + ifdef USE_SYSTEM_ZLIB + OTHER_CXXFLAGS += $(ZLIB_CFLAGS) -DUSE_SYSTEM_ZLIB=1 + OTHER_LDLIBS += $(ZLIB_LIBS) + else + ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) + OTHER_CXXFLAGS += $(ZINCLUDE) + LDDFLAGS += $(ZIPOBJS) + endif else OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI OTHER_LDLIBS += $(JVMLIB) @@ -99,8 +100,7 @@ RES = $(OBJDIR)/$(PGRM).res else LDOUTPUT = -o #Have a space - LDDFLAGS += -lc - OTHER_LDLIBS += $(LIBCXX) + OTHER_LDLIBS += -lc $(LIBCXX) # setup the list of libraries to link in... ifeq ($(PLATFORM), linux) ifeq ("$(CC_VER_MAJOR)", "3") @@ -157,7 +157,7 @@ $(prep-target) $(RM) $(TEMPDIR)/mapfile-vers $(CP) mapfile-vers-unpack200 $(TEMPDIR)/mapfile-vers - $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) + $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(OTHER_LDLIBS) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) ifdef MT $(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1 endif diff -r c929e96aa059 -r a0d124b90763 make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Defs-linux.gmk Wed May 02 13:15:49 2012 -0400 @@ -53,6 +53,11 @@ PLATFORM_SRC = $(BUILDDIR)/../src/solaris endif # PLATFORM_SRC +# Location of the various .properties files specific to Linux platform +ifndef PLATFORM_PROPERTIES + PLATFORM_PROPERTIES = $(BUILDDIR)/../src/solaris/lib +endif # PLATFORM_SRC + # Platform specific closed sources ifndef OPENJDK ifndef CLOSED_PLATFORM_SRC @@ -151,15 +156,26 @@ # We need this frame pointer to make it easy to walk the stacks. # This should be the default on X86, but ia64 and amd64 may not have this # as the default. +CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_hppa += CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_m68k += +CFLAGS_REQUIRED_mips += +CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_ppc += -m32 +CFLAGS_REQUIRED_ppc64 += -m64 +CFLAGS_REQUIRED_s390 += +CFLAGS_REQUIRED_s390x += -m64 CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9 LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 LDFLAGS_COMMON_sparc += -m32 -mcpu=v9 CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN +CFLAGS_REQUIRED_sh += -mieee ifeq ($(ZERO_BUILD), true) CFLAGS_REQUIRED = $(ZERO_ARCHFLAG) ifeq ($(ZERO_ENDIANNESS), little) @@ -238,11 +254,15 @@ CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"' -# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here) -ifneq ($(ARCH),alpha) +# Alpha and sh archs do not like "alpha" or "sh" defined (potential general arch cleanup issue here) +ifeq ($(ARCH),alpha) + CPP_ARCH_FLAGS += -D_$(ARCH)_ +else +ifeq ($(ARCH),sh) + CPP_ARCH_FLAGS += -D_$(ARCH)_ +else CPP_ARCH_FLAGS += -D$(ARCH) -else - CPP_ARCH_FLAGS += -D_$(ARCH)_ +endif endif CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \ diff -r c929e96aa059 -r a0d124b90763 make/common/Defs-macosx.gmk --- a/make/common/Defs-macosx.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Defs-macosx.gmk Wed May 02 13:15:49 2012 -0400 @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -53,6 +53,11 @@ PLATFORM_SRC = $(BUILDDIR)/../src/solaris endif # PLATFORM_SRC +# Location of the various .properties files specific to MacOS X platform +ifndef PLATFORM_PROPERTIES + PLATFORM_PROPERTIES = $(BUILDDIR)/../src/macosx/lib +endif # PLATFORM_SRC + PLATFORM_SRC_MACOS = $(BUILDDIR)/../src/macosx # BSD build pulls its platform sources from the solaris tree. @@ -106,10 +111,10 @@ # For all platforms, do not omit the frame pointer register usage. # We need this frame pointer to make it easy to walk the stacks. -# This should be the default on X86, but ia64 and amd64 may not have this -# as the default. -CFLAGS_REQUIRED_amd64 += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN -LDFLAGS_COMMON_amd64 += -m64 +# This should be the default on X86, but ia64, and x86_64 +# may not have this as the default. +CFLAGS_REQUIRED_x86_64 += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN +LDFLAGS_COMMON_x86_64 += -m64 CFLAGS_REQUIRED_i586 += -m32 -fno-omit-frame-pointer -D_LITTLE_ENDIAN LDFLAGS_COMMON_i586 += -m32 CFLAGS_REQUIRED_ia64 += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN @@ -163,7 +168,7 @@ PIC_CODE_SMALL = -fpic GLOBAL_KPIC = $(PIC_CODE_LARGE) CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS) -ifeq ($(ARCH), amd64) +ifeq ($(ARCH), x86_64) CFLAGS_COMMON += -pipe endif diff -r c929e96aa059 -r a0d124b90763 make/common/Defs-solaris.gmk --- a/make/common/Defs-solaris.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Defs-solaris.gmk Wed May 02 13:15:49 2012 -0400 @@ -51,6 +51,11 @@ PLATFORM_SRC = $(BUILDDIR)/../src/solaris endif # PLATFORM_SRC +# Location of the various .properties files specific to Solaris platform +ifndef PLATFORM_PROPERTIES + PLATFORM_PROPERTIES = $(BUILDDIR)/../src/solaris/lib +endif # PLATFORM_SRC + # Platform specific closed sources ifndef OPENJDK ifndef CLOSED_PLATFORM_SRC diff -r c929e96aa059 -r a0d124b90763 make/common/Defs-windows.gmk --- a/make/common/Defs-windows.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Defs-windows.gmk Wed May 02 13:15:49 2012 -0400 @@ -53,6 +53,11 @@ PLATFORM_SRC = $(BUILDDIR)/../src/windows endif # PLATFORM_SRC +# Location of the various .properties files specific to Windows platform +ifndef PLATFORM_PROPERTIES + PLATFORM_PROPERTIES = $(BUILDDIR)/../src/windows/lib +endif # PLATFORM_SRC + # Platform specific closed sources ifndef OPENJDK ifndef CLOSED_PLATFORM_SRC diff -r c929e96aa059 -r a0d124b90763 make/common/Program.gmk --- a/make/common/Program.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Program.gmk Wed May 02 13:15:49 2012 -0400 @@ -62,12 +62,14 @@ program: $(ACTUAL_PROGRAM) # Work-around for missing processor specific mapfiles +ifneq (,$(filter $(ARCH), amd64 i586 sparc sparcv9)) ifndef CROSS_COMPILE_ARCH # reuse the mapfiles in the launcher's directory, the same should # be applicable to the tool launchers as well. FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH) include $(BUILDDIR)/common/Mapfile-vers.gmk endif +endif include $(JDK_TOPDIR)/make/common/Rules.gmk @@ -108,6 +110,9 @@ endif # ARCH_DATA_MODEL endif # PLATFORM SOLARIS ifeq ($(PLATFORM), linux) + ifdef USE_SYSTEM_ZLIB + OTHER_LDLIBS += $(ZLIB_LIBS) + endif LDFLAGS += $(LDFLAG_Z_ORIGIN) LDFLAGS += -Wl,--allow-shlib-undefined LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli @@ -280,13 +285,16 @@ endif OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin + ifeq ($(PLATFORM), macosx) OTHER_INCLUDES += -I$(LAUNCHER_SOLARIS_PLATFORM_SRC)/bin ifneq ($(SYSTEM_ZLIB), true) OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 endif # SYSTEM_ZLIB else # PLATFORM !MACOSX - OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 + ifndef USE_SYSTEM_ZLIB + OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 + endif endif OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"' diff -r c929e96aa059 -r a0d124b90763 make/common/Release-macosx.gmk --- a/make/common/Release-macosx.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Release-macosx.gmk Wed May 02 13:15:49 2012 -0400 @@ -35,8 +35,8 @@ MACOSX_SRC = $(JDK_TOPDIR)/src/macosx BUNDLE_ID ?= net.java.openjdk -BUNLDE_ID_JRE ?= $(BUNDLE_ID).jre -BUNLDE_ID_JDK ?= $(BUNDLE_ID).jdk +BUNDLE_ID_JRE ?= $(BUNDLE_ID).jre +BUNDLE_ID_JDK ?= $(BUNDLE_ID).jdk BUNDLE_NAME ?= OpenJDK $(JDK_MINOR_VERSION) BUNDLE_NAME_JRE ?= $(BUNDLE_NAME) diff -r c929e96aa059 -r a0d124b90763 make/common/Release.gmk --- a/make/common/Release.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/Release.gmk Wed May 02 13:15:49 2012 -0400 @@ -146,6 +146,7 @@ javadoc.1 \ javah.1 \ javap.1 \ + jcmd.1 \ jconsole.1 \ jdb.1 \ jhat.1 \ @@ -615,10 +616,6 @@ $(ECHO) "oracle/jrockit/jfr/parser/" >> $@ $(ECHO) "oracle/jrockit/jfr/settings/" >> $@ $(ECHO) "oracle/jrockit/jfr/tools/" >> $@ - $(ECHO) "oracle/jrockit/jfr/util/" >> $@ - $(ECHO) "oracle/jrockit/jfr/util/log/" >> $@ - $(ECHO) "oracle/jrockit/jfr/util/os/" >> $@ - $(ECHO) "oracle/jrockit/jfr/util/text/" >> $@ endif endif @@ -645,7 +642,7 @@ $(MV) $@.temp $@ @($(CD) $(CLASSBINDIR) && $(java-vm-cleanup)) -# Create the jfr.jar containing Java Flight Recorder implementation +# Create jfr.jar JFR_JAR= ifndef OPENJDK ifndef JAVASE_EMBEDDED @@ -1074,13 +1071,9 @@ for d in $(SOURCE_DIRS); do \ $(RM) $(ABS_TEMPDIR)/src-files.list; \ ($(CD) $$d && \ - for sd in $(SOURCES) ; do \ - if [ -d $$sd ] ; then \ - $(FIND) $$sd $(SOURCE_FILES_filter) \ - -name '*.java' -print \ - >> $(ABS_TEMPDIR)/src-files.list ; \ - fi; \ - done ; \ + $(FIND) . $(SOURCE_FILES_filter) \ + -name '*.java' -print \ + >> $(ABS_TEMPDIR)/src-files.list ; \ ) ; \ if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ ($(CD) $$d && $(TAR) cf - -T $(ABS_TEMPDIR)/src-files.list ) \ @@ -1091,13 +1084,9 @@ for d in $(SOURCE_DIRS); do \ $(RM) $(ABS_TEMPDIR)/src-files.list; \ ($(CD) $$d && \ - for sd in $(SOURCES) ; do \ - if [ -d $$sd ] ; then \ - $(FIND) $$sd $(SOURCE_FILES_filter) \ - -name '*.java' -print \ - >> $(ABS_TEMPDIR)/src-files.list ; \ - fi; \ - done ; \ + $(FIND) . $(SOURCE_FILES_filter) \ + -name '*.java' -print \ + >> $(ABS_TEMPDIR)/src-files.list ; \ ) ; \ if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ ($(CD) $$d && $(TAR) cf - `$(CAT) $(ABS_TEMPDIR)/src-files.list`) \ diff -r c929e96aa059 -r a0d124b90763 make/common/shared/Compiler-gcc.gmk --- a/make/common/shared/Compiler-gcc.gmk Sun Feb 19 22:03:12 2012 -0800 +++ b/make/common/shared/Compiler-gcc.gmk Wed May 02 13:15:49 2012 -0400 @@ -53,21 +53,87 @@ ifeq ($(PLATFORM), linux) + ifndef BUILD_GCC + BUILD_GCC=$(COMPILER_PATH)gcc + endif + + ifndef BUILD_CPP + BUILD_CPP=$(COMPILER_PATH)g++ + endif + # Settings specific to Linux - CC = $(COMPILER_PATH)gcc From dbhole at icedtea.classpath.org Wed May 2 13:56:32 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 02 May 2012 20:56:32 +0000 Subject: /hg/release/icedtea7-forest-2.2/langtools: 12 new changesets Message-ID: changeset 0e55881c2ee2 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=0e55881c2ee2 author: katleman date: Thu Feb 23 15:14:45 2012 -0800 Added tag jdk7u4-b13 for changeset 56eb9150d9ff changeset 0bea057f7ce1 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=0bea057f7ce1 author: katleman date: Thu Mar 01 13:45:16 2012 -0800 Added tag jdk7u4-b14 for changeset 0e55881c2ee2 changeset b05d9de90932 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=b05d9de90932 author: katleman date: Thu Mar 08 11:19:48 2012 -0800 Added tag jdk7u4-b15 for changeset 0bea057f7ce1 changeset 30718376e28c in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=30718376e28c author: katleman date: Fri Mar 16 07:30:14 2012 -0700 Added tag jdk7u4-b16 for changeset b05d9de90932 changeset 80552e34be80 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=80552e34be80 author: mfang date: Sun Mar 18 21:25:05 2012 -0700 7154758: NLS: 7u4 message drop 20 Reviewed-by: jennyh changeset c65b573ccae3 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=c65b573ccae3 author: katleman date: Thu Mar 22 14:11:24 2012 -0700 Added tag jdk7u4-b17 for changeset 80552e34be80 changeset 12cdf04507b4 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=12cdf04507b4 author: cl date: Thu Mar 29 15:42:52 2012 -0700 Added tag jdk7u4-b18 for changeset c65b573ccae3 changeset 83b2485f2acb in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=83b2485f2acb author: katleman date: Thu Apr 05 15:11:20 2012 -0700 Added tag jdk7u4-b19 for changeset 12cdf04507b4 changeset 463face16af6 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=463face16af6 author: katleman date: Thu Apr 12 14:16:06 2012 -0700 Added tag jdk7u4-b20 for changeset 83b2485f2acb changeset a7e6a43c5e37 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=a7e6a43c5e37 author: katleman date: Mon Apr 16 15:04:04 2012 -0700 Added tag jdk7u4-b30 for changeset 463face16af6 changeset 79cee842266b in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=79cee842266b author: katleman date: Fri Apr 20 11:10:00 2012 -0700 Added tag jdk7u4-b21 for changeset a7e6a43c5e37 changeset 2176128e2f57 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=2176128e2f57 author: Deepak Bhole date: Wed May 02 13:17:23 2012 -0400 Merge diffstat: .hgtags | 17 ++++++++++ make/build.xml | 2 +- src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties | 2 +- src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) diffs (95 lines): diff -r 56eb9150d9ff -r 2176128e2f57 .hgtags --- a/.hgtags Sun Feb 19 22:04:01 2012 -0800 +++ b/.hgtags Wed May 02 13:17:23 2012 -0400 @@ -50,6 +50,7 @@ 9596dff460935f09684c11d156ce591f92584f0d jdk7-b73 1a66b08deed0459054b5b1bea3dfbead30d258fa jdk7-b74 2485f5641ed0829205aaaeb31ad711c2c2ef0de3 jdk7-b75 +83367f01297bf255f511f5291bbbbaa24a9c8459 icedtea7-1.12 8fb9b4be3cb1574302acde90549a4d333ef51e93 jdk7-b76 0398ae15b90ac76d87ee21844453e95ff8613e43 jdk7-b77 acc1e40a5874ebf32bebcb6ada565b3b40b7461c jdk7-b78 @@ -63,6 +64,7 @@ ef07347428f2198ae6b8144ac0b9086bbe39fd16 jdk7-b86 409db93d19c002333980df5b797c6b965150c7a0 jdk7-b87 f9b5d4867a26f8c4b90ad37fe2c345b721e93d6b jdk7-b88 +681f1f51926faf4c73d8905a429ff4ead6e9d622 icedtea7-1.13 6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89 71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90 97b6fa97b8ddb3a49394011c2a0ec5d6535e594c jdk7-b91 @@ -111,6 +113,7 @@ 3d7acdbb72cab55deedfd35f60d4732abc9d6ac4 jdk7-b134 9d0a61ac567b983da7cc8f4a7030f2245bb6dbab jdk7-b135 ed0f7f1f9511db4f9615b1426d22f8b961629275 jdk7-b136 +8e26c4aee63c04ee129bf9068f5eea47cc385177 icedtea-1.14 a15c9b058ae007d4ccb7e35ce44e4dfa977f090b jdk7-b137 53f212bed4f4304dce7f0bf0fa01c998c65bacd6 jdk7-b138 853b6bb99f9b58eb7cf8211c67d3b6e4f1228a3e jdk7-b139 @@ -123,6 +126,7 @@ 9425dd4f53d5bfcd992d9aecea0eb7d8b2d4f62b jdk7-b146 d34578643d1c6c752d4a6b5e79c6ab1b60850b4a jdk7u1-b01 58bc532d63418ac3c9b42460d89cdaf595c6f3e1 jdk7-b147 +fb7fb3071b642334520e5b9f4a87ce28717af61c icedtea-2.0-branchpoint cd2cc8b5edb045b950aed46d159b4fb8fc2fd1df jdk7u1-b02 82820a30201dbf4b80f1916f3d0f4a92ad21b61a jdk7u1-b03 baa2c13c70fea3d6e259a34f0903197fdceb64b5 jdk7u1-b04 @@ -141,6 +145,7 @@ f0802d8a0909f66ce19d3d44b33ddf4943aee076 jdk7u2-b12 f474527e77e4797d78bd6c3b31923fddcfd9d5c6 jdk7u2-b13 fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u2-b21 +58f6a950cd726220e81eddb126ca5c57e3b368f2 icedtea-2.1-branchpoint fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u3-b02 0ffc4995457773085f61c39f6d33edc242b41bcf jdk7u3-b03 f6de36b195cd315646213c7affd2cc15702edbfb jdk7u3-b04 @@ -157,3 +162,15 @@ 8919b2b02fcba65f833c68374f3bfdd9bc3ba814 jdk7u4-b10 4672e092f0968d503dc37f860b15ae7e2653f8d7 jdk7u4-b11 a4bf6a1aff54a98e9ff2b3fb53c719f658bec677 jdk7u4-b12 +e3537a4f75c7fcca16c349c3175bb0cdc2fbc29c icedtea-2.2-branchpoint +a4bf6a1aff54a98e9ff2b3fb53c719f658bec677 jdk7u4-b12 +56eb9150d9ffdb71c47d72871e8ecc98b5f402de jdk7u4-b13 +0e55881c2ee2984048c179d1e031cefb56a36bec jdk7u4-b14 +0bea057f7ce1577e1b0306f2027c057e35394398 jdk7u4-b15 +b05d9de909321f3cd97f066b3614f3117b7c15c4 jdk7u4-b16 +80552e34be80bdd77a0c9dd96d5a87e70542de00 jdk7u4-b17 +c65b573ccae35395053390952b4593e97c6f1c89 jdk7u4-b18 +12cdf04507b4930a6ab36b39dbd972772fc8bd31 jdk7u4-b19 +83b2485f2acb254c5173979452c31bfe7b8f3b94 jdk7u4-b20 +463face16af6cde12dde0be11b22db63d3eb210e jdk7u4-b30 +a7e6a43c5e3732f539ed0e92701c9011b678c6f1 jdk7u4-b21 diff -r 56eb9150d9ff -r 2176128e2f57 make/build.xml --- a/make/build.xml Sun Feb 19 22:04:01 2012 -0800 +++ b/make/build.xml Wed May 02 13:17:23 2012 -0400 @@ -877,7 +877,7 @@ + classpath="${build.toolclasses.dir}:${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar"/> diff -r 56eb9150d9ff -r 2176128e2f57 src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties --- a/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties Sun Feb 19 22:04:01 2012 -0800 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties Wed May 02 13:17:23 2012 -0400 @@ -160,7 +160,7 @@ doclet.Help_line_26=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306FHTML\u30D5\u30EC\u30FC\u30E0\u306E\u8868\u793A\u3068\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30DA\u30FC\u30B8\u306F\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u3067\u3082\u3001\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u3067\u3082\u8868\u793A\u3067\u304D\u307E\u3059\u3002 doclet.Help_line_27={0}\u30EA\u30F3\u30AF\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u975Estatic\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u578B\u3092\u9664\u304F)\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002 doclet.Help_line_28=\u76F4\u5217\u5316\u53EF\u80FD\u307E\u305F\u306F\u5916\u90E8\u5316\u53EF\u80FD\u306A\u5404\u30AF\u30E9\u30B9\u306F\u3001\u76F4\u5217\u5316\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u8AAC\u660E\u3092\u542B\u307F\u307E\u3059\u3002\u3053\u306E\u60C5\u5831\u306F\u3001API\u3092\u4F7F\u7528\u3059\u308B\u958B\u767A\u8005\u3067\u306F\u306A\u304F\u3001\u518D\u5B9F\u88C5\u3092\u884C\u3046\u62C5\u5F53\u8005\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u30EA\u30F3\u30AF\u304C\u306A\u3044\u5834\u5408\u3001\u76F4\u5217\u5316\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306B\u79FB\u52D5\u3057\u3066\u3001\u30AF\u30E9\u30B9\u8A18\u8FF0\u306E\u300C\u95A2\u9023\u9805\u76EE\u300D\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3042\u308B\u300C\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u3053\u306E\u60C5\u5831\u3092\u8868\u793A\u3067\u304D\u307E\u3059\u3002 -doclet.Help_line_29=\u300C\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u5024\u300D \u30DA\u30FC\u30B8\u306B\u306F\u3001static final\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002 +doclet.Help_line_29={0}\u30DA\u30FC\u30B8\u306B\u306F\u3001static final\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002 doclet.Help_line_30=\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u6A19\u6E96doclet\u3092\u4F7F\u7528\u3057\u3066\u751F\u6210\u3055\u308C\u305FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002 doclet.Help_enum_line_1=\u5404\u5217\u6319\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059: doclet.Help_enum_line_2=\u5217\u6319\u578B\u306E\u5BA3\u8A00 diff -r 56eb9150d9ff -r 2176128e2f57 src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties --- a/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties Sun Feb 19 22:04:01 2012 -0800 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties Wed May 02 13:17:23 2012 -0400 @@ -160,7 +160,7 @@ doclet.Help_line_26=\u8FD9\u4E9B\u94FE\u63A5\u7528\u4E8E\u663E\u793A\u548C\u9690\u85CF HTML \u6846\u67B6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67B6\u548C\u65E0\u6846\u67B6\u4E24\u79CD\u663E\u793A\u65B9\u5F0F\u3002 doclet.Help_line_27={0}\u94FE\u63A5\u663E\u793A\u6240\u6709\u7C7B\u548C\u63A5\u53E3 (\u9664\u4E86\u975E\u9759\u6001\u5D4C\u5957\u7C7B\u578B)\u3002 doclet.Help_line_28=\u6BCF\u4E2A\u53EF\u5E8F\u5217\u5316\u6216\u53EF\u5916\u90E8\u5316\u7684\u7C7B\u90FD\u6709\u5176\u5E8F\u5217\u5316\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u8BF4\u660E\u3002\u6B64\u4FE1\u606F\u5BF9\u91CD\u65B0\u5B9E\u73B0\u8005\u6709\u7528, \u800C\u5BF9\u4F7F\u7528 API \u7684\u5F00\u53D1\u8005\u5219\u6CA1\u6709\u4EC0\u4E48\u7528\u5904\u3002\u5C3D\u7BA1\u5BFC\u822A\u680F\u4E2D\u6CA1\u6709\u94FE\u63A5, \u4F46\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0B\u5217\u65B9\u5F0F\u83B7\u53D6\u6B64\u4FE1\u606F: \u8F6C\u81F3\u4EFB\u4F55\u5E8F\u5217\u5316\u7C7B, \u7136\u540E\u5355\u51FB\u7C7B\u8BF4\u660E\u7684 "\u53E6\u8BF7\u53C2\u9605" \u90E8\u5206\u4E2D\u7684 "\u5E8F\u5217\u5316\u8868\u683C"\u3002 -doclet.Help_line_29=\u5E38\u91CF\u5B57\u6BB5\u503C\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002 +doclet.Help_line_29={0}\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002 doclet.Help_line_30=\u6B64\u5E2E\u52A9\u6587\u4EF6\u9002\u7528\u4E8E\u4F7F\u7528\u6807\u51C6 doclet \u751F\u6210\u7684 API \u6587\u6863\u3002 doclet.Help_enum_line_1=\u6BCF\u4E2A\u679A\u4E3E\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206: doclet.Help_enum_line_2=\u679A\u4E3E\u58F0\u660E From dbhole at redhat.com Wed May 2 13:57:13 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 2 May 2012 16:57:13 -0400 Subject: Moving Forward with IcedTea In-Reply-To: <9955e79b-8825-4d6d-9fd8-67c378af7dbe@zmail17.collab.prod.int.phx2.redhat.com> References: <20120502144822.GX3475@redhat.com> <9955e79b-8825-4d6d-9fd8-67c378af7dbe@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <20120502205712.GE3475@redhat.com> * Andrew Hughes [2012-05-02 11:21]: > ----- Original Message ----- > > * Andrew Hughes [2012-05-02 10:39]: > > > ----- Original Message ----- > > > > > > snip... > > > > > > > 2. IcedTea7 for u4. > > > > > > > > Oracle have already released u4: > > > > http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html > > > > > > > > I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) > > > > and > > > > then create a 2.2 branch which can > > > > then be prepared and tested for a 2.2 release. > > > > > > > > PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). > > > > > > The forest branch is now available: > > > > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/ > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools > > > http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot > > > > > > The corresponding IcedTea tree will be created in due course to > > > facilitate testing. > > > > Shouldn't we have first merged u4 into HEAD and then branched? Now we > > have to do the work twice.. am I missing something? > > > > It's a three-stage process mirroring upstream, of which this is stage 1. > > 1. As mentioned above, HEAD is merged up to jdk7u4 b13 prior to branch. > This is done. Both HEAD and 2.2 are at jdk7u4 b13. This is the majority > of u4 changes (most of which were in the earlier merge, not today's). > > 2. The changes from the upstream jdk7u4 trees need to be pulled into the > 2.2 forest. > > 3. The changes from the upstream jdk7u trees need to be pulled into the > HEAD forest. > > In theory, 2 is a subset of 3, but I'd prefer to mirror what Oracle did > upstream to avoid mistakes (and their branchpoints aren't exactly clear; > I had to ask to obtain the b13 branchpoint). > > The important one is stage 2. That will give us a 2.2 that should be > fairly close to u4. > Stage 2 is complete. > Stage 3 will move HEAD onto u6 which isn't immediately urgent, but would > be good to get in sync so we and Oracle are both working on the same thing > and we can find bugs and get them fixed upstream. > I will start on this tomorrow. Cheers, Deepak > You said you wanted to do some work on this merge, so I've left 2 & 3 for > you to do. We can discuss this further on IRC but basically it's just a > cycle of: > > 1. hg pull http://hg.openjdk.java.net/jdk7u/jdk7u{,4}/{.,corba,jaxp,jaxws,jdk,langtools,hotspot} > 2. hg merge > 3. Fix any conflicts with hg resolve -l / hg resolve -m > 4. Commit the merge: hg commit -m Merge > 5. Build the forest when all trees are merged. > 6. Push all trees if it builds. > > 4 and 5 are interchangeable. I feel a little safer having the merge committed and just using > hg rollback if there's an issue, but the build shouldn't be making any changes to the source tree. > > > Deepak > > > > > -- > > > Andrew :) > > > > > > Free Java Software Engineer > > > Red Hat, Inc. (http://www.redhat.com) > > > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > > > > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > From andrew at icedtea.classpath.org Wed May 2 16:06:16 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 02 May 2012 23:06:16 +0000 Subject: /hg/icedtea7: Bump to jdk7u4 b13. Message-ID: changeset 9db4ba854770 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=9db4ba854770 author: Andrew John Hughes date: Thu May 03 00:06:07 2012 +0100 Bump to jdk7u4 b13. 2012-05-02 Andrew John Hughes Bump to jdk7u4 b13. * Makefile.am: (OPENJDK_VERSION): Set to b13. (CORBA_CHANGESET): Update to IcedTea7 forest head. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Set BUILD_CXX not BUILD_CPP due to build-infra changes in HotSpot. * patches/boot/ecj-diamond.patch: Add cases in UntrustedCertificates.java. * patches/boot/ecj-multicatch.patch: Likewise. * patches/boot/ecj-trywithresources.patch: Likewise. diffstat: ChangeLog | 26 +++++ Makefile.am | 32 +++--- patches/boot/ecj-diamond.patch | 12 ++ patches/boot/ecj-multicatch.patch | 15 +++ patches/boot/ecj-trywithresources.patch | 155 +++++++++++++++++++------------ 5 files changed, 164 insertions(+), 76 deletions(-) diffs (500 lines): diff -r f427c1c7d29c -r 9db4ba854770 ChangeLog --- a/ChangeLog Mon Apr 23 21:10:12 2012 +0100 +++ b/ChangeLog Thu May 03 00:06:07 2012 +0100 @@ -1,3 +1,29 @@ +2012-05-02 Andrew John Hughes + + Bump to jdk7u4 b13. + * Makefile.am: + (OPENJDK_VERSION): Set to b13. + (CORBA_CHANGESET): Update to IcedTea7 forest head. + (HOTSPOT_CHANGESET): Likewise. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + (ICEDTEA_ENV): Set BUILD_CXX not BUILD_CPP + due to build-infra changes in HotSpot. + * patches/boot/ecj-diamond.patch: + Add cases in UntrustedCertificates.java. + * patches/boot/ecj-multicatch.patch: Likewise. + * patches/boot/ecj-trywithresources.patch: Likewise. + 2012-04-23 Andrew John Hughes * Makefile.am: diff -r f427c1c7d29c -r 9db4ba854770 Makefile.am --- a/Makefile.am Mon Apr 23 21:10:12 2012 +0100 +++ b/Makefile.am Thu May 03 00:06:07 2012 +0100 @@ -1,24 +1,24 @@ # Dependencies -OPENJDK_VERSION = b147 +OPENJDK_VERSION = b13 JDK_UPDATE_VERSION = 04 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = c628aeb3d72f -HOTSPOT_CHANGESET = 2967c7838b7a -JAXP_CHANGESET = 9b7a2f21b8a8 -JAXWS_CHANGESET = 9ae185bd7ff2 -JDK_CHANGESET = 1aea8312412a -LANGTOOLS_CHANGESET = 54b1383d794c -OPENJDK_CHANGESET = 3a0fd3cc84a0 +CORBA_CHANGESET = 113893003a77 +HOTSPOT_CHANGESET = 5be91de8b779 +JAXP_CHANGESET = 10808c0ac008 +JAXWS_CHANGESET = 06cd92271215 +JDK_CHANGESET = 9b7558b91244 +LANGTOOLS_CHANGESET = 8634c8f95ff7 +OPENJDK_CHANGESET = 6670fad22684 -CORBA_SHA256SUM = b176cf1fd8a461413ab822236753cf455210e97c11a8d4224929582607c212b4 -HOTSPOT_SHA256SUM = ea07bbffa5ce566efa4f7955983315bee006b0e60f7eacb36d14710e5da61b58 -JAXP_SHA256SUM = 4d38e8a0fc0fcbe3ba8a56f9fc0960ecbf15cd4cef44b76fdc82418c008a33c3 -JAXWS_SHA256SUM = 60c6c62c851eafc15ff33e58aa625e6f58fd31f15328b121602a07891fc1d272 -JDK_SHA256SUM = 1d5f1b7a5d9f8be06105130aa1c0f1898e9b91fb8d968d7ccb21d2b365575802 -LANGTOOLS_SHA256SUM = 97821e49028d8d726fac9563c361c682146e037074179cbd68ed5cb80e82f9fa -OPENJDK_SHA256SUM = abe0c3b348c35f79117ef726bb2580b279024b1f73b6487fda4a1e717c738f9f +CORBA_SHA256SUM = 3dafae04c00c8f13a7cbba0a8ad070bd10e4bec6598f27a62e34cdeb54ed4957 +HOTSPOT_SHA256SUM = babb11cf54c6299fe2f0730968316958b71a1dd5e7c2d5d698ac7d905bfc2ccc +JAXP_SHA256SUM = a8c600e3419d8586acb3f7f444bea399aac174d58f2127cb4c0a3ffd3cffdd17 +JAXWS_SHA256SUM = f896fbc4dd9eeb68015afe0378638fc646b9b08047cf9c382a33542f44454def +JDK_SHA256SUM = a449701b9957e1993b4795b7825953eb806b5865a12b165cbcaf62887f83504f +LANGTOOLS_SHA256SUM = bad80067828740510fe8f7c430dfb90d1ec1c895a93fa56b16d8223a8c757bd3 +OPENJDK_SHA256SUM = 5256c8e7c9144ff8a23e83574a82a42874c4c7722057e8194ceb70fe15a5de06 CACAO_VERSION = a567bcb7f589 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9 @@ -427,7 +427,7 @@ VERBOSE="$(VERBOSE)" \ STATIC_CXX="false" \ BUILD_GCC="$(CC)" \ - BUILD_CPP="$(CXX)" \ + BUILD_CXX="$(CXX)" \ USE_SYSTEM_CUPS="true" \ CUPS_LIBS="${CUPS_LIBS}" \ CUPS_CFLAGS="${CUPS_CFLAGS}" \ diff -r f427c1c7d29c -r 9db4ba854770 patches/boot/ecj-diamond.patch --- a/patches/boot/ecj-diamond.patch Mon Apr 23 21:10:12 2012 +0100 +++ b/patches/boot/ecj-diamond.patch Thu May 03 00:06:07 2012 +0100 @@ -6030,3 +6030,15 @@ List threads = new ArrayList(); for (int i = 0; i < threadCount; i++) { RandomCollector r = new RandomCollector(); +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java 2012-05-02 20:54:14.597408672 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java 2012-05-02 20:54:23.977558137 +0100 +@@ -42,7 +42,7 @@ + */ + public final class UntrustedCertificates { + +- private final static Set untrustedCerts = new HashSet<>(); ++ private final static Set untrustedCerts = new HashSet(); + + /** + * Checks if a certificate is untrusted. diff -r f427c1c7d29c -r 9db4ba854770 patches/boot/ecj-multicatch.patch --- a/patches/boot/ecj-multicatch.patch Mon Apr 23 21:10:12 2012 +0100 +++ b/patches/boot/ecj-multicatch.patch Thu May 03 00:06:07 2012 +0100 @@ -176,3 +176,18 @@ } private static String getMainClass(VirtualMachineDescriptor vmd) +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java 2012-05-02 20:50:17.549643066 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java 2012-05-02 20:52:03.435320716 +0100 +@@ -65,7 +65,10 @@ + throw new RuntimeException("Duplicate untrusted certificate: " + + cert.getSubjectX500Principal()); + } +- } catch (CertificateException | IOException e) { ++ } catch (CertificateException e) { ++ throw new RuntimeException( ++ "Incorrect untrusted certificate: " + alias, e); ++ } catch (IOException e) { + throw new RuntimeException( + "Incorrect untrusted certificate: " + alias, e); + } diff -r f427c1c7d29c -r 9db4ba854770 patches/boot/ecj-trywithresources.patch --- a/patches/boot/ecj-trywithresources.patch Mon Apr 23 21:10:12 2012 +0100 +++ b/patches/boot/ecj-trywithresources.patch Thu May 03 00:06:07 2012 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-03-22 11:12:25.868603481 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-05-02 21:34:27.804140818 +0100 @@ -743,7 +743,9 @@ private void dumpBand() throws IOException { @@ -54,9 +54,9 @@ public void readDataFrom(InputStream in) throws IOException { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-03-22 11:12:25.876603609 +0000 -@@ -151,8 +151,13 @@ +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-05-02 21:14:28.392759448 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-05-02 21:34:27.812140950 +0100 +@@ -149,8 +149,13 @@ if ("--config-file=".equals(state)) { String propFile = av.remove(0); Properties fileProps = new Properties(); @@ -71,7 +71,7 @@ } if (engProps.get(verboseProp) != null) fileProps.list(System.out); -@@ -348,9 +353,14 @@ +@@ -341,9 +346,14 @@ else fileOut = new FileOutputStream(outfile); fileOut = new BufferedOutputStream(fileOut); @@ -87,7 +87,7 @@ } // At this point, we have a good jarfile (or newfile, if -r) } -@@ -411,7 +421,9 @@ +@@ -404,7 +414,9 @@ long filelen = new File(jarfile).length(); if (filelen <= 0) return ""; long skiplen = Math.max(0, filelen - tail.length); @@ -98,7 +98,7 @@ in.skip(skiplen); in.read(tail); for (int i = tail.length-4; i >= 0; i--) { -@@ -425,6 +437,9 @@ +@@ -418,6 +430,9 @@ } } return ""; @@ -109,8 +109,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java 2012-05-02 21:34:27.812140950 +0100 @@ -241,9 +241,15 @@ void run(File inFile, JarOutputStream jstream) throws IOException { // %%% maybe memory-map the file, and pass it straight into unpacker @@ -129,8 +129,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-05-02 21:34:27.812140950 +0100 @@ -540,9 +540,15 @@ Index index = initCPIndex(tag, cpMap); @@ -174,8 +174,8 @@ attr_definition_name.doneDisbursing(); attr_definition_layout.doneDisbursing(); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-05-02 21:34:27.816141016 +0100 @@ -458,9 +458,15 @@ Utils.log.info("Writing "+cpMap.length+" "+ConstantPool.tagName(tag)+" entries..."); @@ -219,8 +219,8 @@ void writeAttrCounts() throws IOException { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-05-02 21:34:27.816141016 +0100 @@ -122,8 +122,9 @@ // Do this after the previous props are put in place, // to allow override if necessary. @@ -249,8 +249,8 @@ for (Map.Entry e : props.entrySet()) { String key = (String) e.getKey(); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-05-02 21:34:27.816141016 +0100 @@ -160,9 +160,15 @@ } // Use the stream-based implementation. @@ -269,8 +269,8 @@ in.delete(); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2011-07-27 14:31:14.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-05-02 21:34:27.816141016 +0100 @@ -268,18 +268,30 @@ // 4947205 : Peformance is slow when using pack-effort=0 out = new BufferedOutputStream(out); @@ -305,8 +305,8 @@ // Wrapper to prevent closing of client-supplied stream. static private diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java openjdk-boot/jdk/src/share/classes/java/lang/Package.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java 2011-06-11 00:38:08.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java 2012-05-02 21:34:27.828141214 +0100 @@ -575,12 +575,23 @@ * Returns the Manifest for the specified JAR file name. */ @@ -335,8 +335,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java ---- openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java 2011-06-11 00:38:08.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java 2012-05-02 21:34:27.828141214 +0100 @@ -188,7 +188,7 @@ } catch (Throwable suppressed) { x.addSuppressed(suppressed); @@ -347,8 +347,8 @@ assert sc.isConnected(); return sc; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java ---- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java 2011-04-29 01:51:17.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java 2012-05-02 21:34:27.828141214 +0100 @@ -122,9 +122,15 @@ if (attrs.isDirectory()) { Files.createDirectory(target); @@ -376,8 +376,8 @@ } } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java ---- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java 2011-06-11 00:38:08.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java 2012-05-02 21:34:27.832141280 +0100 @@ -2833,8 +2833,11 @@ } @@ -491,8 +491,8 @@ } } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java openjdk-boot/jdk/src/share/classes/java/util/Currency.java ---- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java 2012-03-18 17:19:55.667662249 +0000 ++++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java 2012-05-02 21:34:27.832141280 +0100 @@ -233,9 +233,14 @@ "currency.properties"); if (propFile.exists()) { @@ -510,8 +510,8 @@ Pattern propertiesPattern = Pattern.compile("([A-Z]{3})\\s*,\\s*(\\d{3})\\s*,\\s*([0-3])"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java ---- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java 2012-03-22 11:12:25.876603609 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java 2011-06-11 00:38:08.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java 2012-05-02 21:34:27.832141280 +0100 @@ -376,9 +376,15 @@ */ private byte[] getBytes(ZipEntry ze) throws IOException { @@ -549,8 +549,8 @@ int i = 0; next: diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java ---- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java 2011-06-11 00:38:08.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java 2012-05-02 21:34:27.832141280 +0100 @@ -144,8 +144,9 @@ buf = new char[(int)len]; int read = 0; @@ -610,8 +610,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java ---- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java 2011-06-11 00:38:08.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java 2012-05-02 21:34:27.832141280 +0100 @@ -367,9 +367,15 @@ // Load user's implementation of SyncProvider // here. -Drowset.properties=/abc/def/pqr.txt @@ -654,8 +654,8 @@ parseProperties(properties); diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java 2011-06-11 00:38:10.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java 2012-05-02 21:34:27.832141280 +0100 @@ -194,7 +194,8 @@ * Given a URL, retrieves a JAR file, caches it to disk, and creates a * cached JAR file object. @@ -689,8 +689,8 @@ } }); diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java 2011-06-11 00:38:10.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java 2012-05-02 21:34:27.832141280 +0100 @@ -255,7 +255,9 @@ this.entries = new HashMap(); @@ -714,8 +714,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java 2011-06-11 00:38:10.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java 2012-05-02 21:34:27.832141280 +0100 @@ -92,9 +92,13 @@ tabName = filename; try { @@ -784,8 +784,8 @@ } } diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java 2011-06-11 00:38:10.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java 2012-05-02 21:34:27.832141280 +0100 @@ -179,7 +179,9 @@ // The temporary dir File f = new File(p.getProperty("java.io.tmpdir")); @@ -809,8 +809,8 @@ } catch (Exception ex) { md.update((byte)ex.hashCode()); diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java 2012-03-21 23:42:03.534014791 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java 2012-03-22 12:45:19.286744673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java 2012-03-18 17:19:55.719663080 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java 2012-05-02 21:34:27.832141280 +0100 @@ -1149,9 +1149,14 @@ } else { ByteArrayOutputStream bout = new ByteArrayOutputStream(); @@ -828,9 +828,44 @@ } } } +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java 2012-05-02 21:14:28.512761362 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java 2012-05-02 21:34:27.836141346 +0100 +@@ -56,8 +56,9 @@ + + private static void add(String alias, String pemCert) { + // generate certificate from PEM certificate +- try (ByteArrayInputStream is = +- new ByteArrayInputStream(pemCert.getBytes())) { ++ ByteArrayInputStream is = null; ++ try { ++ is = new ByteArrayInputStream(pemCert.getBytes()); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + X509Certificate cert = (X509Certificate)cf.generateCertificate(is); + +@@ -68,10 +69,15 @@ + } catch (CertificateException e) { + throw new RuntimeException( + "Incorrect untrusted certificate: " + alias, e); +- } catch (IOException e) { +- throw new RuntimeException( +- "Incorrect untrusted certificate: " + alias, e); +- } ++ } finally { ++ try { ++ if (is != null) ++ is.close(); ++ } catch (IOException e) { ++ throw new RuntimeException( ++ "Incorrect untrusted certificate: " + alias, e); ++ } ++ } + } + + static { diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java 2012-03-22 06:00:16.274401878 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java 2012-03-22 09:57:58.951418314 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java 2012-03-18 17:19:55.723663143 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java 2012-05-02 21:34:27.832141280 +0100 @@ -99,14 +99,19 @@ } @@ -860,9 +895,9 @@ public static void usage() { diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java 2012-03-22 06:00:16.249674555 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java 2012-03-22 09:59:25.594209042 +0000 -@@ -142,7 +142,9 @@ +--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java 2012-05-02 21:14:28.508761298 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java 2012-05-02 21:34:27.832141280 +0100 +@@ -153,7 +153,9 @@ // Cast to HotSpotVirtualMachine as this is an // implementation specific method. HotSpotVirtualMachine hvm = (HotSpotVirtualMachine) vm; @@ -873,7 +908,7 @@ // read to EOF and just print output byte b[] = new byte[256]; int n; -@@ -153,7 +155,10 @@ +@@ -164,7 +166,10 @@ System.out.print(s); } } while (n > 0); @@ -886,8 +921,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java 2011-06-11 00:38:11.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java 2012-05-02 21:34:27.832141280 +0100 @@ -127,9 +127,15 @@ calendarProps = (Properties) AccessController.doPrivileged(new PrivilegedExceptionAction() { public Object run() throws IOException { @@ -906,8 +941,8 @@ } }); diff -Nru openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java ---- openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java 2012-02-13 15:55:48.725932524 +0000 ++++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java 2012-05-02 21:34:27.832141280 +0100 @@ -200,7 +200,7 @@ } @@ -918,8 +953,8 @@ Character.UnicodeBlock currentBlock = Character.UnicodeBlock.of(0); for (int cp = 0x000001; cp < 0x110000; cp++ ) { diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java ---- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java 2011-06-11 00:38:13.000000000 +0100 ++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java 2012-05-02 21:34:27.832141280 +0100 @@ -569,11 +569,11 @@ public Void run() throws BackingStoreException { Map m = new TreeMap<>(); @@ -983,8 +1018,8 @@ } }); diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java ---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java 2012-03-22 11:12:25.880603673 +0000 +--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java 2011-06-11 00:38:13.000000000 +0100 ++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java 2012-05-02 21:34:27.832141280 +0100 @@ -255,9 +255,16 @@ String fstypes = System.getProperty("java.home") + "/lib/fstypes.properties"; Path file = Paths.get(fstypes); From jvanek at redhat.com Thu May 3 05:20:55 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 03 May 2012 14:20:55 +0200 Subject: [rfc][icedtea-web] fix for RH816592 Message-ID: <4FA27827.9050407@redhat.com> This patch is fixing https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in [rfc][icedtea-web] reproducer for RH816592 (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) This patch have small (one output message) overleap with [rfc] [icedtea-web] providing little bit more debug outputs for few methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) Changelog inlined in patch. Best regards J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixRH816592.diff Type: text/x-patch Size: 2295 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/e1660a34/fixRH816592.diff From ptisnovs at icedtea.classpath.org Thu May 3 05:31:58 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 03 May 2012 12:31:58 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestLines.java: Message-ID: changeset 1e9fa50239df in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=1e9fa50239df author: Pavel Tisnovsky date: Thu May 03 14:34:35 2012 +0200 * src/org/gfxtest/testsuites/PrintTestLines.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/PrintTestLines.java | 292 +++++++++++++++++++++++++ 2 files changed, 297 insertions(+), 0 deletions(-) diffs (322 lines): diff -r 0e93a0e23fe3 -r 1e9fa50239df ChangeLog --- a/ChangeLog Wed May 02 15:21:33 2012 +0200 +++ b/ChangeLog Thu May 03 14:34:35 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-03 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestLines.java: + Added new tests to this test suite. + 2012-05-02 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestArcs.java: diff -r 0e93a0e23fe3 -r 1e9fa50239df src/org/gfxtest/testsuites/PrintTestLines.java --- a/src/org/gfxtest/testsuites/PrintTestLines.java Wed May 02 15:21:33 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestLines.java Thu May 03 14:34:35 2012 +0200 @@ -40,7 +40,16 @@ package org.gfxtest.testsuites; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; + + + +import org.gfxtest.framework.ColorPalette; import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -65,6 +74,289 @@ @Zoom(1) public class PrintTestLines extends GfxTest { + /** + * Maximum width of line rendered onto a paper. + */ + private static final float MAX_STROKE_WIDTH = 15.0f; + + /** + * Border around the test picture. + */ + private static final int BORDER = 10; + + /** + * Horizontal distance between two lines. + */ + private static final int HOR_STEP = 10; + + /** + * Vertical distance between two lines. + */ + private static final int VER_STEP = 10; + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with default width and default end caps. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesBasicStyle(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP) + { + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with default width and default end caps. + * Lines color are selected from a palette. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesColorPalette(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + + // index to color palette + int colorIndex = 0; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP) + { + // set line color + graphics.setColor(ColorPalette.getColor(colorIndex++)); + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with default width and default end caps. + * Lines color are selected from a grayscale palette. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesGrayScale(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP) + { + float gray = y * 1.0f / height; + graphics.setColor(new Color(gray, gray, gray)); + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and default end caps. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidth(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_BUTT. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapButt(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_ROUND. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapRound(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_SQUARE. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapSquare(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int y = 0; y < height; y += VER_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x1, y, x2, y); + } + + // test return value + return TestResult.PASSED; + } /** * Entry point to the test suite. From jvanek at redhat.com Thu May 3 06:41:37 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 03 May 2012 15:41:37 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4F97FE99.1020805@redhat.com> References: <4F97FE99.1020805@redhat.com> Message-ID: <4FA28B11.7090206@redhat.com> ping? -------- Original Message -------- Subject: Re: [rfc] [icedtea-web] make links Date: Wed, 25 Apr 2012 15:39:37 +0200 From: Jiri Vanek To: distro-pkg-dev at openjdk.java.net Hi Andrew, I just realized that I forgot to send opera;firefox... string to code coverage. This patch is add-one-line boosted makeLInks3 i sent few hours ago. Thanx and sorry J. -------------- next part -------------- A non-text attachment was scrubbed... Name: makeLinks4.diff Type: text/x-patch Size: 10050 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/2c6d545c/makeLinks4.diff From jvanek at redhat.com Thu May 3 06:42:30 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 03 May 2012 15:42:30 +0200 Subject: [RFC][ICEDTEA-WEB] reproducer for pr955 In-Reply-To: <4F914AAA.3080108@redhat.com> References: <4F914AAA.3080108@redhat.com> Message-ID: <4FA28B46.8010703@redhat.com> ping -------- Original Message -------- Subject: [RFC][ICEDTEA-WEB] reproducer for pr955 Date: Fri, 20 Apr 2012 13:38:18 +0200 From: Jiri Vanek To: IcedTea Distro List 2012-04-20 Jiri Vanek Reproducer for PR955 * tests/jnlp_tests/simple/simpletest1/resources/simpletest1Localised.jnlp: New file, have localised information tags with not all required fields. * tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java: (testSimpletest1lunchWithLocalisedInformation) new testacese for above file Hi! This simple test is reproducing behaviour of pr955. However if it is doing the right way or not is discussable. Specification is clear that those elements are required. But proprietary plugin looks like taking default values from not-localised default one. So what do you think? -------------- next part -------------- A non-text attachment was scrubbed... Name: pr955Reproducer.diff Type: text/x-patch Size: 5150 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/aa3e9f35/pr955Reproducer.diff From jvanek at redhat.com Thu May 3 06:44:13 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 03 May 2012 15:44:13 +0200 Subject: Fwd: Re: [rfc][icedtea-web] reproducer for PR905 In-Reply-To: <4F8ECBD3.1060207@redhat.com> References: <4F8ECBD3.1060207@redhat.com> Message-ID: <4FA28BAD.6070102@redhat.com> ping? -------- Original Message -------- Subject: Re: Fwd: Re: [rfc][icedtea-web] reproducer for PR905 Date: Wed, 18 Apr 2012 16:12:35 +0200 From: Jiri Vanek To: Danesh Dadachanji CC: IcedTea Distro List On 04/04/2012 04:42 PM, Jiri Vanek wrote: >>> >>> This reproducer is representing pr905 behaviour. All the tests except >>> signed jar with parametrised archive are passing, which is correct, and >>> the failing test is representing the issue. >>> ......snip All issues mentioned here should be fixed in new patch Especially fixed vendor/homepage of tests, unified ?test=..., and using of already pushed signed applet test ......snip >> + @Test >> + public void parametrizedAppletJavawsTest2() throws Exception { >> + System.out.println("connecting ParametrizedJarAppletUrl2 request"); >> + System.err.println("connecting ParametrizedJarAppletUrl2 request"); >> + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, >> "/ParametrizedJarAppletUrl2.jnlp?time=123456"); >> >> This is supposed to simulate running 'javaws ParametrizedJarAppletUrl2.jnlp?time=123456', right? >> Well this is strange because if I run this command from terminal, I get the following: >> >> $ cd ./icedtea-web/build/tests.build/jnlp_test_server >> $ javaws ParametrizedJarAppletUrl2.jnlp?time=123456 >> netx: Invalid jnlp file ParametrizedJarAppletUrl2.jnlp?time=123456 >> >> I hope I'm misunderstanding the purpose of the above test (and the others similar to it) but if this >> is the point, then something very strange is happening! Could you clarify what the above test is >> supposed to simulate? > > Yes I can :) You must run it as url :) eg javaws > http://localhost:44321/ParametrizedJarAppletUrl2.jnlp?time=123456 > > Then everything behind ? is translated as parameter for server. > > If you are launching it as you are, then it is considered to be file, where question mark have no > special meaning;) >> changelog: 2012-04-18 Jiri Vanek Added tests for PR905 - parameters in jnlp/html application/applet resources * tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java: fixed reference to PROCESS_TIMEOUT by class instead by reference * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl.html: html file to launch applet, requested archive jar have parameter * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl1.jnlp: jnlp file to launch application, requested archive jar have parameter * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl2.jnlp: jnlp file to launch application, requested jnlp have parameter * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned.html: html file to launch signed applet, requested archive jar have parameter * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned1.jnlp: jnlp file to launch signed application, requested archive jar have parameter * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned2.jnlp: jnlp file to launch signed application, requested jnlp have parameter * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrl2.jnlp * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrl.jnlp * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrlSigned2.jnlp * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrlSigned.jnlp variations launching applets from jnlp * tests/jnlp_tests/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java: testaceses of above ParametrizedJarUrl/jnlps+htmls namely - (parametrizedAppletTestSignedTest) , (testParametrizedJarUrl2), (testParametrizedJarUrlSigned2): passing calls /partially/ with parameter. Those test are passing. (parametrizedAppletTestSignedFirefoxTest) call with parameter upon signed applet in browser, failing and so is representing PR905 -------------- next part -------------- A non-text attachment was scrubbed... Name: pr905reproducer3.diff Type: text/x-patch Size: 41904 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/6ab98d42/pr905reproducer3.diff From jvanek at redhat.com Thu May 3 06:45:10 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 03 May 2012 15:45:10 +0200 Subject: [rfc][icedtea-web]encoding test In-Reply-To: <4F8E8563.6060509@redhat.com> References: <4F8E8563.6060509@redhat.com> Message-ID: <4FA28BE6.7090808@redhat.com> ping? -------- Original Message -------- Subject: [rfc][icedtea-web]encoding test Date: Wed, 18 Apr 2012 11:12:03 +0200 From: Jiri Vanek To: IcedTea Distro List On 04/17/2012 03:55 PM, Jiri Vanek wrote: > Hi! > > This is reproducer for incorrect behaviour of icedtea-web when jnlps are in "unexpected" encoding. > We are expecting utf-8 everywhere, but windows users can very easily expose jnlps in different one. > And we should process them for unix user correctly. > I have used ISO-8859-2 encoding to torture icedtea-web. > All tests to this encoding have failed. I have added also set of UTF-8 tests above those cases, and > all those are passing (so test should be correct). > > Sorry that diff is not in classical patch format, but diff tools have not cooperate well with mixed > utf8/non-utf8 content. And it is just adding files so "applying" should be simple as with patch. > > Please note, that this adds 3 more passing and three more failing tests - which are representing the > issue. Maybe annotation marking this "representatives" will become necessary soon? > > The name of the directory is so weird because I wanted to create resource containing those unhappy > characters. (The engine creates nameOfDirectory.jar) > > I'm going to check this also for applets, but here launching informations are provided by brpwser so > it should be ok. > > Changelog: > 2012-04-17 Jiri Vanek > > added encodings reproducer > * tests/jnlp_tests/simple/encodingTests????????????????????????: new reproducer > * tests/jnlp_tests/simple/encodingTests????????????????????????/srcs/encodingTest.java: > main class and method of new encodingTests????????????????????????.jar > * tests/jnlp_tests/simple/encodingTests????????????????????????/testcases/encodingTestTest.java: > testcases for jnlps of this reproducers > * tests/jnlp_tests/simple/encodingTests????????????????????????/resources: > three utf-8 and three iso-8859-2 jnlp files > > Changelog: 2012-04-18 Jiri Vanek added encodings reproducer * tests/jnlp_tests/simple/encodingTests????????????????????????: new reproducer * tests/jnlp_tests/simple/encodingTests????????????????????????/srcs/encodingTest.java: main class/main applet class and method of new encodingTests????????????????????????.jar * tests/jnlp_tests/simple/encodingTests????????????????????????/testcases/encodingTestTest.java: testcases for jnlps of this reproducers * tests/jnlp_tests/simple/encodingTests????????????????????????/resources: four utf-8 and four iso-8859-2 jnlp files and one utf-8 and one iso-8859-2 html files As expected, applets behaviour (in firefox) is correct due to encoding processed by browser Applets launched from jnlp suffers in same way as applications. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: encodingReproducersWithApplets.tar.gz Type: application/x-gzip Size: 4836 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/c3566d54/encodingReproducersWithApplets.tar.gz From dbhole at redhat.com Thu May 3 07:48:47 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 3 May 2012 10:48:47 -0400 Subject: [rfc][icedtea-web]encoding test In-Reply-To: <4F8D7655.8070206@redhat.com> References: <4F8D7655.8070206@redhat.com> Message-ID: <20120503144846.GO3475@redhat.com> * Jiri Vanek [2012-04-17 09:57]: > Hi! > > This is reproducer for incorrect behaviour of icedtea-web when jnlps are in "unexpected" encoding. > We are expecting utf-8 everywhere, but windows users can very easily > expose jnlps in different one. And we should process them for unix > user correctly. > I have used ISO-8859-2 encoding to torture icedtea-web. > All tests to this encoding have failed. I have added also set of > UTF-8 tests above those cases, and all those are passing (so test > should be correct). > > Sorry that diff is not in classical patch format, but diff tools > have not cooperate well with mixed utf8/non-utf8 content. And it is > just adding files so "applying" should be simple as with patch. > > Please note, that this adds 3 more passing and three more failing > tests - which are representing the issue. Maybe annotation marking > this "representatives" will become necessary soon? Yes. Please let's work on a way of marking known failures in some way first and letting the user know that they are expected to fail. I know there was some talk of this but then I lost track and can no longer find the thread :/ We should no longer check in anything that is known to fail without fixing the issue first IMO. Cheers, Deepak > > The name of the directory is so weird because I wanted to create > resource containing those unhappy characters. (The engine creates > nameOfDirectory.jar) > > I'm going to check this also for applets, but here launching > informations are provided by brpwser so it should be ok. > > Changelog: > 2012-04-17 Jiri Vanek > > added encodings reproducer > * tests/jnlp_tests/simple/encodingTests????????????????????????: new reproducer > * tests/jnlp_tests/simple/encodingTests????????????????????????/srcs/encodingTest.java: > main class and method of new encodingTests????????????????????????.jar > * tests/jnlp_tests/simple/encodingTests????????????????????????/testcases/encodingTestTest.java: > testcases for jnlps of this reproducers > * tests/jnlp_tests/simple/encodingTests????????????????????????/resources: > three utf-8 and three iso-8859-2 jnlp files > > From ddadacha at redhat.com Thu May 3 07:51:43 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 03 May 2012 10:51:43 -0400 Subject: Fwd: Re: [rfc][icedtea-web] reproducer for PR905 In-Reply-To: <4F8ECBD3.1060207@redhat.com> References: <4F7C4F16.3000802@redhat.com> <4F7C5DC1.2030502@redhat.com> <4F8ECBD3.1060207@redhat.com> Message-ID: <4FA29B7F.8080004@redhat.com> Hi Jiri, Thanks for the updates! There are a few typos, commented below. Did you want to push this into HEAD _before_ the fix for PR905 is there? I'm worried that we're increasing the number of failing tests. On the other hand though, I don't want this to slip through the cracks! What do you think? I was hoping to get PR905's fix done with this and have the changesets pushed simultaneously but I've been too busy to take care of it. :( On 18/04/12 10:12 AM, Jiri Vanek wrote: > On 04/04/2012 04:42 PM, Jiri Vanek wrote: >>>> >>>> This reproducer is representing pr905 behaviour. All the tests except >>>> signed jar with parametrised archive are passing, which is correct, and >>>> the failing test is representing the issue. >>>> > ......snip > All issues mentioned here should be fixed in new patch > Especially fixed vendor/homepage of tests, unified ?test=..., and using of already pushed signed applet test > ......snip Thanks! [snip] > changelog: > > 2012-04-18 Jiri Vanek > > Added tests for PR905 - parameters in jnlp/html application/applet resources > * tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java: > fixed reference to PROCESS_TIMEOUT by class instead by reference > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl.html: > html file to launch applet, requested archive jar have parameter > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl1.jnlp: > jnlp file to launch application, requested archive jar have parameter > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl2.jnlp: > jnlp file to launch application, requested jnlp have parameter > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned.html: > html file to launch signed applet, requested archive jar have parameter > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned1.jnlp: > jnlp file to launch signed application, requested archive jar have parameter > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned2.jnlp: > jnlp file to launch signed application, requested jnlp have parameter > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrl2.jnlp > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrl.jnlp > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrlSigned2.jnlp > * tests/jnlp_tests/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrlSigned.jnlp > variations launching applets from jnlp > * tests/jnlp_tests/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java: > testaceses of above ParametrizedJarUrl/jnlps+htmls namely - (parametrizedAppletTestSignedTest) s/testaceses/testcases/ > , (testParametrizedJarUrl2), (testParametrizedJarUrlSigned2): passing > calls /partially/ with parameter. Those test are passing. > (parametrizedAppletTestSignedFirefoxTest) call with parameter upon signed > applet in browser, failing and so is representing PR905 > > [snip] > + String s3 = "applet was initialised"; > + Assert.assertTrue("AppletTest stdout should contains " + s3 + " bud didn't", pr.stdout.contains(s3)); s/should contains/should contain/ s/bud didn't/but didn't/ This is basically all over the place again! How do these keep slipping back in? :/ Which test case are you using as a template to generate the rest? We should fix that one up in HEAD. From ddadacha at redhat.com Thu May 3 08:37:05 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 03 May 2012 11:37:05 -0400 Subject: [RFC][ICEDTEA-WEB] reproducer for pr955 In-Reply-To: <4F914AAA.3080108@redhat.com> References: <4F914AAA.3080108@redhat.com> Message-ID: <4FA2A621.70007@redhat.com> Hi Jiri, On 20/04/12 07:38 AM, Jiri Vanek wrote: > 2012-04-20 Jiri Vanek > > Reproducer for PR955 > * tests/jnlp_tests/simple/simpletest1/resources/simpletest1Localised.jnlp: > New file, have localised information tags with not all required fields. > * tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java: > (testSimpletest1lunchWithLocalisedInformation) new testacese for above file > s/testacese/testcase > Hi! This simple test is reproducing behaviour of pr955. > However if it is doing the right way or not is discussable. Specification is clear that those elements are required. But proprietary > plugin looks like taking default values from not-localised default one. > > So what do you think? IMO we should accept localized ones, especially since proprietary does so. The test looks good, those typos keep slipping in: + Assert.assertTrue(id + " stdout should contains " + s + " bud didn't", pr.stdout.contains(s)); s/should contains/should contain/ && s/bud didn't/but didn't I have to ask again though, do we really want to add this before the fix is in? Having yet another test that's failing in HEAD does not sound too good to me. :( Cheers, Danesh From adinn at redhat.com Thu May 3 09:36:37 2012 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 03 May 2012 17:36:37 +0100 Subject: Patch for IcedTea7-2.1 on ARM 32bit (mixed mode) TCK method handle invoke failures Message-ID: <4FA2B415.9050409@redhat.com> Attached is a patch for IcedTea7-2.1 which fixes some observed TCK failures associated with dynamic method handle invocation. The attached reproducer tests manifest the problems -- Test1 and Test2 fail with a SEGV, Test3 fails with a call to ShouldNotReachHere. The first two tests fail with a SEGV because because the unbox method handle adapter code fails to check for a null argument. The fix traps this case and throws a NullPointerException to the caller of MethodHandle.invoke. The third test fails because the retype method handle adapter code allows for widening of results from BOOLEAN, BYTE, CHAR and SHORT to INT but does not allow narrowing from INT to a shorter integral type. However, execution of Test3 results in generation of retype method handle adapters which attempt narrowing from INT to BYTE. The fix makes the adapter code more permissive so that these narrowing returns are allowed. The patch has been applied to the IcedTea7-2.1 tree and found to fix all three tests. Comments welcome. regards, Andrew Dinn ----------- -------------- next part -------------- A non-text attachment was scrubbed... Name: Test1.java Type: text/x-java Size: 911 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/8070bbd6/Test1.java -------------- next part -------------- A non-text attachment was scrubbed... Name: Test2.java Type: text/x-java Size: 909 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/8070bbd6/Test2.java -------------- next part -------------- A non-text attachment was scrubbed... Name: Test3.java Type: text/x-java Size: 733 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/8070bbd6/Test3.java -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch.txt Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120503/8070bbd6/patch.txt From bugzilla-daemon at icedtea.classpath.org Thu May 3 18:01:46 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 01:01:46 +0000 Subject: [Bug 758] [regression] javah from 6hg/b23 generates `jlong' from `private int' In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=758 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #7 from Omair Majid --- I forward-ported the patches to icedtea7. This should no longer be an issue. http://icedtea.classpath.org/hg/icedtea7/rev/0b6840181a0e -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/90820da5/attachment.html From aph at redhat.com Fri May 4 02:57:41 2012 From: aph at redhat.com (Andrew Haley) Date: Fri, 04 May 2012 10:57:41 +0100 Subject: Patch for IcedTea7-2.1 on ARM 32bit (mixed mode) TCK method handle invoke failures In-Reply-To: <4FA2B415.9050409@redhat.com> References: <4FA2B415.9050409@redhat.com> Message-ID: <4FA3A815.5050809@redhat.com> On 05/03/2012 05:36 PM, Andrew Dinn wrote: > The patch has been applied to the IcedTea7-2.1 tree and found to fix all > three tests. Comments welcome. This looks fine to me, but is a patch to Zero upstream. It may be that it no longer applies. though, so we'll have to keep it in IcedTea locally. Andrew. From adinn at redhat.com Fri May 4 03:10:44 2012 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 04 May 2012 11:10:44 +0100 Subject: Patch for IcedTea7-2.1 on ARM 32bit (mixed mode) TCK method handle invoke failures In-Reply-To: <4FA3A815.5050809@redhat.com> References: <4FA2B415.9050409@redhat.com> <4FA3A815.5050809@redhat.com> Message-ID: <4FA3AB24.2020007@redhat.com> On 04/05/12 10:57, Andrew Haley wrote: > On 05/03/2012 05:36 PM, Andrew Dinn wrote: >> The patch has been applied to the IcedTea7-2.1 tree and found to fix all >> three tests. Comments welcome. > > This looks fine to me, but is a patch to Zero upstream. It may be > that it no longer applies. though, so we'll have to keep it in IcedTea > locally. Ok, so with an ok from you and Chris I assume I can check this into the icedtea7-2.1 tree? regards, Andrew Dinn ----------- From ptisnovs at icedtea.classpath.org Fri May 4 05:37:43 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 04 May 2012 12:37:43 +0000 Subject: /hg/gfx-test: * postscript_renderer.properties: Message-ID: changeset e1207eaf717b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=e1207eaf717b author: Pavel Tisnovsky date: Fri May 04 14:40:21 2012 +0200 * postscript_renderer.properties: Added property file containing configuration for a software PostScript renderer. * src/org/gfxtest/common/PostScriptRendererConfiguration.java: * src/org/gfxtest/framework/PostScriptToPngConverter.java: * src/org/gfxtest/framework/PrintingTest.java: Classes which support rasterization from a PostScript file to a PNG image. * Makefile: Updated diffstat: ChangeLog | 12 + Makefile | 3 + postscript_renderer.properties | 7 + src/org/gfxtest/common/PostScriptRendererConfiguration.java | 198 ++++++++++++ src/org/gfxtest/framework/PostScriptToPngConverter.java | 118 +++++++ src/org/gfxtest/framework/PrintingTest.java | 4 + 6 files changed, 342 insertions(+), 0 deletions(-) diffs (397 lines): diff -r 1e9fa50239df -r e1207eaf717b ChangeLog --- a/ChangeLog Thu May 03 14:34:35 2012 +0200 +++ b/ChangeLog Fri May 04 14:40:21 2012 +0200 @@ -1,3 +1,15 @@ +2012-05-04 Pavel Tisnovsky + + * postscript_renderer.properties: + Added property file containing configuration for a software PostScript + renderer. + * src/org/gfxtest/common/PostScriptRendererConfiguration.java: + * src/org/gfxtest/framework/PostScriptToPngConverter.java: + * src/org/gfxtest/framework/PrintingTest.java: + Classes which support rasterization from a PostScript file to a PNG + image. + * Makefile: Updated + 2012-05-03 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestLines.java: diff -r 1e9fa50239df -r e1207eaf717b Makefile --- a/Makefile Thu May 03 14:34:35 2012 +0200 +++ b/Makefile Fri May 04 14:40:21 2012 +0200 @@ -63,6 +63,7 @@ $(CLASSES)/$(COMMON_DIR)/InvalidParameterValueException.class \ $(CLASSES)/$(COMMON_DIR)/ConfigurationException.class \ $(CLASSES)/$(COMMON_DIR)/Configuration.class \ + $(CLASSES)/$(COMMON_DIR)/PostScriptRendererConfiguration.class \ $(CLASSES)/$(REPORTER_DIR)/TestResult.class \ $(CLASSES)/$(REPORTER_DIR)/ReporterConfiguration.class \ $(CLASSES)/$(REPORTER_DIR)/Reporter.class \ @@ -92,6 +93,8 @@ $(CLASSES)/$(FRAMEWORK_DIR)/Log.class \ $(CLASSES)/$(FRAMEWORK_DIR)/ProceduralTextureFactory.class \ $(CLASSES)/$(FRAMEWORK_DIR)/ImageFactory.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/PostScriptToPngConverter.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/PrintingTest.class \ $(CLASSES)/$(IMAGE_DIFFER_DIR)/ComparisonResult.class \ $(CLASSES)/$(IMAGE_DIFFER_DIR)/Configuration.class \ $(CLASSES)/$(IMAGE_DIFFER_DIR)/ImageComparator.class \ diff -r 1e9fa50239df -r e1207eaf717b postscript_renderer.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/postscript_renderer.properties Fri May 04 14:40:21 2012 +0200 @@ -0,0 +1,7 @@ +# This file is used to configure PostScript renderer (RIP) +# which can render/rasterize PostScript files to a raster +# images +renderer_name = gs +renderer_options = -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m +dpi = 150 + diff -r 1e9fa50239df -r e1207eaf717b src/org/gfxtest/common/PostScriptRendererConfiguration.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/common/PostScriptRendererConfiguration.java Fri May 04 14:40:21 2012 +0200 @@ -0,0 +1,198 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.common; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Properties; + + + +/** + * Class representing configuration of PostScript renderer (RIP). This + * configuration is usually stored in a file named + * "postscript_renderer.properties". + * + * @author Pavel Tisnovsky + */ +public class PostScriptRendererConfiguration +{ + /** + * Property file containing configuration of PostScript renderer. + */ + private static final String PROPERTIES_FILE_NAME = "postscript_renderer.properties"; + + /** + * Name of program used as software RIP. + */ + private String rendererName = "gs"; + + /** + * Renderer options passed via command line. + */ + private String rendererOptions = ""; + + /** + * Resolution of the image (not its width and height!). + */ + private int dpi = 150; + + /** + * Constructor which read renderer configuration from property file. + */ + public PostScriptRendererConfiguration() + { + readConfiguration(); + } + + /** + * Read renderer configuration from property file. + */ + private void readConfiguration() + { + // Read properties file. + FileInputStream fileInputStream = null; + try + { + fileInputStream = new FileInputStream(PROPERTIES_FILE_NAME); + readAllProperties(fileInputStream); + } + catch (FileNotFoundException e) + { + e.printStackTrace(); + } + catch (IOException e) + { + e.printStackTrace(); + } + finally + { + // try to close input stream containing property information + if (fileInputStream != null) + { + try + { + fileInputStream.close(); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + } + } + + /** + * Read renderer configuration from property file and set all attributes. + * + * @param fileInputStream + * @throws IOException + */ + private void readAllProperties(FileInputStream fileInputStream) throws IOException + { + Properties properties = new Properties(); + properties.load(fileInputStream); + this.setRendererName(properties.getProperty("renderer_name")); + this.setRendererOptions(properties.getProperty("renderer_options")); + this.setDpi(Integer.parseInt(properties.getProperty("dpi"))); + } + + /** + * Getter for an attribute rendererName. + * + * @return the rendererName + */ + public String getRendererName() + { + return this.rendererName; + } + + /** + * Setter for an attribute rendererName. + * + * @param rendererName the rendererName to set + */ + public void setRendererName(String rendererName) + { + this.rendererName = rendererName; + } + + /** + * Getter for an attribute rendererOptions. + * + * @return the rendererOptions + */ + public String getRendererOptions() + { + return this.rendererOptions; + } + + /** + * Setter for an attribute rendererOptions. + * + * @param rendererOptions the rendererOptions to set + */ + public void setRendererOptions(String rendererOptions) + { + this.rendererOptions = rendererOptions; + } + + /** + * Getter for an attribute dpi. + * + * @return the dpi + */ + public int getDpi() + { + return this.dpi; + } + + /** + * Setter for an attribute dpi. + * + * @param dpi the dpi to set + */ + public void setDpi(int dpi) + { + this.dpi = dpi; + } +} diff -r 1e9fa50239df -r e1207eaf717b src/org/gfxtest/framework/PostScriptToPngConverter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/PostScriptToPngConverter.java Fri May 04 14:40:21 2012 +0200 @@ -0,0 +1,118 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework; + +import java.io.File; +import java.io.IOException; + + + +import org.gfxtest.common.PostScriptRendererConfiguration; + + + +/** + * This class performs conversion from a PostScript file to a PNG file. + * + * @author Pavel Tisnovsky + */ +public class PostScriptToPngConverter +{ + /** + * Configuration of a PostScript software RIP + */ + static PostScriptRendererConfiguration configuration = null; + + /** + * Do the conversion from PostScript file to a PNG image. + * + * @param printOutputFile + * @param pngOutputFile + */ + public static void convert(File printOutputFile, File pngOutputFile) + { + // load configuration and put it to a "cache" + if (configuration == null) + { + configuration = new PostScriptRendererConfiguration(); + } + + // prepare command for PostScript RIP + String command = prepareCommand(printOutputFile, pngOutputFile); + Runtime rt = Runtime.getRuntime(); + try + { + // run PostScript RIP and wait for its finish + Process proc =rt.exec(command); + proc.waitFor(); + } + catch (IOException e) + { + e.printStackTrace(); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } + } + + /** + * Construct a command for a PostScript software RIP + * + * @param printOutputFile + * @param pngOutputFile + * @return command to be called via @see Runtime#exec + */ + private static String prepareCommand(File printOutputFile, File pngOutputFile) + { + // renderer name and its basic parameters + String cmd = configuration.getRendererName() + " " + configuration.getRendererOptions() + " "; + // DPI specifier + String res = "-r" + configuration.getDpi() + " "; + // output file name + String output = "-o " + pngOutputFile.getPath() + " "; + // input file name + String input = " " + printOutputFile.getPath(); + // put it all together + return cmd + res + output + input + " >> out 2>> err"; + } + +} diff -r 1e9fa50239df -r e1207eaf717b src/org/gfxtest/framework/PrintingTest.java --- a/src/org/gfxtest/framework/PrintingTest.java Thu May 03 14:34:35 2012 +0200 +++ b/src/org/gfxtest/framework/PrintingTest.java Fri May 04 14:40:21 2012 +0200 @@ -154,8 +154,10 @@ @Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { + this.gfxTest.log.log(this.getClass().getName(), "printBegin " + pageIndex); /* we have only one page, and 'page' is zero-based */ if (pageIndex > 0) { + this.gfxTest.log.log(this.getClass().getName(), "printEnd no such page " + pageIndex); return NO_SUCH_PAGE; } @@ -184,6 +186,8 @@ e.printStackTrace(); setResult(TestResult.ERROR); } + graphics.dispose(); + this.gfxTest.log.log(this.getClass().getName(), "printEnd"); /* tell the caller that this page is part of the printed document */ return PAGE_EXISTS; From aph at redhat.com Fri May 4 06:13:16 2012 From: aph at redhat.com (Andrew Haley) Date: Fri, 04 May 2012 14:13:16 +0100 Subject: Patch for IcedTea7-2.1 on ARM 32bit (mixed mode) TCK method handle invoke failures In-Reply-To: <4FA3AB24.2020007@redhat.com> References: <4FA2B415.9050409@redhat.com> <4FA3A815.5050809@redhat.com> <4FA3AB24.2020007@redhat.com> Message-ID: <4FA3D5EC.7030800@redhat.com> On 05/04/2012 11:10 AM, Andrew Dinn wrote: > Ok, so with an ok from you and Chris I assume I can check this into the > icedtea7-2.1 tree? Yes, but please have a look upstream. Chris, does any of this code still exist? Andrew. From adinn at icedtea.classpath.org Fri May 4 07:47:56 2012 From: adinn at icedtea.classpath.org (adinn at icedtea.classpath.org) Date: Fri, 04 May 2012 14:47:56 +0000 Subject: /hg/release/icedtea7-forest-2.1/hotspot: patched method handle a... Message-ID: changeset 6576fc644297 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=6576fc644297 author: "Andrew Dinn " date: Fri May 04 15:46:04 2012 +0100 patched method handle adapter code to deal with failures in TCK diffstat: src/cpu/zero/vm/cppInterpreter_zero.cpp | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diffs (36 lines): diff -r 5582e72f1897 -r 6576fc644297 src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue May 01 16:13:47 2012 +0100 +++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp Fri May 04 15:46:04 2012 +0100 @@ -1026,6 +1026,16 @@ java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); oop arg = VMSLOTS_OBJECT(arg_slot); jvalue arg_value; + if (arg == NULL) { + // queue a nullpointer exception for the caller + stack->set_sp(calculate_unwind_sp(stack, method_handle)); + CALL_VM_NOCHECK_NOFIX( + throw_exception( + thread, vmSymbols::java_lang_NullPointerException())); + // NB all oops trashed! + assert(HAS_PENDING_EXCEPTION, "should do"); + return; + } BasicType arg_type = java_lang_boxing_object::get_value(arg, &arg_value); if (arg_type == T_LONG || arg_type == T_DOUBLE) { intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); @@ -1112,6 +1122,15 @@ case T_SHORT: return; } + // INT results sometimes need narrowing + case T_BOOLEAN: + case T_CHAR: + case T_BYTE: + case T_SHORT: + switch (src_rtype) { + case T_INT: + return; + } } tty->print_cr("unhandled conversion:"); From ChPhilli at redhat.com Fri May 4 08:08:53 2012 From: ChPhilli at redhat.com (Chris Phillips) Date: Fri, 04 May 2012 11:08:53 -0400 Subject: Patch for IcedTea7-2.1 on ARM 32bit (mixed mode) TCK method handle invoke failures In-Reply-To: <4FA3D5EC.7030800@redhat.com> References: <4FA2B415.9050409@redhat.com> <4FA3A815.5050809@redhat.com> <4FA3AB24.2020007@redhat.com> <4FA3D5EC.7030800@redhat.com> Message-ID: <4FA3F105.1080505@redhat.com> On 04/05/12 09:13 AM, Andrew Haley wrote: > On 05/04/2012 11:10 AM, Andrew Dinn wrote: >> Ok, so with an ok from you and Chris I assume I can check this into the >> icedtea7-2.1 tree? > Yes, but please have a look upstream. Chris, does any of this code > still exist? > > Andrew. Oops, missed this yes we should putback to the main hotspot gate (it s a little tricky as to what the criteria are but as long as we don't break other builds this should be ok) Chris -- -- -- Woda: "Java: write once, debug anywhere" Hong Zhang http://thehenrys.ca | Chris Phillips @ T.O. Red Hat OpenJDK JVM Engineer, | | mailto:ChrisPhi at RedHat.Com (416)483-3768 | | 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 bugzilla-daemon at icedtea.classpath.org Fri May 4 09:40:15 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 16:40:15 +0000 Subject: [Bug 659] IcedTea6 rejects partially-signed jar files In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=659 Thor Lancelot Simon changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tls at panix.com --- Comment #5 from Thor Lancelot Simon --- This really does impact a large number of users, because one example of such a JNLP-launched Java program, including jar files which are only partially signed, is the IBM/Avocent remote console utility, used with every system IBM ships with onboard lights-out management. Presumably Avocent has licensed this code to other system builders as well... -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/1febcac9/attachment.html From andrew at icedtea.classpath.org Fri May 4 09:42:40 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 04 May 2012 16:42:40 +0000 Subject: /hg/icedtea6: Backport cryptography tests from OpenJDK7. Message-ID: changeset 2e70726c57bb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2e70726c57bb author: Andrew John Hughes date: Fri May 04 17:42:29 2012 +0100 Backport cryptography tests from OpenJDK7. 2012-05-04 Andrew John Hughes Backport cryptography tests from 7. * Makefile.am: Add new patches. * patches/generalise_crypto_tests.patch: IcedTea7 patch to generalise crypto tests. * patches/openjdk/7088989-ucrypto_tests.patch: Backport of 7088989. * patches/remove-gcm-test.patch: Remove GCM testing as not part of 6. * patches/skip_wrap_mode.patch: IcedTea7 patch to skip wrap mode tests when mode is not available. diffstat: ChangeLog | 14 + Makefile.am | 6 +- patches/generalise_crypto_tests.patch | 847 ++++++++++++++++++++++ patches/openjdk/7088989-ucrypto_tests.patch | 1022 +++++++++++++++++++++++++++ patches/remove-gcm-test.patch | 77 ++ patches/skip_wrap_mode.patch | 24 + 6 files changed, 1989 insertions(+), 1 deletions(-) diffs (truncated from 2023 to 500 lines): diff -r e611555d93cb -r 2e70726c57bb ChangeLog --- a/ChangeLog Fri Apr 20 17:30:17 2012 +0200 +++ b/ChangeLog Fri May 04 17:42:29 2012 +0100 @@ -1,3 +1,17 @@ +2012-05-04 Andrew John Hughes + + Backport cryptography tests from 7. + * Makefile.am: Add new patches. + * patches/generalise_crypto_tests.patch: + IcedTea7 patch to generalise crypto tests. + * patches/openjdk/7088989-ucrypto_tests.patch: + Backport of 7088989. + * patches/remove-gcm-test.patch: + Remove GCM testing as not part of 6. + * patches/skip_wrap_mode.patch: + IcedTea7 patch to skip wrap mode tests when mode + is not available. + 2012-04-20 Pavel Tisnovsky * NEWS: Mention bugfix PR797 (the same as bugfig RH789154). diff -r e611555d93cb -r 2e70726c57bb Makefile.am --- a/Makefile.am Fri Apr 20 17:30:17 2012 +0200 +++ b/Makefile.am Fri May 04 17:42:29 2012 +0100 @@ -424,7 +424,11 @@ patches/openjdk/4465490-Suspicious_double-check_locking_idiom.patch \ patches/idresolver_fix.patch \ patches/apache-xml-internal-fix-bug-38655.patch \ - patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch + patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch \ + patches/openjdk/7088989-ucrypto_tests.patch \ + patches/generalise_crypto_tests.patch \ + patches/remove-gcm-test.patch \ + patches/skip_wrap_mode.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r e611555d93cb -r 2e70726c57bb patches/generalise_crypto_tests.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/generalise_crypto_tests.patch Fri May 04 17:42:29 2012 +0100 @@ -0,0 +1,847 @@ +# HG changeset patch +# User andrew +# Date 1333630656 -3600 +# Node ID a1fe26be9fab64d58f7b1b09a1a4cde30d376383 +# Parent 3377516da58310f3d151dba6c5ee599932aa1ff4 +Generalise ucrypto cryptography tests. + +diff --git a/test/com/oracle/security/ucrypto/TestAES.java b/test/com/oracle/security/ucrypto/TestAES.java +--- openjdk/jdk/test/com/oracle/security/ucrypto/TestAES.java ++++ openjdk/jdk/test/com/oracle/security/ucrypto/TestAES.java +@@ -55,21 +55,24 @@ + main(new TestAES(), null); + } + +- public void doTest(Provider prov) throws Exception { ++ public boolean doTest(Provider prov) ++ throws NoSuchAlgorithmException { + // Provider for testing Interoperability + Provider sunJCEProv = Security.getProvider("SunJCE"); + +- testCipherInterop(CIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); +- testCipherInterop(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); ++ boolean result1 = testCipherInterop(CIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); ++ boolean result2 = testCipherInterop(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); + +- testCipherOffset(CIPHER_ALGOS, CIPHER_KEY, prov); +- testCipherOffset(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov); ++ boolean result3 = testCipherOffset(CIPHER_ALGOS, CIPHER_KEY, prov); ++ boolean result4 = testCipherOffset(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov); + +- testCipherKeyWrapping(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); +- testCipherGCM(CIPHER_KEY, prov); ++ boolean result5 = testCipherKeyWrapping(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); ++ boolean result6 = testCipherGCM(CIPHER_KEY, prov); ++ ++ return result1 && result2 && result3 && result4 && result5 && result6; + } + +- private static void testCipherInterop(String[] algos, SecretKey key, ++ private static boolean testCipherInterop(String[] algos, SecretKey key, + Provider p, + Provider interopP) { + boolean testPassed = true; +@@ -83,7 +86,7 @@ + try { + c = Cipher.getInstance(algo, p); + } catch (NoSuchAlgorithmException nsae) { +- System.out.println("Skipping Unsupported CIP algo: " + algo); ++ System.err.println("Skipping Unsupported CIP algo: " + algo); + continue; + } + c.init(Cipher.ENCRYPT_MODE, key, (AlgorithmParameters)null, null); +@@ -95,10 +98,10 @@ + byte[] eout2 = c2.doFinal(in, 0, in.length); + + if (!Arrays.equals(eout, eout2)) { +- System.out.println(algo + ": DIFF FAILED"); ++ System.err.println(algo + ": DIFF FAILED"); + testPassed = false; + } else { +- System.out.println(algo + ": ENC Passed"); ++ System.err.println(algo + ": ENC Passed"); + } + + // check DEC +@@ -108,34 +111,36 @@ + byte[] dout2 = c2.doFinal(eout2); + + if (!Arrays.equals(dout, dout2)) { +- System.out.println(algo + ": DIFF FAILED"); ++ System.err.println(algo + ": DIFF FAILED"); + testPassed = false; + } else { +- System.out.println(algo + ": DEC Passed"); ++ System.err.println(algo + ": DEC Passed"); + } + } catch(Exception ex) { +- System.out.println("Unexpected Exception: " + algo); ++ System.err.println("Unexpected Exception: " + algo); + ex.printStackTrace(); + testPassed = false; + } + } + +- if (!testPassed) { +- throw new RuntimeException("One or more CIPHER test failed!"); ++ if (testPassed) { ++ System.err.println("CIPHER Interop Tests Passed"); + } else { +- System.out.println("CIPHER Interop Tests Passed"); ++ System.err.println("One or more CIPHER Interop tests failed!"); + } ++ ++ return testPassed; + } + +- private static void testCipherOffset(String[] algos, SecretKey key, +- Provider p) { ++ private static boolean testCipherOffset(String[] algos, SecretKey key, ++ Provider p) { + boolean testPassed = true; + byte[] in = new byte[16]; + (new SecureRandom()).nextBytes(in); + int blockSize = 16; + + for (int j = 1; j < (in.length - 1); j++) { +- System.out.println("Input offset size: " + j); ++ System.err.println("Input offset size: " + j); + for (int i = 0; i < algos.length; i++) { + try { + // check ENC +@@ -143,13 +148,13 @@ + try { + c = Cipher.getInstance(algos[i], p); + } catch (NoSuchAlgorithmException nsae) { +- System.out.println("Skip Unsupported CIP algo: " + algos[i]); ++ System.err.println("Skip Unsupported CIP algo: " + algos[i]); + continue; + } + c.init(Cipher.ENCRYPT_MODE, key, (AlgorithmParameters)null, null); + byte[] eout = new byte[c.getOutputSize(in.length)]; + int firstPartLen = in.length - j - 1; +- //System.out.print("1st UPDATE: " + firstPartLen); ++ //System.err.print("1st UPDATE: " + firstPartLen); + int k = c.update(in, 0, firstPartLen, eout, 0); + k += c.update(in, firstPartLen, 1, eout, k); + k += c.doFinal(in, firstPartLen+1, j, eout, k); +@@ -173,21 +178,23 @@ + k += c.doFinal(eout, firstPartLen+1, eout.length - firstPartLen - 1, dout, k); + if (!checkArrays(in, in.length, dout, k)) testPassed = false; + } catch(Exception ex) { +- System.out.println("Unexpected Exception: " + algos[i]); ++ System.err.println("Unexpected Exception: " + algos[i]); + ex.printStackTrace(); + testPassed = false; + } + } + } +- if (!testPassed) { +- throw new RuntimeException("One or more CIPHER test failed!"); ++ if (testPassed) { ++ System.err.println("CIPHER Offset Tests Passed"); + } else { +- System.out.println("CIPHER Offset Tests Passed"); ++ System.err.println("One or more CIPHER offset tests failed!"); + } ++ ++ return testPassed; + } + +- private static void testCipherKeyWrapping(String[] algos, SecretKey key, +- Provider p, Provider interopP) ++ private static boolean testCipherKeyWrapping(String[] algos, SecretKey key, ++ Provider p, Provider interopP) + throws NoSuchAlgorithmException { + boolean testPassed = true; + +@@ -203,13 +210,13 @@ + + for (int i = 0; i < algos.length; i++) { + try { +- System.out.println(algos[i] + " - Native WRAP/Java UNWRAP"); ++ System.err.println(algos[i] + " - Native WRAP/Java UNWRAP"); + + Cipher c1; + try { + c1 = Cipher.getInstance(algos[i], p); + } catch (NoSuchAlgorithmException nsae) { +- System.out.println("Skipping Unsupported CIP algo: " + algos[i]); ++ System.err.println("Skipping Unsupported CIP algo: " + algos[i]); + continue; + } + c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); +@@ -224,7 +231,7 @@ + if (!checkKeys(tbwKeys[j], recovered)) testPassed = false; + } + +- System.out.println(algos[i] + " - Java WRAP/Native UNWRAP"); ++ System.err.println(algos[i] + " - Java WRAP/Native UNWRAP"); + c1 = Cipher.getInstance(algos[i], interopP); + c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); + params = c1.getParameters(); +@@ -239,21 +246,23 @@ + } + + } catch(Exception ex) { +- System.out.println("Unexpected Exception: " + algos[i]); ++ System.err.println("Unexpected Exception: " + algos[i]); + ex.printStackTrace(); + testPassed = false; + } + } +- if (!testPassed) { +- throw new RuntimeException("One or more CIPHER test failed!"); ++ if (testPassed) { ++ System.err.println("CIPHER KeyWrapping Tests Passed"); + } else { +- System.out.println("CIPHER KeyWrapping Tests Passed"); ++ System.err.println("One or more CIPHER keywrapping tests failed!"); + } ++ ++ return testPassed; + } + + +- private static void testCipherGCM(SecretKey key, +- Provider p) { ++ private static boolean testCipherGCM(SecretKey key, ++ Provider p) { + boolean testPassed = true; + byte[] in = new byte[16]; + (new SecureRandom()).nextBytes(in); +@@ -270,8 +279,8 @@ + try { + c = Cipher.getInstance(algo, p); + } catch (NoSuchAlgorithmException nsae) { +- System.out.println("Skipping Unsupported CIP algo: " + algo); +- return; ++ System.err.println("Skipping Unsupported CIP algo: " + algo); ++ return true; + } + for (int i = 0; i < tagLen.length; i++) { + AlgorithmParameterSpec paramSpec = new GCMParameterSpec(tagLen[i], iv); +@@ -287,33 +296,35 @@ + byte[] dout = c.doFinal(eout, 0, eout.length); + + if (!Arrays.equals(dout, in)) { +- System.out.println(algo + ": PT and RT DIFF FAILED"); ++ System.err.println(algo + ": PT and RT DIFF FAILED"); + testPassed = false; + } else { +- System.out.println(algo + ": tagLen " + tagLen[i] + " done"); ++ System.err.println(algo + ": tagLen " + tagLen[i] + " done"); + } + } + } catch(Exception ex) { +- System.out.println("Unexpected Exception: " + algo); ++ System.err.println("Unexpected Exception: " + algo); + ex.printStackTrace(); + testPassed = false; + } +- if (!testPassed) { +- throw new RuntimeException("One or more CIPHER test failed!"); ++ if (testPassed) { ++ System.err.println("CIPHER GCM Tests Passed"); + } else { +- System.out.println("CIPHER GCM Tests Passed"); ++ System.err.println("One or more CIPHER GCM tests failed!"); + } ++ ++ return testPassed; + } + + private static boolean checkArrays(byte[] a1, int a1Len, byte[] a2, int a2Len) { + boolean equal = true; + if (a1Len != a2Len) { +- System.out.println("DIFFERENT OUT LENGTH"); ++ System.err.println("DIFFERENT OUT LENGTH"); + equal = false; + } else { + for (int p = 0; p < a1Len; p++) { + if (a1[p] != a2[p]) { +- System.out.println("DIFF FAILED"); ++ System.err.println("DIFF FAILED"); + equal = false; + break; + } +@@ -325,13 +336,13 @@ + private static boolean checkKeys(Key k1, Key k2) { + boolean equal = true; + if (!k1.getAlgorithm().equalsIgnoreCase(k2.getAlgorithm())) { +- System.out.println("DIFFERENT Key Algorithm"); ++ System.err.println("DIFFERENT Key Algorithm"); + equal = false; + } else if (!k1.getFormat().equalsIgnoreCase(k2.getFormat())) { +- System.out.println("DIFFERENT Key Format"); ++ System.err.println("DIFFERENT Key Format"); + equal = false; + } else if (!Arrays.equals(k1.getEncoded(), k2.getEncoded())) { +- System.out.println("DIFFERENT Key Encoding"); ++ System.err.println("DIFFERENT Key Encoding"); + equal = false; + } + return equal; +diff --git a/test/com/oracle/security/ucrypto/TestDigest.java b/test/com/oracle/security/ucrypto/TestDigest.java +--- openjdk/jdk/test/com/oracle/security/ucrypto/TestDigest.java ++++ openjdk/jdk/test/com/oracle/security/ucrypto/TestDigest.java +@@ -47,7 +47,7 @@ + main(new TestDigest(), null); + } + +- public void doTest(Provider p) { ++ public boolean doTest(Provider p) { + boolean testPassed = true; + byte[] msg = new byte[200]; + (new SecureRandom()).nextBytes(msg); +@@ -59,7 +59,7 @@ + try { + md = MessageDigest.getInstance(a, p); + } catch (NoSuchAlgorithmException nsae) { +- System.out.println("Skipping Unsupported MD algo: " + a); ++ System.err.println("Skipping Unsupported MD algo: " + a); + continue; + } + md2 = MessageDigest.getInstance(a, interopProvName); +@@ -70,7 +70,7 @@ + md2.update(msg); + byte[] digest2 = md2.digest(); + if (!Arrays.equals(digest, digest2)) { +- System.out.println("DIFF1 FAILED for: " + a + " at iter " + i); ++ System.err.println("DIFF1 FAILED for: " + a + " at iter " + i); + testPassed = false; + } + } +@@ -83,7 +83,7 @@ + byte[] digest = md.digest(); + byte[] digest2 = md2.digest(); + if (!Arrays.equals(digest, digest2)) { +- System.out.println("DIFF2 FAILED for: " + a + " at iter " + i); ++ System.err.println("DIFF2 FAILED for: " + a + " at iter " + i); + testPassed = false; + } + } +@@ -94,7 +94,7 @@ + byte[] digest = md.digest(); + byte[] digest2 = md2.digest(); + if (!Arrays.equals(digest, digest2)) { +- System.out.println("DIFF-3.1 FAILED for: " + a); ++ System.err.println("DIFF-3.1 FAILED for: " + a); + testPassed = false; + } + md.update(msg); +@@ -102,26 +102,28 @@ + digest = md.digest(); + digest2 = md2.digest(); + if (!Arrays.equals(digest, digest2)) { +- System.out.println("DIFF-3.2 FAILED for: " + a); ++ System.err.println("DIFF-3.2 FAILED for: " + a); + testPassed = false; + } + md2 = (MessageDigest) md.clone(); // clone after digest + digest = md.digest(); + digest2 = md2.digest(); + if (!Arrays.equals(digest, digest2)) { +- System.out.println("DIFF-3.3 FAILED for: " + a); ++ System.err.println("DIFF-3.3 FAILED for: " + a); + testPassed = false; + } + } catch(Exception ex) { +- System.out.println("Unexpected Exception: " + a); ++ System.err.println("Unexpected Exception: " + a); + ex.printStackTrace(); + testPassed = false; + } + } +- if (!testPassed) { +- throw new RuntimeException("One or more MD test failed!"); ++ if (testPassed) { ++ System.err.println("MD Tests Passed"); + } else { +- System.out.println("MD Tests Passed"); ++ System.err.println("One or more MD test failed!"); + } ++ ++ return testPassed; + } + } +diff --git a/test/com/oracle/security/ucrypto/TestRSA.java b/test/com/oracle/security/ucrypto/TestRSA.java +--- openjdk/jdk/test/com/oracle/security/ucrypto/TestRSA.java ++++ openjdk/jdk/test/com/oracle/security/ucrypto/TestRSA.java +@@ -164,25 +164,35 @@ + (byte)0x04, (byte)0x85, (byte)0x73, (byte)0xd1 + }; + +- private static KeyPair genRSAKey(int keyLength) throws Exception { +- KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); +- kpg.initialize(keyLength); +- return kpg.generateKeyPair(); ++ private static KeyPair genRSAKey(int keyLength) { ++ try { ++ KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); ++ kpg.initialize(keyLength); ++ return kpg.generateKeyPair(); ++ } catch (NoSuchAlgorithmException e) { ++ System.err.println("Couldn't generate key: " + e); ++ return null; ++ } + } + +- private static KeyPair genPredefinedRSAKeyPair() throws Exception { +- KeyFactory kf = KeyFactory.getInstance("RSA"); +- BigInteger mod = new BigInteger(MOD); +- BigInteger pub = new BigInteger(PUB_EXP); +- +- PrivateKey privKey = kf.generatePrivate +- (new RSAPrivateCrtKeySpec +- (mod, pub, new BigInteger(PRIV_EXP), +- new BigInteger(PRIME_P), new BigInteger(PRIME_Q), +- new BigInteger(EXP_P), new BigInteger(EXP_Q), +- new BigInteger(CRT_COEFF))); +- PublicKey pubKey = kf.generatePublic(new RSAPublicKeySpec(mod, pub)); +- return new KeyPair(pubKey, privKey); ++ private static KeyPair genPredefinedRSAKeyPair() { ++ try { ++ KeyFactory kf = KeyFactory.getInstance("RSA"); ++ BigInteger mod = new BigInteger(MOD); ++ BigInteger pub = new BigInteger(PUB_EXP); ++ ++ PrivateKey privKey = kf.generatePrivate ++ (new RSAPrivateCrtKeySpec ++ (mod, pub, new BigInteger(PRIV_EXP), ++ new BigInteger(PRIME_P), new BigInteger(PRIME_Q), ++ new BigInteger(EXP_P), new BigInteger(EXP_Q), ++ new BigInteger(CRT_COEFF))); ++ PublicKey pubKey = kf.generatePublic(new RSAPublicKeySpec(mod, pub)); ++ return new KeyPair(pubKey, privKey); ++ } catch (NoSuchAlgorithmException|InvalidKeySpecException ex) { ++ System.err.println("Couldn't generate predefined key pair: " + ex); ++ return null; ++ } + } + + private static final String CIP_ALGOS[] = { +@@ -207,106 +217,152 @@ + main(new TestRSA(), null); + } + +- public void doTest(Provider prov) throws Exception { ++ public boolean doTest(Provider prov) { + // first test w/ predefine KeyPair + KeyPair pkp = genPredefinedRSAKeyPair(); +- System.out.println("Test against Predefined RSA Key Pair"); +- testCipher(pkp, 128, true, prov); +- testSignature(pkp, true, prov); ++ if (pkp == null) ++ return true; ++ System.err.println("Test against Predefined RSA Key Pair"); ++ boolean result1 = testCipher(pkp, 128, true, prov); ++ boolean result2 = testSignature(pkp, true, prov); + ++ boolean[] cResults = new boolean[10]; ++ boolean[] sResults = new boolean[10]; + for (int i = 0; i < 10; i++) { + // then test w/ various key lengths + int keyLens[] = { 1024, 2048 }; + kp = new KeyPair[keyLens.length]; + +- testCipher(keyLens, false, prov); +- testSignature(keyLens, false, prov); ++ cResults[i] = testCipher(keyLens, false, prov); ++ sResults[i] = testSignature(keyLens, false, prov); + } ++ boolean result3 = true; ++ boolean result4 = true; ++ for (int i = 0; i < 10; i++) { ++ if (!cResults[i]) ++ result3 = false; ++ if (!sResults[i]) ++ result4 = false; From bugzilla-daemon at icedtea.classpath.org Fri May 4 10:26:36 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 17:26:36 +0000 Subject: [Bug 977] New: SIGSEGV at [libjvm.so+0x4bbb19] AsyncGetCallTrace+0xacf29 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=977 Priority: P3 Bug ID: 977 Assignee: unassigned at icedtea.classpath.org Summary: SIGSEGV at [libjvm.so+0x4bbb19] AsyncGetCallTrace+0xacf29 Severity: normal Classification: Unclassified OS: Linux Reporter: kenny at the-b.org Hardware: x86_64 Status: NEW Version: 6-1.11.1 Component: IcedTea Product: IcedTea Created attachment 685 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=685&action=edit first crash While trying to enroll an Android device using the user web interface of the Dogtag PKI, the server segmentation faults reliably during the client certificate generation. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/465792b8/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri May 4 10:27:04 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 17:27:04 +0000 Subject: [Bug 977] SIGSEGV at [libjvm.so+0x4bbb19] AsyncGetCallTrace+0xacf29 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=977 --- Comment #1 from kenny at the-b.org --- Created attachment 686 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=686&action=edit second crash -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/5a1968dc/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri May 4 10:27:37 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 17:27:37 +0000 Subject: [Bug 659] IcedTea6 rejects partially-signed jar files In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=659 --- Comment #6 from snabb at epipe.com --- It is the same with every Supermicro IPMI remote managemnt. We have to install Oracle Java only because it allows bypassing the signature check. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/c3f5afd3/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri May 4 10:32:17 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 17:32:17 +0000 Subject: [Bug 659] IcedTea6 rejects partially-signed jar files In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=659 --- Comment #7 from Thor Lancelot Simon --- Well, the SuperMicro (actually ATEN) remote console stuff requires native methods. At that point you might as well just run their standalone utility ("IPMIview" or some such) which launches the same java classes without JNLP. But I can't really get behind the idea of a JNLP launcher allowing unsigned native methods to run, at least without a very, very dire warning. What is frustrating about the IBM/Avocent stuff, at least the version I picked apart a few weeks ago, is that it is pure Java -- no native methods -- and only metadata is unsigned; all the code is actually signed properly. Not being able to run this with IcedTea-Web -- even if I had to click through some warnings as with the Oracle launcher -- seems wrong. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/c6a12415/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri May 4 11:01:28 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 18:01:28 +0000 Subject: [Bug 659] IcedTea6 rejects partially-signed jar files In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=659 --- Comment #8 from Ray Kohler --- I also am concerned with this bug solely because of Avocent's console viewer. Dell uses it in their DRAC (lights-out management) cards. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/d569bb41/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri May 4 15:31:58 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 04 May 2012 22:31:58 +0000 Subject: [Bug 977] SIGSEGV at [libjvm.so+0x4bbb19] AsyncGetCallTrace+0xacf29 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=977 kenny at the-b.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #2 from kenny at the-b.org --- Sorry, just noticed the call frame before libjvm is a JNI library. That's probably where the problem is. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120504/b137c53f/attachment.html From thomas at m3y3r.de Sat May 5 01:12:12 2012 From: thomas at m3y3r.de (Thomas Meyer) Date: Sat, 05 May 2012 10:12:12 +0200 Subject: NIO2: WatchService - Bug of feature? Message-ID: <1336205532.1363.45.camel@localhost.localdomain> Hi, sorry but this is a bit of topic, but as on this list a really many java experts, I hope to get your opinion here: I'm using a Path class to register a WatchService. The directory to watch is: "/home/thomas/smServer/". The program itself is running with working directory "/home/thomas/source/smServer". When an WatchKey happens I get all WatchEvents and from the WatchEvents the context(), i.e. a Path object again. When doing a Path.toFile() on the context() of the WatchEvent it will be "/home/thomas/source/smServer/file1" and not "/home/thomas/smServer/file1" as I would expect because my watch directory is "/home/thomas/smServer/"! The Path returned by the watch event is relative, but the working directory is used to construct the absolute path and not the path of the directory that was registered to watch. The javadoc isn't clear here on the new API in 1.7. So what do you think: bug of feature? with kind regards thomas From jerry2can at mailcan.com Sat May 5 13:11:54 2012 From: jerry2can at mailcan.com (jerry2can at mailcan.com) Date: Sat, 05 May 2012 13:11:54 -0700 Subject: icedtea-web v1.2 plugin + openjdk7 builds on linux/64, but quietly fails to load in Firefox12 Message-ID: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> i'm trying to get icedtea v1.2 plugin built for openjdk7 and working in Firefox 12 on linux/64. on uname -a Linux ldev 3.1.10-1.9-desktop #1 SMP PREEMPT Thu Apr 5 18:48:38 UTC 2012 (4a97ec8) x86_64 x86_64 x86_64 GNU/Linux with gcc -v ... gcc version 4.7.0 20120413 [gcc-4_7-branch revision 186417] (SUSE Linux) and javac -version Picked up _JAVA_OPTIONS: -Dswing.aatext=true -Dawt.useSystemAAFontSettings=on -Xmx512M javac 1.7.0_147 reading at, http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.2 "OpenJDK7 support Deepak Bhole Done" dl'ing wget -c http://icedtea.classpath.org/download/source/icedtea-web-1.2.tar.gz tar zxvf icedtea-web-1.2.tar.gz cd icedtea-web-1.2/ building, export MOZILLA_CFLAGS="-I/usr/local/xulrunner-sdk/include" export MOZILLA_LIBS="-L/usr/local/xulrunner-sdk/lib" ./configure \ --prefix=/usr/local/icedtea-web \ --with-jdk-home=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0 \ --enable-plugin ... checking for MOZILLA... yes checking for xulrunner version... 20000000 checking for xulrunner version... (cached) 20000000 ... checking for a JRE home directory... /usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/jre checking for a Java virtual machine... /usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/jre/bin/java ... make make install strip --strip-unneeded /usr/local/icedtea-web/lib64/IcedTeaPlugin.so file /usr/local/icedtea-web/lib64/IcedTeaPlugin.so /usr/local/icedtea-web/lib64/IcedTeaPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xd787630f047c7058b629fa9a6a0b4ca3495d348b, stripped ln -sf /usr/local/icedtea-web/lib64/IcedTeaPlugin.so \ /usr/lib64/mozilla/plugins/ @ firefox launch, check @ about:plugins, there's no trace of the Java plugin. checking, with strace firefox ... lstat("/usr/lib64/mozilla/plugins/IcedTeaPlugin.so", {st_mode=S_IFLNK|0777, st_size=45, ...}) = 0 readlink("/usr/lib64/mozilla/plugins/IcedTeaPlugin.so", "/usr/local/icedtea-web/lib64/IcedTeaPlugin.so", 4095) = 45 lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat("/usr/local", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 lstat("/usr/local/icedtea-web", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat("/usr/local/icedtea-web/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat("/usr/local/icedtea-web/lib64/IcedTeaPlugin.so", {st_mode=S_IFREG|0755, st_size=209296, ...}) = 0 ... stat("/usr/lib64/mozilla/plugins/gecko-mediaplayer.so", {st_mode=S_IFREG|0755, st_size=342986, ...}) = 0 stat("/usr/local/icedtea-web/lib64/IcedTeaPlugin.so", {st_mode=S_IFREG|0755, st_size=209296, ...}) = 0 stat("/usr/lib64/mozilla/plugins/gecko-mediaplayer-rm.so", {st_mode=S_IFREG|0755, st_size=342921, ...}) = 0 ... there's no immediately obvious problem ... as a first step tp deteriming if the problem is Firefox or the plugin build, i'd like to get anything to 'squawk' verbosely enough to give me a hint. Is there some more verbose, telling test I can run @Firefox, or in the plugin itself? From ptisnovs at icedtea.classpath.org Mon May 7 05:50:21 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 07 May 2012 12:50:21 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/framework/GfxTest.java: Message-ID: changeset cc3e62406976 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=cc3e62406976 author: Pavel Tisnovsky date: Mon May 07 14:53:02 2012 +0200 * src/org/gfxtest/framework/GfxTest.java: Rasterization phase is started when each print job finishes - it allows us to simply compare raster images as a product of print tests. * src/org/gfxtest/framework/PrintJobWatcher.java: Class which checks when print job finishes. * Makefile: Updated diffstat: ChangeLog | 10 + Makefile | 2 +- src/org/gfxtest/framework/GfxTest.java | 75 ++++++++++- src/org/gfxtest/framework/PrintJobWatcher.java | 148 +++++++++++++++++++++++++ 4 files changed, 223 insertions(+), 12 deletions(-) diffs (303 lines): diff -r e1207eaf717b -r cc3e62406976 ChangeLog --- a/ChangeLog Fri May 04 14:40:21 2012 +0200 +++ b/ChangeLog Mon May 07 14:53:02 2012 +0200 @@ -1,3 +1,13 @@ +2012-05-07 Pavel Tisnovsky + + * src/org/gfxtest/framework/GfxTest.java: + Rasterization phase is started when each print job finishes + - it allows us to simply compare raster images as a product + of print tests. + * src/org/gfxtest/framework/PrintJobWatcher.java: + Class which checks when print job finishes. + * Makefile: Updated + 2012-05-04 Pavel Tisnovsky * postscript_renderer.properties: diff -r e1207eaf717b -r cc3e62406976 Makefile --- a/Makefile Fri May 04 14:40:21 2012 +0200 +++ b/Makefile Mon May 07 14:53:02 2012 +0200 @@ -94,7 +94,7 @@ $(CLASSES)/$(FRAMEWORK_DIR)/ProceduralTextureFactory.class \ $(CLASSES)/$(FRAMEWORK_DIR)/ImageFactory.class \ $(CLASSES)/$(FRAMEWORK_DIR)/PostScriptToPngConverter.class \ - $(CLASSES)/$(FRAMEWORK_DIR)/PrintingTest.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/PrintJobWatcher.class \ $(CLASSES)/$(IMAGE_DIFFER_DIR)/ComparisonResult.class \ $(CLASSES)/$(IMAGE_DIFFER_DIR)/Configuration.class \ $(CLASSES)/$(IMAGE_DIFFER_DIR)/ImageComparator.class \ diff -r e1207eaf717b -r cc3e62406976 src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Fri May 04 14:40:21 2012 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Mon May 07 14:53:02 2012 +0200 @@ -43,7 +43,6 @@ import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.io.File; import java.io.FileNotFoundException; @@ -54,7 +53,11 @@ +import javax.print.Doc; import javax.print.DocFlavor; +import javax.print.DocPrintJob; +import javax.print.PrintException; +import javax.print.SimpleDoc; import javax.print.StreamPrintService; import javax.print.StreamPrintServiceFactory; import javax.print.attribute.HashPrintRequestAttributeSet; @@ -505,38 +508,88 @@ { String psMimeType = DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType(); // only this works! File printOutputFile; + File pngOutputFile; StreamPrintService streamPrintService; StreamPrintServiceFactory[] factories = PrinterJob.lookupStreamPrintServices(psMimeType); + FileOutputStream fileOutputStream = null; if (factories.length == 0) { System.err.println("No factories found"); } else { - PrinterJob printerJob = PrinterJob.getPrinterJob(); try { - printOutputFile = new File(this.suiteName + "_" + methodName + ".ps"); - streamPrintService = factories[0].getPrintService(new FileOutputStream(printOutputFile)); + // prepare input and output files + printOutputFile = constructOutputFile(methodName, "ps"); + pngOutputFile = constructOutputFile(methodName, "png"); + + fileOutputStream = new FileOutputStream(printOutputFile); + streamPrintService = factories[0].getPrintService(fileOutputStream); // streamPrintService can now be set as the service on a PrinterJob - printerJob.setPrintService(streamPrintService); + + // set up initial print settings PrintRequestAttributeSet printAttributeSet = new HashPrintRequestAttributeSet(); printAttributeSet.add(MediaSizeName.ISO_A4); printAttributeSet.add(new Copies(1)); - printerJob.setPrintable(new PrintingTest(this, method)); - printerJob.print(printAttributeSet); + + Doc doc = new SimpleDoc(new PrintingTest(this, method), DocFlavor.SERVICE_FORMATTED.PRINTABLE, null); + try + { + DocPrintJob docPrintJob = streamPrintService.createPrintJob(); + PrintJobWatcher printJobWatcher = new PrintJobWatcher(docPrintJob); + this.log.logBegin(this.getClass().getName(), "printBegin " + methodName); + docPrintJob.print(doc, printAttributeSet); + // wait until print is done + printJobWatcher.waitForDone(); + this.log.logEnd(this.getClass().getName(), "printDone " + methodName); + } + catch (PrintException e) + { + e.printStackTrace(); + } + finally + { + try + { + // must be sure that output stream is really closed + // because we are going to use output file with + // converter + fileOutputStream.flush(); + fileOutputStream.close(); + } + catch (IOException e) + { + e.printStackTrace(); + } + // convert PostScript file to a PNG using software RIP + PostScriptToPngConverter.convert(printOutputFile, pngOutputFile); + } } catch (FileNotFoundException e) { e.printStackTrace(); } - catch (PrinterException e) - { - e.printStackTrace(); - } } } + /** + * Creates an instance of File object which represents test result file, ie. + * either PostScript file or PNG image. + * + * @param methodName name of test method + * @param suffix suffix, should be either "ps" or "png" + * @return an instance of File object which represents test result file + */ + private File constructOutputFile(String methodName, String suffix) + { + if ("ps".equals(suffix) || "png".equals(suffix)) + { + return new File(this.suiteName + "_" + methodName + "." + suffix); + } + throw new RuntimeException("Bad suffix"); + } + private void writeZoomedImage(GfxTestConfiguration configuration, TestImage sourceImage, String methodName, int zoom) throws IOException { if (zoom == 1) diff -r e1207eaf717b -r cc3e62406976 src/org/gfxtest/framework/PrintJobWatcher.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/PrintJobWatcher.java Mon May 07 14:53:02 2012 +0200 @@ -0,0 +1,148 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework; + + + +import javax.print.DocPrintJob; +import javax.print.event.PrintJobAdapter; +import javax.print.event.PrintJobEvent; + + + +/** + * This class performs a waiting for a printer job. We need to wait for a + * PostScript SW printer to finish printing because the conversion to a PNG + * files should be done when the .ps files are created and closed. + * + * @author Pavel Tisnovsky + */ +public class PrintJobWatcher +{ + /** + * Set to true if it is safe to close the print job's input stream + */ + boolean printJobDone = false; + + /** + * Constructor. + * + * @param job + * print job that can print a specified document with a set of + * job attributes + */ + public PrintJobWatcher(DocPrintJob job) + { + // Add a listener to the print job + job.addPrintJobListener(new PrintJobAdapter() + { + @Override + /** + * @see PrintJobAdapter#printJobCancelled + */ + public void printJobCanceled(PrintJobEvent pje) + { + allDone(); + } + + @Override + /** + * @see PrintJobAdapter#printJobCompleted + */ + public void printJobCompleted(PrintJobEvent pje) + { + allDone(); + } + + @Override + /** + * @see PrintJobAdapter#printJobFailed + */ + public void printJobFailed(PrintJobEvent pje) + { + allDone(); + } + + @Override + /** + * @see PrintJobAdapter#printJobNoMoreEvents + */ + public void printJobNoMoreEvents(PrintJobEvent pje) + { + allDone(); + } + + /** + * Called when printing is canceled or finished. + */ + void allDone() + { + synchronized (PrintJobWatcher.this) + { + // set a flag + PrintJobWatcher.this.printJobDone = true; + // and notify PrintJobWatcher + PrintJobWatcher.this.notify(); + } + } + }); + } + + /** + * Called from the gfx. test framework. + */ + public synchronized void waitForDone() + { + try + { + // thread wait + while (!this.printJobDone) + { + wait(); + } + } + // thread could be interrupted + catch (InterruptedException e) + { + e.printStackTrace(); + } + } +} From bugzilla-daemon at icedtea.classpath.org Mon May 7 07:13:23 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 07 May 2012 14:13:23 +0000 Subject: [Bug 659] IcedTea6 rejects partially-signed jar files In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=659 --- Comment #9 from Omair Majid --- (In reply to comment #7) > What is frustrating about the IBM/Avocent stuff, at least the version I > picked apart a few weeks ago, is that it is pure Java -- no native methods > -- and only metadata is unsigned; all the code is actually signed properly. Do you have more details of this metada (file names or paths)? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120507/13723213/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 7 14:29:03 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 07 May 2012 21:29:03 +0000 Subject: [Bug 955] regression: SweetHome3D fails to run In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=955 --- Comment #2 from Danesh Dadachanji --- Here's another example: http://www.geogebra.org/webstart/geogebra.jnlp (In reply to comment #1) > The specification is not clean whether to reuse default one or to fail. When running proprietary javaws, it uses the default title/vendor so I think doing something similar will be fine. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120507/a1388552/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 8 02:08:05 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 08 May 2012 09:08:05 +0000 Subject: [Bug 708] can't copy or paste text in the text areas In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=708 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #4 from Andrew Haley --- What are those security reasons? It means that useful applets like http://www.falstad.com/circuit/ are unusable because there is no way to export circuits. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120508/0d8f1cdf/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 8 02:08:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 08 May 2012 09:08:30 +0000 Subject: [Bug 708] can't copy or paste text in the text areas In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=708 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID |--- -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120508/b7392585/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 8 08:28:46 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 08 May 2012 15:28:46 +0000 Subject: [Bug 978] New: A fatal error has been detected by the Java Runtime Environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=978 Priority: P3 Bug ID: 978 Assignee: unassigned at icedtea.classpath.org Summary: A fatal error has been detected by the Java Runtime Environment Severity: normal Classification: Unclassified OS: Linux Reporter: abdelghani at ezono.com Hardware: x86 Status: NEW Version: unspecified Component: IcedTea Product: IcedTea Created attachment 687 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=687&action=edit An error report file with more information * I am using Jenkins as my CI and I have a job which runs Jenkins Sonar plugin ( Invoke Standalone Sonar Analysis ), I got the following error once since I start to run my Jenkins job. Here are the logs : org.sonar.plugins.core.timemachine.TendencyDecorator at ae4a80 -> VariationDecorator 17:25:37.789 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:37.932 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:37.992 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.067 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.076 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.133 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.192 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.250 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.367 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.442 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.500 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.584 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.643 DEBUG raphMetricAggregator - Checking for resource type: DIR 17:25:38.744 DEBUG raphMetricAggregator - Checking for resource type: FIL 17:25:38.817 DEBUG raphMetricAggregator - Checking for resource type: FIL .... ... .. . # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb6d0b985, pid=26224, tid=1796209520 # # JRE version: 6.0_22-b22 # Java VM: OpenJDK Server VM (20.0-b11 mixed mode linux-x86 ) # Derivative: IcedTea6 1.10.6 # Distribution: Fedora release 15 (Lovelock), package fedora-63.1.10.6.fc15-i386 # Problematic frame: # V [libjvm.so+0x202985] pthread_cond_signal+0x202985 # # An error report file with more information is saved as: # /jenkins/workspaces/cyclades-trunk-sonar/hs_err_pid26224.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # Build step 'Invoke Standalone Sonar Analysis' marked build as failure -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120508/8667e2ce/attachment.html From dbhole at redhat.com Tue May 8 10:19:11 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 8 May 2012 13:19:11 -0400 Subject: icedtea-web v1.2 plugin + openjdk7 builds on linux/64, but quietly fails to load in Firefox12 In-Reply-To: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> References: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> Message-ID: <20120508171910.GK24798@redhat.com> * jerry2can at mailcan.com [2012-05-05 16:13]: > i'm trying to get icedtea v1.2 plugin built for openjdk7 and working in > Firefox 12 on linux/64. > > on > > uname -a > Linux ldev 3.1.10-1.9-desktop #1 SMP PREEMPT Thu Apr 5 18:48:38 > UTC 2012 (4a97ec8) x86_64 x86_64 x86_64 GNU/Linux > > with > > gcc -v > ... > gcc version 4.7.0 20120413 [gcc-4_7-branch revision > 186417] (SUSE Linux) > > and > > javac -version > Picked up _JAVA_OPTIONS: -Dswing.aatext=true > -Dawt.useSystemAAFontSettings=on -Xmx512M > javac 1.7.0_147 > > > reading at, > > http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.2 > > "OpenJDK7 support Deepak Bhole Done" > > dl'ing > > wget -c > http://icedtea.classpath.org/download/source/icedtea-web-1.2.tar.gz > tar zxvf icedtea-web-1.2.tar.gz > cd icedtea-web-1.2/ > > building, > > export MOZILLA_CFLAGS="-I/usr/local/xulrunner-sdk/include" > export MOZILLA_LIBS="-L/usr/local/xulrunner-sdk/lib" > ./configure \ > --prefix=/usr/local/icedtea-web \ > --with-jdk-home=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0 \ > --enable-plugin > ... > checking for MOZILLA... yes > checking for xulrunner version... 20000000 > checking for xulrunner version... (cached) 20000000 > ... > checking for a JRE home directory... > /usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/jre > checking for a Java virtual machine... > /usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/jre/bin/java > ... > > make > make install > strip --strip-unneeded > /usr/local/icedtea-web/lib64/IcedTeaPlugin.so > > file /usr/local/icedtea-web/lib64/IcedTeaPlugin.so > /usr/local/icedtea-web/lib64/IcedTeaPlugin.so: ELF > 64-bit LSB shared object, x86-64, version 1 (SYSV), > dynamically linked, > BuildID[sha1]=0xd787630f047c7058b629fa9a6a0b4ca3495d348b, > stripped > > ln -sf /usr/local/icedtea-web/lib64/IcedTeaPlugin.so \ > /usr/lib64/mozilla/plugins/ > > > @ firefox launch, check @ about:plugins, there's no trace of the Java > plugin. > > checking, with > > strace firefox > ... > lstat("/usr/lib64/mozilla/plugins/IcedTeaPlugin.so", > {st_mode=S_IFLNK|0777, st_size=45, ...}) = 0 > readlink("/usr/lib64/mozilla/plugins/IcedTeaPlugin.so", > "/usr/local/icedtea-web/lib64/IcedTeaPlugin.so", 4095) = > 45 > lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) > = 0 > lstat("/usr/local", {st_mode=S_IFDIR|0775, st_size=4096, > ...}) = 0 > lstat("/usr/local/icedtea-web", {st_mode=S_IFDIR|0755, > st_size=4096, ...}) = 0 > lstat("/usr/local/icedtea-web/lib64", > {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 > lstat("/usr/local/icedtea-web/lib64/IcedTeaPlugin.so", > {st_mode=S_IFREG|0755, st_size=209296, ...}) = 0 > ... > stat("/usr/lib64/mozilla/plugins/gecko-mediaplayer.so", > {st_mode=S_IFREG|0755, st_size=342986, ...}) = 0 > stat("/usr/local/icedtea-web/lib64/IcedTeaPlugin.so", > {st_mode=S_IFREG|0755, st_size=209296, ...}) = 0 > stat("/usr/lib64/mozilla/plugins/gecko-mediaplayer-rm.so", > {st_mode=S_IFREG|0755, st_size=342921, ...}) = 0 > ... > > there's no immediately obvious problem ... > > as a first step tp deteriming if the problem is Firefox or the plugin > build, i'd like to get anything to 'squawk' verbosely enough to give me > a hint. Is there some more verbose, telling test I can run @Firefox, or > in the plugin itself? Can you try running with ICEDTEAPLUGIN_DEBUG=true firefox and post the console log? Thanks, Deepak From jerry2can at mailcan.com Tue May 8 10:29:15 2012 From: jerry2can at mailcan.com (jerry2can at mailcan.com) Date: Tue, 08 May 2012 10:29:15 -0700 Subject: icedtea-web v1.2 plugin + openjdk7 builds on linux/64, but quietly fails to load in Firefox12 In-Reply-To: <20120508171910.GK24798@redhat.com> References: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> <20120508171910.GK24798@redhat.com> Message-ID: <1336498155.28638.140661072849505.1F01ECC3@webmail.messagingengine.com> On Tue, May 8, 2012, at 01:19 PM, Deepak Bhole wrote: > Can you try running with ICEDTEAPLUGIN_DEBUG=true firefox and post the console log? sure. when @ console I exec > ICEDTEAPLUGIN_DEBUG=true firefox simply launches Firefox. no output at console, nothing in syslog, no trace of it in about:plugins, etc. just -- nothing. From bugzilla-daemon at icedtea.classpath.org Tue May 8 10:39:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 08 May 2012 17:39:49 +0000 Subject: [Bug 708] can't copy or paste text in the text areas In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=708 --- Comment #5 from Deepak Bhole --- (In reply to comment #4) > What are those security reasons? It means that useful applets like > http://www.falstad.com/circuit/ are unusable because there is no way to > export circuits. It is detailed here: http://slightlyrandombrokenthoughts.blogspot.ca/2011/03/oracle-java-applet-clipboard-injection.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120508/7430ce20/attachment.html From dbhole at redhat.com Tue May 8 10:44:53 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 8 May 2012 13:44:53 -0400 Subject: icedtea-web v1.2 plugin + openjdk7 builds on linux/64, but quietly fails to load in Firefox12 In-Reply-To: <1336498155.28638.140661072849505.1F01ECC3@webmail.messagingengine.com> References: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> <20120508171910.GK24798@redhat.com> <1336498155.28638.140661072849505.1F01ECC3@webmail.messagingengine.com> Message-ID: <20120508174453.GN24798@redhat.com> * jerry2can at mailcan.com [2012-05-08 13:29]: > > > On Tue, May 8, 2012, at 01:19 PM, Deepak Bhole wrote: > > Can you try running with ICEDTEAPLUGIN_DEBUG=true firefox and post the console log? > > sure. > > when @ console I exec > > > ICEDTEAPLUGIN_DEBUG=true firefox > > > simply launches Firefox. no output at console, nothing in syslog, no > trace of it in about:plugins, etc. just -- nothing. > This is strange. The strace output clearly showed that the plugin was being loaded.. I don't understand why it isn't seen. Does Firefox show other plugins like the Gecko Media Player plugin in about:plugins? Deepak From jerry2can at mailcan.com Tue May 8 10:52:47 2012 From: jerry2can at mailcan.com (jerry2can at mailcan.com) Date: Tue, 08 May 2012 10:52:47 -0700 Subject: icedtea-web v1.2 plugin + openjdk7 builds on linux/64, but quietly fails to load in Firefox12 In-Reply-To: <20120508174453.GN24798@redhat.com> References: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> <20120508171910.GK24798@redhat.com> <1336498155.28638.140661072849505.1F01ECC3@webmail.messagingengine.com> <20120508174453.GN24798@redhat.com> Message-ID: <1336499567.2061.140661072859553.24FE35CD@webmail.messagingengine.com> On Tue, May 8, 2012, at 01:44 PM, Deepak Bhole wrote: > This is strange. The strace output clearly showed that the plugin was > being loaded.. I don't understand why it isn't seen. > > Does Firefox show other plugins like the Gecko Media Player plugin in > about:plugins? Yes. Given, ls -al /usr/lib64/mozilla/plugins/ total 1.7M drwxr-xr-x 2 root root 4.0K May 8 10:22 ./ drwxr-xr-x 3 root root 4.0K Mar 22 11:28 ../ -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer-dvx.so* -rwxr-xr-x 1 root root 336K May 7 17:07 gecko-mediaplayer-qt.so* -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer-rm.so* -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer.so* -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer-wmp.so* lrwxrwxrwx 1 root root 45 May 8 10:22 IcedTeaPlugin.so -> /usr/local/icedtea-web/lib64/IcedTeaPlugin.so* lrwxrwxrwx 1 root root 44 Apr 1 17:25 libflashplayer.so -> /usr/lib64/browser-plugins/libflashplayer.so* Here's the about:plugins screen, http://imageshack.us/f/839/aboutplugins.png/ From dbhole at redhat.com Tue May 8 10:59:27 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 8 May 2012 13:59:27 -0400 Subject: icedtea-web v1.2 plugin + openjdk7 builds on linux/64, but quietly fails to load in Firefox12 In-Reply-To: <1336499567.2061.140661072859553.24FE35CD@webmail.messagingengine.com> References: <1336248714.7186.140661071657297.50F9CC33@webmail.messagingengine.com> <20120508171910.GK24798@redhat.com> <1336498155.28638.140661072849505.1F01ECC3@webmail.messagingengine.com> <20120508174453.GN24798@redhat.com> <1336499567.2061.140661072859553.24FE35CD@webmail.messagingengine.com> Message-ID: <20120508175927.GO24798@redhat.com> * jerry2can at mailcan.com [2012-05-08 13:52]: > > > On Tue, May 8, 2012, at 01:44 PM, Deepak Bhole wrote: > > This is strange. The strace output clearly showed that the plugin was > > being loaded.. I don't understand why it isn't seen. > > > > Does Firefox show other plugins like the Gecko Media Player plugin in > > about:plugins? > > Yes. > > Given, > > ls -al /usr/lib64/mozilla/plugins/ > total 1.7M > drwxr-xr-x 2 root root 4.0K May 8 10:22 ./ > drwxr-xr-x 3 root root 4.0K Mar 22 11:28 ../ > -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer-dvx.so* > -rwxr-xr-x 1 root root 336K May 7 17:07 gecko-mediaplayer-qt.so* > -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer-rm.so* > -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer.so* > -rwxr-xr-x 1 root root 335K May 7 17:07 gecko-mediaplayer-wmp.so* > lrwxrwxrwx 1 root root 45 May 8 10:22 IcedTeaPlugin.so -> > /usr/local/icedtea-web/lib64/IcedTeaPlugin.so* > lrwxrwxrwx 1 root root 44 Apr 1 17:25 libflashplayer.so -> > /usr/lib64/browser-plugins/libflashplayer.so* > > > Here's the about:plugins screen, > > http://imageshack.us/f/839/aboutplugins.png/ Can you also post the full strace log somewhere please? Deepak > From jvanalte at redhat.com Tue May 8 12:25:46 2012 From: jvanalte at redhat.com (Jon VanAlten) Date: Tue, 08 May 2012 15:25:46 -0400 (EDT) Subject: Thermostat 0.2 Released! In-Reply-To: Message-ID: Hi all, Those of us working on Thermostat have decided it is time to produce another release. So, without further ado, we present to you: Thermostat 0.2: The Dharma Bums You can download this release at: http://icedtea.classpath.org/download/thermostat/thermostat-0.2.tar.gz We have added several new features that users will want to check out: * New GC tool monitoring GC frequency and time spent in GC. * Basic history mode for saving and offline analysis of monitoring data. * Command line interface providing one-shot commands as well as shell mode. * GUI client now displays CPU load information for each process. We have also made a number of improvements that developers will be interested in: * Switch from ant to maven build infrastructure. * Testing! We have tests! They cover now the majority of code base. * GUI tests use Cacio to avoid focus-stealing issues when running tests. * Storage-access isolated to DAO classes. * Client code separated into MVC triads. Several major bugs have been fixed, including: * PR954: Thermostat GUI client should remember my last panel selected * PR956: Thermostat GUI client should update view when new Java process is found * PR957: Thermostat GUI doesn't exit when closed, needs killing * PR976: About dialog crashes with GTK look and feel The following people contributed during this release cycle: Roman Kennke Omair Majid Mario Torre Jon VanAlten URL: http://icedtea.classpath.org/thermostat Mailing list: http://icedtea.classpath.org/mailman/listinfo/thermostat Repository: http://icedtea.classpath.org/hg/thermostat IRC: #thermostat on irc.freenode.com From bugzilla-daemon at icedtea.classpath.org Tue May 8 12:50:07 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 08 May 2012 19:50:07 +0000 Subject: [Bug 740] JavaFx applications fail to start In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=740 Danesh Dadachanji changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ddadacha at redhat.com --- Comment #6 from Danesh Dadachanji --- Here's another example of this: http://idisk.mac.com/driverson/Public/jnlp/RegionBackground.jnlp -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120508/97a7f5fc/attachment.html From ptisnovs at icedtea.classpath.org Wed May 9 02:09:03 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 09 May 2012 09:09:03 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestLines.java: Message-ID: changeset 19fa0d60ad2d in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=19fa0d60ad2d author: Pavel Tisnovsky date: Wed May 09 11:11:42 2012 +0200 * src/org/gfxtest/testsuites/PrintTestLines.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/PrintTestLines.java | 263 +++++++++++++++++++++++++ 2 files changed, 268 insertions(+), 0 deletions(-) diffs (285 lines): diff -r cc3e62406976 -r 19fa0d60ad2d ChangeLog --- a/ChangeLog Mon May 07 14:53:02 2012 +0200 +++ b/ChangeLog Wed May 09 11:11:42 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-09 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestLines.java: + Added new tests to this test suite. + 2012-05-07 Pavel Tisnovsky * src/org/gfxtest/framework/GfxTest.java: diff -r cc3e62406976 -r 19fa0d60ad2d src/org/gfxtest/testsuites/PrintTestLines.java --- a/src/org/gfxtest/testsuites/PrintTestLines.java Mon May 07 14:53:02 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestLines.java Wed May 09 11:11:42 2012 +0200 @@ -359,6 +359,269 @@ } /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with default width and default end caps. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesBasicStyle(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP) + { + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with default width and default end caps. + * Lines color are selected from a palette. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesColorPalette(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + + // index to color palette + int colorIndex = 0; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP) + { + // set line color + graphics.setColor(ColorPalette.getColor(colorIndex++)); + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with default width and default end caps. + * Lines color are selected from a grayscale palette. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesGrayScale(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP) + { + float gray = x * 1.0f / width; + graphics.setColor(new Color(gray, gray, gray)); + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with various width and default end caps. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesChangeWidth(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with various width and end caps set to CAP_BUTT. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesChangeWidthCapButt(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with various width and end caps set to CAP_ROUND. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesChangeWidthCapRound(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Vertical lines are rendered with various width and end caps set to CAP_SQUARE. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawVerticalLinesChangeWidthCapSquare(TestImage image, Graphics2D graphics) + { + // set drawing color + graphics.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int y1 = BORDER; + final int y2 = height - BORDER; + float strokeWidth = 0.0f; + + // draw all lines onto a paper + for (int x = 0; x < width; x += HOR_STEP * 2) + { + graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the line + graphics.drawLine(x, y1, x, y2); + } + + // test return value + return TestResult.PASSED; + } + /** * Entry point to the test suite. * * @param args not used in this case From andrew at icedtea.classpath.org Wed May 9 05:38:28 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 09 May 2012 12:38:28 +0000 Subject: /hg/icedtea6: Add nss.cfg to j2re-image as well. Message-ID: changeset 6adf4cd96962 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6adf4cd96962 author: Andrew John Hughes date: Wed May 09 13:38:18 2012 +0100 Add nss.cfg to j2re-image as well. 2012-05-09 Andrew John Hughes * Makefile.am: (add-nss): Copy nss.cfg to j2re-image as well. (clean-add-nss): Remove nss.cfg from j2re-image. (add-nss-debug): Same as for add-nss. (clean-add-nss-debug): Same as for clean-add-nss. (add-nss-ecj): Same as for add-nss. (clean-add-nss-ecj): Same as for clean-add-nss. diffstat: ChangeLog | 10 ++++++++++ Makefile.am | 9 +++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) diffs (60 lines): diff -r 2e70726c57bb -r 6adf4cd96962 ChangeLog --- a/ChangeLog Fri May 04 17:42:29 2012 +0100 +++ b/ChangeLog Wed May 09 13:38:18 2012 +0100 @@ -1,3 +1,13 @@ +2012-05-09 Andrew John Hughes + + * Makefile.am: + (add-nss): Copy nss.cfg to j2re-image as well. + (clean-add-nss): Remove nss.cfg from j2re-image. + (add-nss-debug): Same as for add-nss. + (clean-add-nss-debug): Same as for clean-add-nss. + (add-nss-ecj): Same as for add-nss. + (clean-add-nss-ecj): Same as for clean-add-nss. + 2012-05-04 Andrew John Hughes Backport cryptography tests from 7. diff -r 2e70726c57bb -r 6adf4cd96962 Makefile.am --- a/Makefile.am Fri May 04 17:42:29 2012 +0100 +++ b/Makefile.am Wed May 09 13:38:18 2012 +0100 @@ -1605,19 +1605,25 @@ stamps/add-nss.stamp: stamps/icedtea.stamp cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib/security touch stamps/add-nss.stamp clean-add-nss: rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss.stamp stamps/add-nss-debug.stamp: stamps/icedtea-debug.stamp cp $(abs_top_builddir)/nss.cfg \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-debug.stamp clean-add-nss-debug: rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-debug.stamp stamps/add-tzdata-support.stamp: stamps/icedtea.stamp @@ -1722,10 +1728,13 @@ stamps/add-nss-ecj.stamp: stamps/icedtea-ecj.stamp cp $(abs_top_builddir)/nss.cfg \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-ecj.stamp clean-add-nss-ecj: rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp: stamps/icedtea-ecj.stamp From ahughes at redhat.com Wed May 9 05:40:15 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 9 May 2012 13:40:15 +0100 Subject: [1.10, 1.11]: Add nss.cfg to j2re-image Message-ID: <20120509124015.GA6585@rivendell.middle-earth.co.uk> I'd like to backport the following simple fix to 1.10 and 1.11 in time for today's release. It's a correction of a simple oversight, spotted by Pavel, which means that nss.cfg is only installed in j2sdk-image and not j2re-image. The patch is now on HEAD. 2012-05-09 Andrew John Hughes * Makefile.am: (add-nss): Copy nss.cfg to j2re-image as well. (clean-add-nss): Remove nss.cfg from j2re-image. (add-nss-debug): Same as for add-nss. (clean-add-nss-debug): Same as for clean-add-nss. (add-nss-ecj): Same as for add-nss. (clean-add-nss-ecj): Same as for clean-add-nss. Ok for 1.10 & 1.11? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -1605,19 +1605,25 @@ stamps/add-nss.stamp: stamps/icedtea.stamp cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib/security touch stamps/add-nss.stamp clean-add-nss: rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss.stamp stamps/add-nss-debug.stamp: stamps/icedtea-debug.stamp cp $(abs_top_builddir)/nss.cfg \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-debug.stamp clean-add-nss-debug: rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-debug.stamp stamps/add-tzdata-support.stamp: stamps/icedtea.stamp @@ -1722,10 +1728,13 @@ stamps/add-nss-ecj.stamp: stamps/icedtea-ecj.stamp cp $(abs_top_builddir)/nss.cfg \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-ecj.stamp clean-add-nss-ecj: rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp: stamps/icedtea-ecj.stamp -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/9e86c216/attachment.bin From aph at redhat.com Wed May 9 05:45:56 2012 From: aph at redhat.com (Andrew Haley) Date: Wed, 09 May 2012 13:45:56 +0100 Subject: [1.10, 1.11]: Add nss.cfg to j2re-image In-Reply-To: <20120509124015.GA6585@rivendell.middle-earth.co.uk> References: <20120509124015.GA6585@rivendell.middle-earth.co.uk> Message-ID: <4FAA6704.3020506@redhat.com> On 05/09/2012 01:40 PM, Dr Andrew John Hughes wrote: > 2012-05-09 Andrew John Hughes > > * Makefile.am: (add-nss): Copy nss.cfg to j2re-image as well. (clean-add-nss): Remove nss.cfg from j2re-image. (add-nss-debug): Same as for add-nss. (clean-add-nss-debug): Same as for clean-add-nss. (add-nss-ecj): Same as for add-nss. (clean-add-nss-ecj): Same as for clean-add-nss. > > Ok for 1.10 & 1.11? Yes, please. Andrew. From ahughes at redhat.com Wed May 9 07:05:50 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 9 May 2012 15:05:50 +0100 Subject: [1.11] Backport PR886 to 1.11 Message-ID: <20120509140550.GA32219@rivendell.middle-earth.co.uk> 1.11 includes a fix for CACAO that allows it to build on ARM by providing a jvm.cfg file for it. The same issue that this patch solves still exists on other platforms e.g. PPC, as that fix is architecture-specific. I added a fix a while back to HEAD which generalises the fix, applying it to all CACAO builds and this has been added to the Gentoo builds of 1.11 as well. I'd like to backport it to the 1.11 branch for the upcoming release. This allows CACAO to build on PPC and fixes: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=886 2012-03-16 Andrew John Hughes PR600, 886: * patches/pr600-arm-jvm.cfg.patch: Removed. * Makefile.am: (extract-openjdk): Copy jvm.cfg over if building cacao. * acinclude.m4: (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. * jvm.cacao.cfg.in: Copied from jvm.cfg.in. Patch against 1.11 is attached. Ok for the 1.11 branch? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -332,7 +332,6 @@ patches/jtreg-LastErrorString.patch \ patches/openjdk/6663040-com.sun.awt.patch \ patches/openjdk/6775317-non-AA-simple-shape-performance.patch \ - patches/pr600-arm-jvm.cfg.patch \ patches/openjdk/6887494-NPE-in-pisces.patch \ patches/openjdk/6967436-6967433-floating-pt-conversion.patch \ patches/openjdk/6976265-stroke-control.patch \ @@ -976,6 +975,10 @@ fi endif endif +if ENABLE_CACAO + mkdir -p openjdk/jdk/src/solaris/bin/$(JRE_ARCH_DIR) + cp jvm.cacao.cfg openjdk/jdk/src/solaris/bin/$(JRE_ARCH_DIR)/jvm.cfg +endif mkdir -p stamps touch stamps/extract-openjdk.stamp diff --git a/NEWS b/NEWS --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ - RH789154: javac error messages no longer contain the full path to the offending file: - PR797: Compiler error message does not display entire file name and path - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - PR886: 6-1.11.1 fails to build CACAO on ppc * Backports - S6792400: Avoid loading of Normalizer resources for simple uses diff --git a/acinclude.m4 b/acinclude.m4 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -868,6 +868,7 @@ AC_MSG_RESULT(${ENABLE_CACAO}) AM_CONDITIONAL(ENABLE_CACAO, test x"${ENABLE_CACAO}" = "xyes") AC_SUBST(ENABLE_CACAO) + AC_CONFIG_FILES([jvm.cacao.cfg]) ]) AC_DEFUN([IT_WITH_CACAO_HOME], diff --git a/jvm.cacao.cfg.in b/jvm.cacao.cfg.in new file mode 100644 --- /dev/null +++ b/jvm.cacao.cfg.in @@ -0,0 +1,44 @@ +# +# @(#)jvm.cfg 1.7 07/05/05 +# +# +# Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# +# +# +# List of JVMs that can be used as an option to java, javac, etc. +# Order is important -- first in this list is the default JVM. +# NOTE that this both this file and its format are UNSUPPORTED and +# WILL GO AWAY in a future release. +# +# You may also select a JVM in an arbitrary location with the +# "-XXaltjvm=" option, but that too is unsupported +# and may not be available in a future release. +# +-server KNOWN +-hotspot ERROR +-classic WARN +-client IGNORE +-native ERROR +-green ERROR diff --git a/patches/pr600-arm-jvm.cfg.patch b/patches/pr600-arm-jvm.cfg.patch deleted file mode 100644 --- a/patches/pr600-arm-jvm.cfg.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: openjdk/jdk/src/solaris/bin/arm/jvm.cfg -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ openjdk/jdk/src/solaris/bin/arm/jvm.cfg 2011-02-18 15:40:24.083043645 +0100 -@@ -0,0 +1,39 @@ -+# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. -+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+# -+# This code is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License version 2 only, as -+# published by the Free Software Foundation. Oracle designates this -+# particular file as subject to the "Classpath" exception as provided -+# by Oracle in the LICENSE file that accompanied this code. -+# -+# This code is distributed in the hope that it will be useful, but WITHOUT -+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+# version 2 for more details (a copy is included in the LICENSE file that -+# accompanied this code). -+# -+# You should have received a copy of the GNU General Public License version -+# 2 along with this work; if not, write to the Free Software Foundation, -+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+# -+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+# or visit www.oracle.com if you need additional information or have any -+# questions. -+# -+# -+# List of JVMs that can be used as an option to java, javac, etc. -+# Order is important -- first in this list is the default JVM. -+# NOTE that this both this file and its format are UNSUPPORTED and -+# WILL GO AWAY in a future release. -+# -+# You may also select a JVM in an arbitrary location with the -+# "-XXaltjvm=" option, but that too is unsupported -+# and may not be available in a future release. -+# -+-server KNOWN -+-client IGNORE -+-hotspot ERROR -+-classic WARN -+-native ERROR -+-green ERROR -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/993128a9/attachment.bin From ptisnovs at redhat.com Wed May 9 07:32:26 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 09 May 2012 16:32:26 +0200 Subject: Reviewer needed: fixed syntax of TestRSA regression test to be compatible with JDK6 Message-ID: <4FAA7FFA.5010000@redhat.com> Hi, I'd like to push patch containing fix for TestRSA regression test to IcedTea6. The test TestRSA has been backported to IcedTea6 from OpenJDK7 and it's original source contains new JDK7 syntax on many places: catch (Exception1 | Exception2 | Exception3) this needs to be fixed to use a set of catch (ExceptionN) blocks. ChangeLog entry: 2012-05-09 Pavel Tisnovsky * patches/TestRSA-jdk6-syntax.patch: Make the test TestRSA compatible with JDK6 syntax. Can anybody please review this (harmless :-) change? Thank you in advance, Pavel T. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/4d8fdfbd/hg.diff From xerxes at zafena.se Wed May 9 07:40:56 2012 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Wed, 09 May 2012 16:40:56 +0200 Subject: [1.11] Backport PR886 to 1.11 In-Reply-To: <20120509140550.GA32219@rivendell.middle-earth.co.uk> References: <20120509140550.GA32219@rivendell.middle-earth.co.uk> Message-ID: <4FAA81F8.50408@zafena.se> 2012-05-09 16:05, Dr Andrew John Hughes skrev: > 1.11 includes a fix for CACAO that allows it to build on ARM by providing > a jvm.cfg file for it. The same issue that this patch solves still exists > on other platforms e.g. PPC, as that fix is architecture-specific. > > I added a fix a while back to HEAD which generalises the fix, applying it > to all CACAO builds and this has been added to the Gentoo builds of 1.11 > as well. I'd like to backport it to the 1.11 branch for the upcoming release. > This allows CACAO to build on PPC and fixes: > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=886 > > 2012-03-16 Andrew John Hughes > > PR600, 886: > * patches/pr600-arm-jvm.cfg.patch: Removed. > * Makefile.am: > (extract-openjdk): Copy jvm.cfg over if building cacao. > * acinclude.m4: > (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. > * jvm.cacao.cfg.in: Copied from jvm.cfg.in. > > Patch against 1.11 is attached. Ok for the 1.11 branch? This patch alone will, apart from fixing CACAO builds, break the PPC/ARM JamVM builds. please backport http://icedtea.classpath.org/hg/icedtea6/rev/8b157b07b859 as well to make both JamVM and CACAO builds work on PPC and ARM using 1.11. I am ok for this patch to go in as long as the extend fix to cover JamVM on all archs also gets backported to 1.11. Cheers Xerxes From ahughes at redhat.com Wed May 9 07:53:31 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 09 May 2012 10:53:31 -0400 (EDT) Subject: Reviewer needed: fixed syntax of TestRSA regression test to be compatible with JDK6 In-Reply-To: <4FAA7FFA.5010000@redhat.com> Message-ID: <7f616656-50bf-4575-a86f-eb38e3548e10@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Hi, > > I'd like to push patch containing fix for TestRSA regression test to > IcedTea6. > The test TestRSA has been backported to IcedTea6 from OpenJDK7 and > it's original > source contains new JDK7 syntax on many places: > > catch (Exception1 | Exception2 | Exception3) > > this needs to be fixed to use a set of catch (ExceptionN) blocks. > > ChangeLog entry: > > 2012-05-09 Pavel Tisnovsky > > * patches/TestRSA-jdk6-syntax.patch: > Make the test TestRSA compatible with JDK6 syntax. > > Can anybody please review this (harmless :-) change? > Yes, I was aware of this, but haven't had time to fix it yet. This is fine, but can we have a better name for the patch please: patches/remove_multicatch_in_testrsa.patch (I don't like all this mixed case in filenames). > Thank you in advance, > Pavel T. > > > [Text File:hg.diff] > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Wed May 9 07:54:50 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 09 May 2012 10:54:50 -0400 (EDT) Subject: [1.11] Backport PR886 to 1.11 In-Reply-To: <4FAA81F8.50408@zafena.se> Message-ID: ----- Original Message ----- > 2012-05-09 16:05, Dr Andrew John Hughes skrev: > > 1.11 includes a fix for CACAO that allows it to build on ARM by > > providing > > a jvm.cfg file for it. The same issue that this patch solves still > > exists > > on other platforms e.g. PPC, as that fix is architecture-specific. > > > > I added a fix a while back to HEAD which generalises the fix, > > applying it > > to all CACAO builds and this has been added to the Gentoo builds of > > 1.11 > > as well. I'd like to backport it to the 1.11 branch for the > > upcoming release. > > This allows CACAO to build on PPC and fixes: > > > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=886 > > > > 2012-03-16 Andrew John Hughes > > > > PR600, 886: > > * patches/pr600-arm-jvm.cfg.patch: Removed. > > * Makefile.am: > > (extract-openjdk): Copy jvm.cfg over if building cacao. > > * acinclude.m4: > > (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. > > * jvm.cacao.cfg.in: Copied from jvm.cfg.in. > > > > Patch against 1.11 is attached. Ok for the 1.11 branch? > > This patch alone will, apart from fixing CACAO builds, break the > PPC/ARM JamVM builds. > please backport > http://icedtea.classpath.org/hg/icedtea6/rev/8b157b07b859 > as well to make both JamVM and CACAO builds work on PPC and ARM using > 1.11. > Yes, well spotted. That was coming next, honest! :-) I like to keep a 1:1 relationship between patches on HEAD and branches. > I am ok for this patch to go in as long as the extend fix to cover > JamVM on all archs also gets backported to 1.11. > > Cheers > Xerxes > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Wed May 9 07:59:32 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 09 May 2012 14:59:32 +0000 Subject: [Bug 886] 6-1.11.1 fails to build CACAO on ppc In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=886 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|6-1.12 |6-1.11.2 --- Comment #6 from Andrew John Hughes --- Backporting to 1.11.2 release. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/bc346336/attachment.html From ptisnovs at redhat.com Wed May 9 08:07:39 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 09 May 2012 17:07:39 +0200 Subject: Reviewer needed: fixed syntax of TestRSA regression test to be compatible with JDK6 In-Reply-To: <7f616656-50bf-4575-a86f-eb38e3548e10@zmail17.collab.prod.int.phx2.redhat.com> References: <7f616656-50bf-4575-a86f-eb38e3548e10@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FAA883B.3060102@redhat.com> Andrew Hughes wrote: > ----- Original Message ----- >> Hi, >> >> I'd like to push patch containing fix for TestRSA regression test to >> IcedTea6. >> The test TestRSA has been backported to IcedTea6 from OpenJDK7 and >> it's original >> source contains new JDK7 syntax on many places: >> >> catch (Exception1 | Exception2 | Exception3) >> >> this needs to be fixed to use a set of catch (ExceptionN) blocks. >> >> ChangeLog entry: >> >> 2012-05-09 Pavel Tisnovsky >> >> * patches/TestRSA-jdk6-syntax.patch: >> Make the test TestRSA compatible with JDK6 syntax. >> >> Can anybody please review this (harmless :-) change? >> > > Yes, I was aware of this, but haven't had time to fix it yet. > > This is fine, but can we have a better name for the patch please: > patches/remove_multicatch_in_testrsa.patch > > (I don't like all this mixed case in filenames). np and thanks! > >> Thank you in advance, >> Pavel T. >> >> >> [Text File:hg.diff] >> > From andrew at icedtea.classpath.org Wed May 9 08:27:20 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 09 May 2012 15:27:20 +0000 Subject: /hg/release/icedtea6-1.11: 2 new changesets Message-ID: changeset 4f0d67888d66 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=4f0d67888d66 author: Andrew John Hughes date: Wed May 09 16:21:01 2012 +0100 PR886: Provide a more general solution to PR600 to cover architectures other than just ARM. 2012-03-16 Andrew John Hughes PR600, 886: * patches/pr600-arm-jvm.cfg.patch: Removed. * Makefile.am: (extract-openjdk): Copy jvm.cfg over if building cacao. * acinclude.m4: (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. * jvm.cacao.cfg.in: Copied from jvm.cfg.in. changeset 0568483b07ce in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=0568483b07ce author: Andrew John Hughes date: Wed May 09 16:25:56 2012 +0100 Extend previous fix to cover JamVM on all archs. 2012-03-16 Andrew John Hughes PR600, 886: * Makefile.am: (extract-openjdk): Copy jvm.cfg over if building JamVM. * acinclude.m4: (IT_ENABLE_JAMVM): Generate jvm.jamvm.cfg. * jvm.jamvm.cfg.in: Copied from jvm.cfg.in. diffstat: ChangeLog | 20 ++++++++++++++++++ Makefile.am | 9 +++++++- NEWS | 1 + acinclude.m4 | 2 + jvm.cacao.cfg.in | 44 +++++++++++++++++++++++++++++++++++++++++ jvm.jamvm.cfg.in | 44 +++++++++++++++++++++++++++++++++++++++++ patches/pr600-arm-jvm.cfg.patch | 44 ----------------------------------------- 7 files changed, 119 insertions(+), 45 deletions(-) diffs (227 lines): diff -r acc48a156236 -r 0568483b07ce ChangeLog --- a/ChangeLog Fri Apr 20 17:25:45 2012 +0200 +++ b/ChangeLog Wed May 09 16:25:56 2012 +0100 @@ -1,3 +1,23 @@ +2012-03-16 Andrew John Hughes + + PR600, 886: + * Makefile.am: + (extract-openjdk): Copy jvm.cfg over if building JamVM. + * acinclude.m4: + (IT_ENABLE_JAMVM): Generate jvm.jamvm.cfg. + * jvm.jamvm.cfg.in: Copied from jvm.cfg.in. + +2012-03-16 Andrew John Hughes + + PR600, 886: + * patches/pr600-arm-jvm.cfg.patch: Removed. + * Makefile.am: + (extract-openjdk): Copy jvm.cfg over if building cacao. + * acinclude.m4: + (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. + * jvm.cacao.cfg.in: Copied from jvm.cfg.in. + * NEWS: Updated. + 2012-04-20 Pavel Tisnovsky * NEWS: Mention bugfix PR797 (the same as bugfig RH789154). diff -r acc48a156236 -r 0568483b07ce Makefile.am --- a/Makefile.am Fri Apr 20 17:25:45 2012 +0200 +++ b/Makefile.am Wed May 09 16:25:56 2012 +0100 @@ -332,7 +332,6 @@ patches/jtreg-LastErrorString.patch \ patches/openjdk/6663040-com.sun.awt.patch \ patches/openjdk/6775317-non-AA-simple-shape-performance.patch \ - patches/pr600-arm-jvm.cfg.patch \ patches/openjdk/6887494-NPE-in-pisces.patch \ patches/openjdk/6967436-6967433-floating-pt-conversion.patch \ patches/openjdk/6976265-stroke-control.patch \ @@ -976,6 +975,14 @@ fi endif endif +if ENABLE_CACAO + mkdir -p openjdk/jdk/src/solaris/bin/$(JRE_ARCH_DIR) + cp jvm.cacao.cfg openjdk/jdk/src/solaris/bin/$(JRE_ARCH_DIR)/jvm.cfg +endif +if ENABLE_JAMVM + mkdir -p openjdk/jdk/src/solaris/bin/$(JRE_ARCH_DIR) + cp jvm.jamvm.cfg openjdk/jdk/src/solaris/bin/$(JRE_ARCH_DIR)/jvm.cfg +endif mkdir -p stamps touch stamps/extract-openjdk.stamp diff -r acc48a156236 -r 0568483b07ce NEWS --- a/NEWS Fri Apr 20 17:25:45 2012 +0200 +++ b/NEWS Wed May 09 16:25:56 2012 +0100 @@ -16,6 +16,7 @@ - RH789154: javac error messages no longer contain the full path to the offending file: - PR797: Compiler error message does not display entire file name and path - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - PR886: 6-1.11.1 fails to build CACAO on ppc * Backports - S6792400: Avoid loading of Normalizer resources for simple uses diff -r acc48a156236 -r 0568483b07ce acinclude.m4 --- a/acinclude.m4 Fri Apr 20 17:25:45 2012 +0200 +++ b/acinclude.m4 Wed May 09 16:25:56 2012 +0100 @@ -830,6 +830,7 @@ AC_MSG_RESULT(${ENABLE_JAMVM}) AM_CONDITIONAL(ENABLE_JAMVM, test x"${ENABLE_JAMVM}" = "xyes") AC_SUBST(ENABLE_JAMVM) + AC_CONFIG_FILES([jvm.jamvm.cfg]) ]) AC_DEFUN([IT_WITH_JAMVM_SRC_ZIP], @@ -868,6 +869,7 @@ AC_MSG_RESULT(${ENABLE_CACAO}) AM_CONDITIONAL(ENABLE_CACAO, test x"${ENABLE_CACAO}" = "xyes") AC_SUBST(ENABLE_CACAO) + AC_CONFIG_FILES([jvm.cacao.cfg]) ]) AC_DEFUN([IT_WITH_CACAO_HOME], diff -r acc48a156236 -r 0568483b07ce jvm.cacao.cfg.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jvm.cacao.cfg.in Wed May 09 16:25:56 2012 +0100 @@ -0,0 +1,44 @@ +# +# @(#)jvm.cfg 1.7 07/05/05 +# +# +# Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# +# +# +# List of JVMs that can be used as an option to java, javac, etc. +# Order is important -- first in this list is the default JVM. +# NOTE that this both this file and its format are UNSUPPORTED and +# WILL GO AWAY in a future release. +# +# You may also select a JVM in an arbitrary location with the +# "-XXaltjvm=" option, but that too is unsupported +# and may not be available in a future release. +# +-server KNOWN +-hotspot ERROR +-classic WARN +-client IGNORE +-native ERROR +-green ERROR diff -r acc48a156236 -r 0568483b07ce jvm.jamvm.cfg.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jvm.jamvm.cfg.in Wed May 09 16:25:56 2012 +0100 @@ -0,0 +1,44 @@ +# +# @(#)jvm.cfg 1.7 07/05/05 +# +# +# Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# +# +# +# List of JVMs that can be used as an option to java, javac, etc. +# Order is important -- first in this list is the default JVM. +# NOTE that this both this file and its format are UNSUPPORTED and +# WILL GO AWAY in a future release. +# +# You may also select a JVM in an arbitrary location with the +# "-XXaltjvm=" option, but that too is unsupported +# and may not be available in a future release. +# +-server KNOWN +-hotspot ERROR +-classic WARN +-client IGNORE +-native ERROR +-green ERROR diff -r acc48a156236 -r 0568483b07ce patches/pr600-arm-jvm.cfg.patch --- a/patches/pr600-arm-jvm.cfg.patch Fri Apr 20 17:25:45 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -Index: openjdk/jdk/src/solaris/bin/arm/jvm.cfg -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ openjdk/jdk/src/solaris/bin/arm/jvm.cfg 2011-02-18 15:40:24.083043645 +0100 -@@ -0,0 +1,39 @@ -+# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. -+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+# -+# This code is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License version 2 only, as -+# published by the Free Software Foundation. Oracle designates this -+# particular file as subject to the "Classpath" exception as provided -+# by Oracle in the LICENSE file that accompanied this code. -+# -+# This code is distributed in the hope that it will be useful, but WITHOUT -+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+# version 2 for more details (a copy is included in the LICENSE file that -+# accompanied this code). -+# -+# You should have received a copy of the GNU General Public License version -+# 2 along with this work; if not, write to the Free Software Foundation, -+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+# -+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+# or visit www.oracle.com if you need additional information or have any -+# questions. -+# -+# -+# List of JVMs that can be used as an option to java, javac, etc. -+# Order is important -- first in this list is the default JVM. -+# NOTE that this both this file and its format are UNSUPPORTED and -+# WILL GO AWAY in a future release. -+# -+# You may also select a JVM in an arbitrary location with the -+# "-XXaltjvm=" option, but that too is unsupported -+# and may not be available in a future release. -+# -+-server KNOWN -+-client IGNORE -+-hotspot ERROR -+-classic WARN -+-native ERROR -+-green ERROR From bugzilla-daemon at icedtea.classpath.org Wed May 9 08:27:27 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 09 May 2012 15:27:27 +0000 Subject: [Bug 600] HS19 upgrade broke CACAO + JamVM build on ARM In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=600 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea6-1.11?cmd=changeset;node=4f0d67888d66 author: Andrew John Hughes date: Wed May 09 16:21:01 2012 +0100 PR886: Provide a more general solution to PR600 to cover architectures other than just ARM. 2012-03-16 Andrew John Hughes PR600, 886: * patches/pr600-arm-jvm.cfg.patch: Removed. * Makefile.am: (extract-openjdk): Copy jvm.cfg over if building cacao. * acinclude.m4: (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. * jvm.cacao.cfg.in: Copied from jvm.cfg.in. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/091a3ecc/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 9 08:27:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 09 May 2012 15:27:29 +0000 Subject: [Bug 886] 6-1.11.1 fails to build CACAO on ppc In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=886 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea6-1.11?cmd=changeset;node=4f0d67888d66 author: Andrew John Hughes date: Wed May 09 16:21:01 2012 +0100 PR886: Provide a more general solution to PR600 to cover architectures other than just ARM. 2012-03-16 Andrew John Hughes PR600, 886: * patches/pr600-arm-jvm.cfg.patch: Removed. * Makefile.am: (extract-openjdk): Copy jvm.cfg over if building cacao. * acinclude.m4: (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. * jvm.cacao.cfg.in: Copied from jvm.cfg.in. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/12eb358a/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 9 08:27:35 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 09 May 2012 15:27:35 +0000 Subject: [Bug 600] HS19 upgrade broke CACAO + JamVM build on ARM In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=600 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea6-1.11?cmd=changeset;node=0568483b07ce author: Andrew John Hughes date: Wed May 09 16:25:56 2012 +0100 Extend previous fix to cover JamVM on all archs. 2012-03-16 Andrew John Hughes PR600, 886: * Makefile.am: (extract-openjdk): Copy jvm.cfg over if building JamVM. * acinclude.m4: (IT_ENABLE_JAMVM): Generate jvm.jamvm.cfg. * jvm.jamvm.cfg.in: Copied from jvm.cfg.in. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/dd37befa/attachment.html From ahughes at redhat.com Wed May 9 08:27:47 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 09 May 2012 11:27:47 -0400 (EDT) Subject: [1.11] Backport PR886 to 1.11 In-Reply-To: Message-ID: <5ee5be88-5897-4591-9e98-7c6d9cbf1d0e@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > > > ----- Original Message ----- > > 2012-05-09 16:05, Dr Andrew John Hughes skrev: > > > 1.11 includes a fix for CACAO that allows it to build on ARM by > > > providing > > > a jvm.cfg file for it. The same issue that this patch solves > > > still > > > exists > > > on other platforms e.g. PPC, as that fix is > > > architecture-specific. > > > > > > I added a fix a while back to HEAD which generalises the fix, > > > applying it > > > to all CACAO builds and this has been added to the Gentoo builds > > > of > > > 1.11 > > > as well. I'd like to backport it to the 1.11 branch for the > > > upcoming release. > > > This allows CACAO to build on PPC and fixes: > > > > > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=886 > > > > > > 2012-03-16 Andrew John Hughes > > > > > > PR600, 886: > > > * patches/pr600-arm-jvm.cfg.patch: Removed. > > > * Makefile.am: > > > (extract-openjdk): Copy jvm.cfg over if building cacao. > > > * acinclude.m4: > > > (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. > > > * jvm.cacao.cfg.in: Copied from jvm.cfg.in. > > > > > > Patch against 1.11 is attached. Ok for the 1.11 branch? > > > > This patch alone will, apart from fixing CACAO builds, break the > > PPC/ARM JamVM builds. > > please backport > > http://icedtea.classpath.org/hg/icedtea6/rev/8b157b07b859 > > as well to make both JamVM and CACAO builds work on PPC and ARM > > using > > 1.11. > > > > Yes, well spotted. That was coming next, honest! :-) > > I like to keep a 1:1 relationship between patches on HEAD and > branches. > > > I am ok for this patch to go in as long as the extend fix to cover > > JamVM on all archs also gets backported to 1.11. > > > > Cheers > > Xerxes > > > > > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > Both pushed to 1.11. Thanks for the review :-) -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ptisnovs at icedtea.classpath.org Wed May 9 08:34:24 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 09 May 2012 15:34:24 +0000 Subject: /hg/icedtea6: Make the test TestRSA compatible with JDK6 syntax. Message-ID: changeset ad292421658b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ad292421658b author: ptisnovs date: Wed May 09 18:34:17 2012 +0200 Make the test TestRSA compatible with JDK6 syntax. diffstat: ChangeLog | 6 ++++++ Makefile.am | 3 ++- 2 files changed, 8 insertions(+), 1 deletions(-) diffs (26 lines): diff -r 6adf4cd96962 -r ad292421658b ChangeLog --- a/ChangeLog Wed May 09 13:38:18 2012 +0100 +++ b/ChangeLog Wed May 09 18:34:17 2012 +0200 @@ -1,3 +1,9 @@ +2012-05-09 Pavel Tisnovsky + + * patches/remove_multicatch_in_testrsa.patch: + Make the test TestRSA compatible with JDK6 syntax. + * Makefile.am: Updated. + 2012-05-09 Andrew John Hughes * Makefile.am: diff -r 6adf4cd96962 -r ad292421658b Makefile.am --- a/Makefile.am Wed May 09 13:38:18 2012 +0100 +++ b/Makefile.am Wed May 09 18:34:17 2012 +0200 @@ -428,7 +428,8 @@ patches/openjdk/7088989-ucrypto_tests.patch \ patches/generalise_crypto_tests.patch \ patches/remove-gcm-test.patch \ - patches/skip_wrap_mode.patch + patches/skip_wrap_mode.patch \ + patches/remove_multicatch_in_testrsa.patch if WITH_RHINO ICEDTEA_PATCHES += \ From ptisnovs at icedtea.classpath.org Wed May 9 08:39:41 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 09 May 2012 15:39:41 +0000 Subject: /hg/icedtea6: Added missing patch. Message-ID: changeset 643fb6254e80 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=643fb6254e80 author: ptisnovs date: Wed May 09 18:39:35 2012 +0200 Added missing patch. diffstat: patches/remove_multicatch_in_testrsa.patch | 109 +++++++++++++++++++++++++++++ 1 files changed, 109 insertions(+), 0 deletions(-) diffs (113 lines): diff -r ad292421658b -r 643fb6254e80 patches/remove_multicatch_in_testrsa.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/remove_multicatch_in_testrsa.patch Wed May 09 18:39:35 2012 +0200 @@ -0,0 +1,109 @@ +--- openjdk/jdk/test/com/oracle/security/ucrypto/TestRSA.java ++++ openjdk/jdk/test/com/oracle/security/ucrypto/TestRSA.java +@@ -189,7 +189,10 @@ + new BigInteger(CRT_COEFF))); + PublicKey pubKey = kf.generatePublic(new RSAPublicKeySpec(mod, pub)); + return new KeyPair(pubKey, privKey); +- } catch (NoSuchAlgorithmException|InvalidKeySpecException ex) { ++ } catch (NoSuchAlgorithmException ex) { ++ System.err.println("Couldn't generate predefined key pair: " + ex); ++ return null; ++ } catch (InvalidKeySpecException ex) { + System.err.println("Couldn't generate predefined key pair: " + ex); + return null; + } +@@ -256,7 +259,11 @@ + String algo = CIP_ALGOS[i]; + try { + c1 = Cipher.getInstance(algo, prov); +- } catch (NoSuchAlgorithmException|NoSuchPaddingException nsae) { ++ } catch (NoSuchAlgorithmException nsae) { ++ System.err.println("Skip unsupported Cipher algo: " + algo); ++ results[i] = true; ++ continue; ++ } catch (NoSuchPaddingException nsae) { + System.err.println("Skip unsupported Cipher algo: " + algo); + results[i] = true; + continue; +@@ -268,7 +275,15 @@ + } else { + c2 = Cipher.getInstance(algo, prov); + } +- } catch (NoSuchAlgorithmException|NoSuchPaddingException|NoSuchProviderException nsae) { ++ } catch (NoSuchAlgorithmException nsae) { ++ System.err.println("Skip unsupported Cipher algo: " + algo); ++ results[i] = true; ++ continue; ++ } catch (NoSuchPaddingException nsae) { ++ System.err.println("Skip unsupported Cipher algo: " + algo); ++ results[i] = true; ++ continue; ++ } catch (NoSuchProviderException nsae) { + System.err.println("Skip unsupported Cipher algo: " + algo); + results[i] = true; + continue; +@@ -299,7 +314,10 @@ + results[i] = true; + try { + c1 = Cipher.getInstance(algo, prov); +- } catch (NoSuchAlgorithmException|NoSuchPaddingException nsae) { ++ } catch (NoSuchAlgorithmException nsae) { ++ System.err.println("Skip unsupported Cipher algo: " + algo); ++ continue; ++ } catch (NoSuchPaddingException nsae) { + System.err.println("Skip unsupported Cipher algo: " + algo); + continue; + } +@@ -310,7 +328,13 @@ + } else { + c2 = Cipher.getInstance(algo, prov); + } +- } catch (NoSuchAlgorithmException|NoSuchPaddingException|NoSuchProviderException nsae) { ++ } catch (NoSuchAlgorithmException nsae) { ++ System.err.println("Skip unsupported Cipher algo: " + algo); ++ continue; ++ } catch (NoSuchPaddingException nsae) { ++ System.err.println("Skip unsupported Cipher algo: " + algo); ++ continue; ++ } catch (NoSuchProviderException nsae) { + System.err.println("Skip unsupported Cipher algo: " + algo); + continue; + } +@@ -411,7 +435,11 @@ + } else { + sig2 = Signature.getInstance(algo, prov); + } +- } catch (NoSuchAlgorithmException|NoSuchProviderException nsae) { ++ } catch (NoSuchAlgorithmException nsae) { ++ System.err.println("Skip unsupported interop Signature algo: " + algo); ++ results[i] = true; ++ continue; ++ } catch (NoSuchProviderException nsae) { + System.err.println("Skip unsupported interop Signature algo: " + algo); + results[i] = true; + continue; +@@ -445,7 +473,10 @@ + } else { + sig2 = Signature.getInstance(algo, prov); + } +- } catch (NoSuchAlgorithmException|NoSuchProviderException nsae) { ++ } catch (NoSuchAlgorithmException nsae) { ++ System.err.println("Skip unsupported Signature algo: " + algo); ++ continue; ++ } catch (NoSuchProviderException nsae) { + System.err.println("Skip unsupported Signature algo: " + algo); + continue; + } +@@ -494,7 +525,11 @@ + sig2.initSign(kp.getPrivate()); + sig2.update(data); + out2 = sig2.sign(); +- } catch (InvalidKeyException|SignatureException ex) { ++ } catch (InvalidKeyException ex) { ++ System.err.println("SIGN ERROR: unexpected exception " + ex); ++ ex.printStackTrace(); ++ testInit2 = false; ++ } catch (SignatureException ex) { + System.err.println("SIGN ERROR: unexpected exception " + ex); + ex.printStackTrace(); + testInit2 = false; From andrew at icedtea.classpath.org Wed May 9 08:47:50 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 09 May 2012 15:47:50 +0000 Subject: /hg/release/icedtea6-1.11: Add nss.cfg to j2re-image as well. Message-ID: changeset 1e8299b45e2b in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=1e8299b45e2b author: Andrew John Hughes date: Wed May 09 13:38:18 2012 +0100 Add nss.cfg to j2re-image as well. 2012-05-09 Andrew John Hughes * Makefile.am: (add-nss): Copy nss.cfg to j2re-image as well. (clean-add-nss): Remove nss.cfg from j2re-image. (add-nss-debug): Same as for add-nss. (clean-add-nss-debug): Same as for clean-add-nss. (add-nss-ecj): Same as for add-nss. (clean-add-nss-ecj): Same as for clean-add-nss. diffstat: ChangeLog | 10 ++++++++++ Makefile.am | 9 +++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) diffs (60 lines): diff -r 0568483b07ce -r 1e8299b45e2b ChangeLog --- a/ChangeLog Wed May 09 16:25:56 2012 +0100 +++ b/ChangeLog Wed May 09 13:38:18 2012 +0100 @@ -1,3 +1,13 @@ +2012-05-09 Andrew John Hughes + + * Makefile.am: + (add-nss): Copy nss.cfg to j2re-image as well. + (clean-add-nss): Remove nss.cfg from j2re-image. + (add-nss-debug): Same as for add-nss. + (clean-add-nss-debug): Same as for clean-add-nss. + (add-nss-ecj): Same as for add-nss. + (clean-add-nss-ecj): Same as for clean-add-nss. + 2012-03-16 Andrew John Hughes PR600, 886: diff -r 0568483b07ce -r 1e8299b45e2b Makefile.am --- a/Makefile.am Wed May 09 16:25:56 2012 +0100 +++ b/Makefile.am Wed May 09 13:38:18 2012 +0100 @@ -1586,19 +1586,25 @@ stamps/add-nss.stamp: stamps/icedtea.stamp cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib/security touch stamps/add-nss.stamp clean-add-nss: rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss.stamp stamps/add-nss-debug.stamp: stamps/icedtea-debug.stamp cp $(abs_top_builddir)/nss.cfg \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-debug.stamp clean-add-nss-debug: rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-debug.stamp stamps/add-tzdata-support.stamp: stamps/icedtea.stamp @@ -1703,10 +1709,13 @@ stamps/add-nss-ecj.stamp: stamps/icedtea-ecj.stamp cp $(abs_top_builddir)/nss.cfg \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-ecj.stamp clean-add-nss-ecj: rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp: stamps/icedtea-ecj.stamp From ddadacha at redhat.com Wed May 9 13:11:26 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 09 May 2012 16:11:26 -0400 Subject: [RFC][icedtea-web-1.2] Backport fix for PR898: signed applications with big jnlp-file doesn't start Message-ID: <4FAACF6E.4010306@redhat.com> Hi, I'd like to backport the fix for PR898 to 1.2. The reasons for the patch can be found in the original RFC thread[1], the same bug is in the release branch. $ /path/to/icedtea-web-1.2/bin/javaws http://www.sweethome3d.com/SweetHome3D.jnlp It will freeze at the splash screen. The hg export is attached, only changes are in location for NEWS and ChangeLog (and dates in ChangeLog). Is this okay to push to 1.2? Cheers, Danesh [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017867.html -------------- next part -------------- A non-text attachment was scrubbed... Name: pr898-export-1.2-01.patch Type: text/x-patch Size: 6388 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120509/49dcbaed/pr898-export-1.2-01.patch From andrew at icedtea.classpath.org Wed May 9 20:11:36 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 10 May 2012 03:11:36 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset fe14de44c8a8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fe14de44c8a8 author: Andrew John Hughes date: Wed May 09 23:31:43 2012 +0100 Allow builds where the memory limit of the VM needs to be increased to run javac. 2012-05-09 Andrew John Hughes * Makefile.am: (MEMORY_LIMIT): Always set this. * javac.in: Split out '-J' prefixed options and pass them to the VM rather than ecj. Filter out '-J-Xbootclasspath/p:', which makes no sense as there's nothing to prepend, and confuses the VM. changeset 6ae19889a9e0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6ae19889a9e0 author: Andrew John Hughes date: Thu May 10 04:11:15 2012 +0100 Backport patches from OpenJDK7 to improve NSS/PKCS11 provider. 2012-05-10 Andrew John Hughes * Makefile.am: Add new patches. * patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch, * patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch, * patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch, * patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch, * patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch, * patches/openjdk/p11cipher-6812738-native_cleanup.patch, * patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch, * patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch: Backports from 7 to improve P11Cipher. diffstat: ChangeLog | 24 + Makefile.am | 20 +- javac.in | 26 +- patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch | 1176 ++ patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch | 615 + patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch | 60 + patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch | 22 + patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch | 172 + patches/openjdk/p11cipher-6812738-native_cleanup.patch | 4849 ++++++++++ patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch | 328 + patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch | 102 + 11 files changed, 7376 insertions(+), 18 deletions(-) diffs (truncated from 7485 to 500 lines): diff -r 643fb6254e80 -r 6ae19889a9e0 ChangeLog --- a/ChangeLog Wed May 09 18:39:35 2012 +0200 +++ b/ChangeLog Thu May 10 04:11:15 2012 +0100 @@ -1,3 +1,27 @@ +2012-05-10 Andrew John Hughes + + * Makefile.am: Add new patches. + * patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch, + * patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch, + * patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch, + * patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch, + * patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch, + * patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch, + * patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch: + Backports from 7 to improve P11Cipher. + +2012-05-09 Andrew John Hughes + + * Makefile.am: + (MEMORY_LIMIT): Always set this. + * javac.in: + Split out '-J' prefixed options and pass them + to the VM rather than ecj. Filter out + '-J-Xbootclasspath/p:', which makes no sense + as there's nothing to prepend, and confuses + the VM. + 2012-05-09 Pavel Tisnovsky * patches/remove_multicatch_in_testrsa.patch: diff -r 643fb6254e80 -r 6ae19889a9e0 Makefile.am --- a/Makefile.am Wed May 09 18:39:35 2012 +0200 +++ b/Makefile.am Thu May 10 04:11:15 2012 +0100 @@ -89,6 +89,7 @@ $(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java # Flags +MEMORY_LIMIT = -J-Xmx1024m IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) IT_LANGUAGE_SOURCE_VERSION=6 @@ -120,15 +121,6 @@ PULSE_JAVA_CLEAN_TARGET = clean-pulse-java endif -# FIXME: This should not depend on bootstrapping -# but on whether MEMORY_LIMIT is accepted -# as an argument to javac -if BOOTSTRAPPING - MEMORY_LIMIT = -else - MEMORY_LIMIT = -J-Xmx1024m -endif - if ENABLE_CACAO ICEDTEA_BUILD_TARGET=jdk_only ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only @@ -429,7 +421,15 @@ patches/generalise_crypto_tests.patch \ patches/remove-gcm-test.patch \ patches/skip_wrap_mode.patch \ - patches/remove_multicatch_in_testrsa.patch + patches/remove_multicatch_in_testrsa.patch \ + patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch \ + patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch \ + patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch \ + patches/openjdk/p11cipher-6812738-native_cleanup.patch \ + patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch \ + patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch \ + patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch \ + patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 643fb6254e80 -r 6ae19889a9e0 javac.in --- a/javac.in Wed May 09 18:39:35 2012 +0200 +++ b/javac.in Thu May 10 04:11:15 2012 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; use constant NO_DUP_ARGS => qw(-source -target -d -encoding); -use constant STRIP_ARGS => qw(-Werror -implicit:none); +use constant STRIP_ARGS => qw(-Werror -implicit:none -J-Xbootclasspath/p:); my $ECJ_WARNINGS="-nowarn"; @@ -31,24 +31,34 @@ splice @new_args, $_, 1 for @indices; } - return @new_args; + return \@new_args; +} + +sub split_vm_args +{ + my @new_args = @{$_[0]}; + + my @vm_args = map { substr $_, 2 } grep $_ =~ /^-J/, @new_args; + my @javac_args = grep $_ !~ /^-J/, @new_args; + + return (\@vm_args, \@javac_args); } if ( -e "@abs_top_builddir@/native-ecj" ) { - my @ecj_args = gen_ecj_opts( \@ARGV ); - exec '@abs_top_builddir@/native-ecj', @ecj_parms, @ecj_args ; + my $ecj_args = gen_ecj_opts( \@ARGV ); + exec '@abs_top_builddir@/native-ecj', @ecj_parms, @$ecj_args ; } elsif ( -e "@ECJ_JAR@" ) { - my @ecj_args = gen_ecj_opts( \@ARGV ); + my ($vm_args, $javac_args) = split_vm_args (gen_ecj_opts( \@ARGV )); my @CLASSPATH = ('@ECJ_JAR@'); push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"}; $ENV{"CLASSPATH"} = join ':', @CLASSPATH; - exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args; + exec '@JAVA@', @$vm_args, 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @$javac_args; } else { - my @ecj_args = gen_ecj_opts( \@ARGV ); - exec '@ECJ@', @ecj_parms, @ecj_args ; + my $ecj_args = gen_ecj_opts( \@ARGV ); + exec '@ECJ@', @ecj_parms, @$ecj_args ; } diff -r 643fb6254e80 -r 6ae19889a9e0 patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch Thu May 10 04:11:15 2012 +0100 @@ -0,0 +1,1176 @@ +diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java openjdk/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java +--- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java 2011-11-14 22:12:05.000000000 +0000 ++++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java 2012-05-09 23:50:29.255993679 +0100 +@@ -22,10 +22,10 @@ + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +- + package sun.security.pkcs11; + + import java.nio.ByteBuffer; ++import java.util.Arrays; + + import java.security.*; + import java.security.spec.*; +@@ -34,7 +34,6 @@ + import javax.crypto.spec.*; + + import sun.nio.ch.DirectBuffer; +- + import sun.security.pkcs11.wrapper.*; + import static sun.security.pkcs11.wrapper.PKCS11Constants.*; + +@@ -43,8 +42,8 @@ + * DES, DESede, AES, ARCFOUR, and Blowfish. + * + * This class is designed to support ECB and CBC with NoPadding and +- * PKCS5Padding for both. However, currently only CBC/NoPadding (and +- * ECB/NoPadding for stream ciphers) is functional. ++ * PKCS5Padding for both. It will use its own padding impl if the ++ * native mechanism does not support padding. + * + * Note that PKCS#11 current only supports ECB and CBC. There are no + * provisions for other modes such as CFB, OFB, PCBC, or CTR mode. +@@ -62,10 +61,56 @@ + private final static int MODE_CBC = 4; + + // padding constant for NoPadding +- private final static int PAD_NONE = 5; ++ private final static int PAD_NONE = 5; + // padding constant for PKCS5Padding + private final static int PAD_PKCS5 = 6; + ++ private static interface Padding { ++ // ENC: format the specified buffer with padding bytes and return the ++ // actual padding length ++ int setPaddingBytes(byte[] paddingBuffer, int padLen); ++ ++ // DEC: return the length of trailing padding bytes given the specified ++ // padded data ++ int unpad(byte[] paddedData, int ofs, int len) ++ throws BadPaddingException; ++ } ++ ++ private static class PKCS5Padding implements Padding { ++ ++ private final int blockSize; ++ ++ PKCS5Padding(int blockSize) ++ throws NoSuchPaddingException { ++ if (blockSize == 0) { ++ throw new NoSuchPaddingException ++ ("PKCS#5 padding not supported with stream ciphers"); ++ } ++ this.blockSize = blockSize; ++ } ++ ++ public int setPaddingBytes(byte[] paddingBuffer, int padLen) { ++ Arrays.fill(paddingBuffer, 0, padLen, (byte) (padLen & 0x007f)); ++ return padLen; ++ } ++ ++ public int unpad(byte[] paddedData, int ofs, int len) ++ throws BadPaddingException { ++ byte padValue = paddedData[ofs + len - 1]; ++ if (padValue < 1 || padValue > blockSize) { ++ throw new BadPaddingException("Invalid pad value!"); ++ } ++ // sanity check padding bytes ++ int padStartIndex = ofs + len - padValue; ++ for (int i = padStartIndex; i < len; i++) { ++ if (paddedData[i] != padValue) { ++ throw new BadPaddingException("Invalid pad bytes!"); ++ } ++ } ++ return padValue; ++ } ++ } ++ + // token instance + private final Token token; + +@@ -99,64 +144,92 @@ + // padding type, on of PAD_* above (PAD_NONE for stream ciphers) + private int paddingType; + ++ // when the padding is requested but unsupported by the native mechanism, ++ // we use the following to do padding and necessary data buffering. ++ // padding object which generate padding and unpad the decrypted data ++ private Padding paddingObj; ++ // buffer for holding back the block which contains padding bytes ++ private byte[] padBuffer; ++ private int padBufferLen; ++ + // original IV, if in MODE_CBC + private byte[] iv; + +- // total number of bytes processed +- private int bytesProcessed; ++ // number of bytes buffered internally by the native mechanism and padBuffer ++ // if we do the padding ++ private int bytesBuffered; + + P11Cipher(Token token, String algorithm, long mechanism) +- throws PKCS11Exception { ++ throws PKCS11Exception, NoSuchAlgorithmException { + super(); + this.token = token; + this.algorithm = algorithm; + this.mechanism = mechanism; +- keyAlgorithm = algorithm.split("/")[0]; ++ ++ String algoParts[] = algorithm.split("/"); ++ keyAlgorithm = algoParts[0]; ++ + if (keyAlgorithm.equals("AES")) { + blockSize = 16; +- blockMode = MODE_CBC; +- // XXX change default to PKCS5Padding +- paddingType = PAD_NONE; +- } else if (keyAlgorithm.equals("RC4") || keyAlgorithm.equals("ARCFOUR")) { ++ } else if (keyAlgorithm.equals("RC4") || ++ keyAlgorithm.equals("ARCFOUR")) { + blockSize = 0; +- blockMode = MODE_ECB; +- paddingType = PAD_NONE; + } else { // DES, DESede, Blowfish + blockSize = 8; +- blockMode = MODE_CBC; +- // XXX change default to PKCS5Padding +- paddingType = PAD_NONE; ++ } ++ this.blockMode = ++ (algoParts.length > 1 ? parseMode(algoParts[1]) : MODE_ECB); ++ ++ String defPadding = (blockSize == 0 ? "NoPadding" : "PKCS5Padding"); ++ String paddingStr = ++ (algoParts.length > 2 ? algoParts[2] : defPadding); ++ try { ++ engineSetPadding(paddingStr); ++ } catch (NoSuchPaddingException nspe) { ++ // should not happen ++ throw new ProviderException(nspe); + } + } + + protected void engineSetMode(String mode) throws NoSuchAlgorithmException { ++ // Disallow change of mode for now since currently it's explicitly ++ // defined in transformation strings ++ throw new NoSuchAlgorithmException("Unsupported mode " + mode); ++ } ++ ++ private int parseMode(String mode) throws NoSuchAlgorithmException { + mode = mode.toUpperCase(); ++ int result; + if (mode.equals("ECB")) { +- this.blockMode = MODE_ECB; ++ result = MODE_ECB; + } else if (mode.equals("CBC")) { + if (blockSize == 0) { + throw new NoSuchAlgorithmException + ("CBC mode not supported with stream ciphers"); + } +- this.blockMode = MODE_CBC; ++ result = MODE_CBC; + } else { + throw new NoSuchAlgorithmException("Unsupported mode " + mode); + } ++ return result; + } + + // see JCE spec + protected void engineSetPadding(String padding) + throws NoSuchPaddingException { +- if (padding.equalsIgnoreCase("NoPadding")) { ++ paddingObj = null; ++ padBuffer = null; ++ padding = padding.toUpperCase(); ++ if (padding.equals("NOPADDING")) { + paddingType = PAD_NONE; +- } else if (padding.equalsIgnoreCase("PKCS5Padding")) { +- if (blockSize == 0) { +- throw new NoSuchPaddingException +- ("PKCS#5 padding not supported with stream ciphers"); +- } ++ } else if (padding.equals("PKCS5PADDING")) { + paddingType = PAD_PKCS5; +- // XXX PKCS#5 not yet implemented +- throw new NoSuchPaddingException("pkcs5"); ++ if (mechanism != CKM_DES_CBC_PAD && mechanism != CKM_DES3_CBC_PAD && ++ mechanism != CKM_AES_CBC_PAD) { ++ // no native padding support; use our own padding impl ++ paddingObj = new PKCS5Padding(blockSize); ++ padBuffer = new byte[blockSize]; ++ } + } else { + throw new NoSuchPaddingException("Unsupported padding " + padding); + } +@@ -174,7 +246,7 @@ + + // see JCE spec + protected byte[] engineGetIV() { +- return (iv == null) ? null : (byte[])iv.clone(); ++ return (iv == null) ? null : (byte[]) iv.clone(); + } + + // see JCE spec +@@ -184,8 +256,9 @@ + } + IvParameterSpec ivSpec = new IvParameterSpec(iv); + try { +- AlgorithmParameters params = AlgorithmParameters.getInstance +- (keyAlgorithm, P11Util.getSunJceProvider()); ++ AlgorithmParameters params = ++ AlgorithmParameters.getInstance(keyAlgorithm, ++ P11Util.getSunJceProvider()); + params.init(ivSpec); + return params; + } catch (GeneralSecurityException e) { +@@ -209,38 +282,38 @@ + protected void engineInit(int opmode, Key key, + AlgorithmParameterSpec params, SecureRandom random) + throws InvalidKeyException, InvalidAlgorithmParameterException { +- byte[] iv; ++ byte[] ivValue; + if (params != null) { + if (params instanceof IvParameterSpec == false) { + throw new InvalidAlgorithmParameterException + ("Only IvParameterSpec supported"); + } +- IvParameterSpec ivSpec = (IvParameterSpec)params; +- iv = ivSpec.getIV(); ++ IvParameterSpec ivSpec = (IvParameterSpec) params; ++ ivValue = ivSpec.getIV(); + } else { +- iv = null; ++ ivValue = null; + } +- implInit(opmode, key, iv, random); ++ implInit(opmode, key, ivValue, random); + } + + // see JCE spec + protected void engineInit(int opmode, Key key, AlgorithmParameters params, + SecureRandom random) + throws InvalidKeyException, InvalidAlgorithmParameterException { +- byte[] iv; ++ byte[] ivValue; + if (params != null) { + try { + IvParameterSpec ivSpec = (IvParameterSpec) + params.getParameterSpec(IvParameterSpec.class); +- iv = ivSpec.getIV(); ++ ivValue = ivSpec.getIV(); + } catch (InvalidParameterSpecException e) { + throw new InvalidAlgorithmParameterException + ("Could not decode IV", e); + } + } else { +- iv = null; ++ ivValue = null; + } +- implInit(opmode, key, iv, random); ++ implInit(opmode, key, ivValue, random); + } + + // actual init() implementation +@@ -249,31 +322,31 @@ + throws InvalidKeyException, InvalidAlgorithmParameterException { + cancelOperation(); + switch (opmode) { +- case Cipher.ENCRYPT_MODE: +- encrypt = true; +- break; +- case Cipher.DECRYPT_MODE: +- encrypt = false; +- break; +- default: +- throw new InvalidAlgorithmParameterException +- ("Unsupported mode: " + opmode); ++ case Cipher.ENCRYPT_MODE: ++ encrypt = true; ++ break; ++ case Cipher.DECRYPT_MODE: ++ encrypt = false; ++ break; ++ default: ++ throw new InvalidAlgorithmParameterException ++ ("Unsupported mode: " + opmode); + } + if (blockMode == MODE_ECB) { // ECB or stream cipher + if (iv != null) { + if (blockSize == 0) { + throw new InvalidAlgorithmParameterException +- ("IV not used with stream ciphers"); ++ ("IV not used with stream ciphers"); + } else { + throw new InvalidAlgorithmParameterException +- ("IV not used in ECB mode"); ++ ("IV not used in ECB mode"); + } + } + } else { // MODE_CBC + if (iv == null) { + if (encrypt == false) { + throw new InvalidAlgorithmParameterException +- ("IV must be specified for decryption in CBC mode"); ++ ("IV must be specified for decryption in CBC mode"); + } + // generate random IV + if (random == null) { +@@ -284,7 +357,7 @@ + } else { + if (iv.length != blockSize) { + throw new InvalidAlgorithmParameterException +- ("IV length must match block size"); ++ ("IV length must match block size"); + } + } + } +@@ -330,63 +403,43 @@ + session = token.getOpSession(); + } + if (encrypt) { +- token.p11.C_EncryptInit +- (session.id(), new CK_MECHANISM(mechanism, iv), p11Key.keyID); ++ token.p11.C_EncryptInit(session.id(), ++ new CK_MECHANISM(mechanism, iv), p11Key.keyID); + } else { +- token.p11.C_DecryptInit +- (session.id(), new CK_MECHANISM(mechanism, iv), p11Key.keyID); ++ token.p11.C_DecryptInit(session.id(), ++ new CK_MECHANISM(mechanism, iv), p11Key.keyID); + } +- bytesProcessed = 0; ++ bytesBuffered = 0; ++ padBufferLen = 0; + initialized = true; + } + +- // XXX the calculations below assume the PKCS#11 implementation is smart. +- // conceivably, not all implementations are and we may need to estimate +- // more conservatively +- +- private int bytesBuffered(int totalLen) { +- if (paddingType == PAD_NONE) { +- // with NoPadding, buffer only the current unfinished block +- return totalLen & (blockSize - 1); +- } else { // PKCS5 +- // with PKCS5Padding in decrypt mode, the buffer must never +- // be empty. Buffer a full block instead of nothing. +- int buffered = totalLen & (blockSize - 1); +- if ((buffered == 0) && (encrypt == false)) { +- buffered = blockSize; +- } +- return buffered; +- } From jvanek at redhat.com Thu May 10 01:45:23 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 10 May 2012 10:45:23 +0200 Subject: [RFC][icedtea-web-1.2] Backport fix for PR898: signed applications with big jnlp-file doesn't start In-Reply-To: <4FAACF6E.4010306@redhat.com> References: <4FAACF6E.4010306@redhat.com> Message-ID: <4FAB8023.6040601@redhat.com> On 05/09/2012 10:11 PM, Danesh Dadachanji wrote: > Hi, > > I'd like to backport the fix for PR898 to 1.2. The reasons for the patch can be found in the > original RFC thread[1], the same bug is in the release branch. > > $ /path/to/icedtea-web-1.2/bin/javaws http://www.sweethome3d.com/SweetHome3D.jnlp > > It will freeze at the splash screen. > > The hg export is attached, only changes are in location for NEWS and ChangeLog (and dates in > ChangeLog). > > Is this okay to push to 1.2? > > Cheers, > Danesh > > [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017867.html > Hi, from my point of view this ackport is ok. It does no harm in head, encoding problem is appearing no metter if this patch is in. Feel free to push. J. From ptisnovs at icedtea.classpath.org Thu May 10 03:06:02 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 10 May 2012 10:06:02 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/framework/GfxTest.java: Message-ID: changeset bb8cea44ceaf in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=bb8cea44ceaf author: Pavel Tisnovsky date: Thu May 10 12:08:40 2012 +0200 * src/org/gfxtest/framework/GfxTest.java: Improved JavaDoc and fixed issue with logging. * src/org/gfxtest/framework/GrayscalePalette.java: Added class common for all print test. * src/org/gfxtest/framework/PrintTest.java: This abstract class is an ancestor of all print tests. * src/org/gfxtest/testsuites/PrintTestArcs.java: * src/org/gfxtest/testsuites/PrintTestBasic.java: * src/org/gfxtest/testsuites/PrintTestBitBlt.java: * src/org/gfxtest/testsuites/PrintTestCircles.java: * src/org/gfxtest/testsuites/PrintTestCubicCurves.java: * src/org/gfxtest/testsuites/PrintTestDrawText.java: * src/org/gfxtest/testsuites/PrintTestLines.java: * src/org/gfxtest/testsuites/PrintTestPaths.java: * src/org/gfxtest/testsuites/PrintTestPolylines.java: * src/org/gfxtest/testsuites/PrintTestQuadraticCurves.java: Changed hierarchy of all print tests. diffstat: ChangeLog | 20 ++++ src/org/gfxtest/framework/GfxTest.java | 34 ++++++- src/org/gfxtest/framework/GrayscalePalette.java | 69 ++++++++++++++ src/org/gfxtest/framework/PrintTest.java | 77 ++++++++++++++++ src/org/gfxtest/testsuites/PrintTestArcs.java | 4 +- src/org/gfxtest/testsuites/PrintTestBasic.java | 15 +- src/org/gfxtest/testsuites/PrintTestBitBlt.java | 4 +- src/org/gfxtest/testsuites/PrintTestCircles.java | 14 ++- src/org/gfxtest/testsuites/PrintTestCubicCurves.java | 4 +- src/org/gfxtest/testsuites/PrintTestDrawText.java | 4 +- src/org/gfxtest/testsuites/PrintTestLines.java | 41 ++----- src/org/gfxtest/testsuites/PrintTestPaths.java | 4 +- src/org/gfxtest/testsuites/PrintTestPolylines.java | 4 +- src/org/gfxtest/testsuites/PrintTestQuadraticCurves.java | 4 +- 14 files changed, 240 insertions(+), 58 deletions(-) diffs (truncated from 571 to 500 lines): diff -r 19fa0d60ad2d -r bb8cea44ceaf ChangeLog --- a/ChangeLog Wed May 09 11:11:42 2012 +0200 +++ b/ChangeLog Thu May 10 12:08:40 2012 +0200 @@ -1,3 +1,23 @@ +2012-05-10 Pavel Tisnovsky + + * src/org/gfxtest/framework/GfxTest.java: + Improved JavaDoc and fixed issue with logging. + * src/org/gfxtest/framework/GrayscalePalette.java: + Added class common for all print test. + * src/org/gfxtest/framework/PrintTest.java: + This abstract class is an ancestor of all print tests. + * src/org/gfxtest/testsuites/PrintTestArcs.java: + * src/org/gfxtest/testsuites/PrintTestBasic.java: + * src/org/gfxtest/testsuites/PrintTestBitBlt.java: + * src/org/gfxtest/testsuites/PrintTestCircles.java: + * src/org/gfxtest/testsuites/PrintTestCubicCurves.java: + * src/org/gfxtest/testsuites/PrintTestDrawText.java: + * src/org/gfxtest/testsuites/PrintTestLines.java: + * src/org/gfxtest/testsuites/PrintTestPaths.java: + * src/org/gfxtest/testsuites/PrintTestPolylines.java: + * src/org/gfxtest/testsuites/PrintTestQuadraticCurves.java: + Changed hierarchy of all print tests. + 2012-05-09 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestLines.java: diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/framework/GfxTest.java --- a/src/org/gfxtest/framework/GfxTest.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/framework/GfxTest.java Thu May 10 12:08:40 2012 +0200 @@ -79,6 +79,10 @@ */ public abstract class GfxTest { + /** + * Simple logger that writes everything out to standard output and can use + * color codes for ANSI-compatible terminals. + */ protected Log log = null; /** @@ -187,9 +191,11 @@ /** * Write test suite duration to the log file. - * - * @param t1 time when the test suite has been started - * @param t2 time when the test suite was completed + * + * @param t1 + * time when the test suite has been started + * @param t2 + * time when the test suite was completed */ private void printDuration(long t1, long t2) { @@ -441,6 +447,17 @@ this.log.logSet("arc height", entityRenderingStyle.getArcHeight()); } + /** + * Run test configured to use bitmap or postscript file as its output. + * + * @param testType + * type of test - either RENDER_TEST or PRINT_TEST should be used + * at this moment + * @param configuration + * configuration set by gfx-test harness for each test suite + * @param method + * test method + */ private void tryToInvokeTestMethod(TestType testType, GfxTestConfiguration configuration, Method method) { String methodName = method.getName(); @@ -456,15 +473,19 @@ tryToRunPrintTest(configuration, method, methodName); break; } + this.log.logEnd(methodName); } } /** * Run test configured to use bitmap as its output. - * + * * @param configuration + * configuration set by gfx-test harness for each test suite * @param method + * test method * @param methodName + * name of test method */ private void tryToRunRenderTest(GfxTestConfiguration configuration, Method method, String methodName) { @@ -499,10 +520,13 @@ /** * Run test configured to use printer as its output. - * + * * @param configuration + * configuration set by gfx-test harness for each test suite * @param method + * test method * @param methodName + * name of test method */ private void tryToRunPrintTest(GfxTestConfiguration configuration, Method method, String methodName) { diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/framework/GrayscalePalette.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/GrayscalePalette.java Thu May 10 12:08:40 2012 +0200 @@ -0,0 +1,69 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework; + + + +import java.awt.Color; + + + +/** + * Grayscale palette used by various tests. + * + * @author Pavel Tisnovsky + */ +public class GrayscalePalette +{ + + /** + * Return grayscale color. + * + * @param gray + * value of r,g,b components + * @return + */ + public static Color createGrayscaleColor(float gray) + { + return new Color(gray, gray, gray); + } + +} diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/framework/PrintTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/PrintTest.java Thu May 10 12:08:40 2012 +0200 @@ -0,0 +1,77 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package org.gfxtest.framework; + + + +/** + * Abstract class used by all print tests. + * + * @author Pavel Tisnovsky + */ +abstract public class PrintTest extends GfxTest +{ + /** + * Maximum width of line rendered onto a paper. + */ + protected static final float MAX_STROKE_WIDTH = 15.0f; + + /** + * Border around the test picture. + */ + protected static final int BORDER = 10; + + /** + * Offset between two circles. + */ + protected static final int CIRCLE_RADIUS_STEP = 10; + + /** + * Horizontal distance between two lines. + */ + protected static final int HOR_STEP = 10; + + /** + * Vertical distance between two lines. + */ + protected static final int VER_STEP = 10; + +} diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestArcs.java --- a/src/org/gfxtest/testsuites/PrintTestArcs.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestArcs.java Thu May 10 12:08:40 2012 +0200 @@ -40,7 +40,7 @@ package org.gfxtest.testsuites; -import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.PrintTest; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -63,7 +63,7 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestArcs extends GfxTest +public class PrintTestArcs extends PrintTest { /** diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestBasic.java --- a/src/org/gfxtest/testsuites/PrintTestBasic.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestBasic.java Thu May 10 12:08:40 2012 +0200 @@ -45,7 +45,7 @@ -import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.PrintTest; import org.gfxtest.framework.TestImage; import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.GraphicsPrimitive; @@ -70,12 +70,9 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestBasic extends GfxTest +public class PrintTestBasic extends PrintTest { - private static final int HOR_STEP = 10; - private static final int VER_STEP = 10; - /** * Test basic behavior of method Graphics.drawLine(). * @@ -133,8 +130,8 @@ graphics.setColor(Color.BLACK); // image width and height - int width = image.getWidth(); - int height = image.getHeight(); + final int width = image.getWidth(); + final int height = image.getHeight(); // horizontal coordinates of line endpoints int x1 = 0; @@ -168,8 +165,8 @@ graphics.setColor(Color.BLACK); // image width and height - int width = image.getWidth(); - int height = image.getHeight(); + final int width = image.getWidth(); + final int height = image.getHeight(); // vertical coordinates of line endpoints int y1 = 0; diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestBitBlt.java --- a/src/org/gfxtest/testsuites/PrintTestBitBlt.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestBitBlt.java Thu May 10 12:08:40 2012 +0200 @@ -40,7 +40,7 @@ package org.gfxtest.testsuites; -import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.PrintTest; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -63,7 +63,7 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestBitBlt extends GfxTest +public class PrintTestBitBlt extends PrintTest { /** diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestCircles.java --- a/src/org/gfxtest/testsuites/PrintTestCircles.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestCircles.java Thu May 10 12:08:40 2012 +0200 @@ -40,7 +40,17 @@ package org.gfxtest.testsuites; -import org.gfxtest.framework.GfxTest; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; + + + +import org.gfxtest.framework.ColorPalette; +import org.gfxtest.framework.GrayscalePalette; +import org.gfxtest.framework.PrintTest; +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -63,7 +73,7 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestCircles extends GfxTest +public class PrintTestCircles extends PrintTest { /** diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestCubicCurves.java --- a/src/org/gfxtest/testsuites/PrintTestCubicCurves.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestCubicCurves.java Thu May 10 12:08:40 2012 +0200 @@ -40,7 +40,7 @@ package org.gfxtest.testsuites; -import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.PrintTest; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -61,7 +61,7 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestCubicCurves extends GfxTest +public class PrintTestCubicCurves extends PrintTest { /** diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestDrawText.java --- a/src/org/gfxtest/testsuites/PrintTestDrawText.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestDrawText.java Thu May 10 12:08:40 2012 +0200 @@ -40,7 +40,7 @@ package org.gfxtest.testsuites; -import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.PrintTest; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -63,7 +63,7 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestDrawText extends GfxTest +public class PrintTestDrawText extends PrintTest { /** diff -r 19fa0d60ad2d -r bb8cea44ceaf src/org/gfxtest/testsuites/PrintTestLines.java --- a/src/org/gfxtest/testsuites/PrintTestLines.java Wed May 09 11:11:42 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestLines.java Thu May 10 12:08:40 2012 +0200 @@ -47,7 +47,8 @@ import org.gfxtest.framework.ColorPalette; -import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.GrayscalePalette; +import org.gfxtest.framework.PrintTest; import org.gfxtest.framework.TestImage; import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.GraphicsPrimitive; @@ -72,33 +73,13 @@ @RenderStyle(RenderStyles.NORMAL) @Transformation(Transformations.NONE) @Zoom(1) -public class PrintTestLines extends GfxTest +public class PrintTestLines extends PrintTest { /** - * Maximum width of line rendered onto a paper. - */ - private static final float MAX_STROKE_WIDTH = 15.0f; - - /** - * Border around the test picture. - */ - private static final int BORDER = 10; - - /** - * Horizontal distance between two lines. - */ - private static final int HOR_STEP = 10; - - /** - * Vertical distance between two lines. - */ - private static final int VER_STEP = 10; - - /** - * Test basic behavior of method Graphics.drawLine(). - * Horizontal lines are rendered with default width and default end caps. - * Color of all rendered lines are set to black. - * + * Test basic behavior of method Graphics.drawLine(). Horizontal lines are + * rendered with default width and default end caps. Color of all rendered + * lines are set to black. + * * @param image * image to which lines are to be drawn * @param graphics2d @@ -197,7 +178,8 @@ for (int y = 0; y < height; y += VER_STEP) { float gray = y * 1.0f / height; - graphics.setColor(new Color(gray, gray, gray)); + // set line color + graphics.setColor(GrayscalePalette.createGrayscaleColor(gray)); // render the line graphics.drawLine(x1, y, x2, y); } @@ -229,6 +211,8 @@ // horizontal coordinates of line endpoints final int x1 = BORDER; final int x2 = width - BORDER; + + // stroke width float strokeWidth = 0.0f; // draw all lines onto a paper @@ -461,7 +445,8 @@ for (int x = 0; x < width; x += HOR_STEP) From ahughes at redhat.com Thu May 10 06:53:15 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 10 May 2012 14:53:15 +0100 Subject: [1.10, 1.11] Patch Approvals Message-ID: <20120510135315.GA17937@rivendell.middle-earth.co.uk> Hi all, I need a few more patch approvals to get the delayed 1.10.7 and 1.11.2 releases out of the door. Both 1.10 & 1.11 need this simple patch: diff --git a/acinclude.m4 b/acinclude.m4 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1349,7 +1349,7 @@ } }] EOF - if $JAVAC -cp . $JAVACFLAGS -source 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_dtdtype=no; else which is already part of a larger patch on HEAD, so that the jaxws dtdtype patch doesn't return a false positive when run with OpenJDK7 (javac will produce 1.7 bytecode as there is no target option, and then java can't run it, causing a failure). 1.10 also needs the following: 1. The dtdtype patch recreated so it still applies (simple regeneration against current source) 2. Backport of changeset: 2713:737f39dbb69f user: Omair Majid date: Wed Oct 26 19:28:49 2011 -0400 summary: S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc 3. Backport of changeset: 2805:ddca483b3ed9 user: Deepak Bhole date: Mon Jan 30 18:26:56 2012 -0500 summary: Fixed build with GCC 4.7 to keep it building with modern dependencies. I've checked and all patches apply and build fine to both hs20 and the default hs19 HotSpot in 1.10. Can I have approval to get these in? Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120510/98a35d38/attachment.bin From ptisnovs at redhat.com Thu May 10 07:22:09 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 10 May 2012 16:22:09 +0200 Subject: [1.10, 1.11] Patch Approvals In-Reply-To: <20120510135315.GA17937@rivendell.middle-earth.co.uk> References: <20120510135315.GA17937@rivendell.middle-earth.co.uk> Message-ID: <4FABCF11.4080604@redhat.com> Dr Andrew John Hughes wrote: > Hi all, > > I need a few more patch approvals to get the delayed 1.10.7 and > 1.11.2 releases out of the door. > > Both 1.10 & 1.11 need this simple patch: > > diff --git a/acinclude.m4 b/acinclude.m4 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -1349,7 +1349,7 @@ > } > }] > EOF > - if $JAVAC -cp . $JAVACFLAGS -source 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then > + if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then > if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then > it_cv_dtdtype=no; > else > > which is already part of a larger patch on HEAD, so that the jaxws dtdtype patch > doesn't return a false positive when run with OpenJDK7 (javac will produce 1.7 bytecode > as there is no target option, and then java can't run it, causing a failure). > > 1.10 also needs the following: > > 1. The dtdtype patch recreated so it still applies (simple regeneration against current source) > 2. Backport of > > changeset: 2713:737f39dbb69f > user: Omair Majid > date: Wed Oct 26 19:28:49 2011 -0400 > summary: S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc > > 3. Backport of > > changeset: 2805:ddca483b3ed9 > user: Deepak Bhole > date: Mon Jan 30 18:26:56 2012 -0500 > summary: Fixed build with GCC 4.7 > > to keep it building with modern dependencies. I've checked and all patches apply > and build fine to both hs20 and the default hs19 HotSpot in 1.10. > > Can I have approval to get these in? > > Thanks, Hi Andrew, I think it's ok to backport these patches to 1.10 and 1.11, including change in acinclude.m4. Thanks Pavel From ddadacha at icedtea.classpath.org Thu May 10 08:09:23 2012 From: ddadacha at icedtea.classpath.org (ddadacha at icedtea.classpath.org) Date: Thu, 10 May 2012 15:09:23 +0000 Subject: /hg/release/icedtea-web-1.2: PR898: signed applications with big... Message-ID: changeset dde230f3536a in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=dde230f3536a author: Omair Majid date: Wed May 09 16:09:00 2012 -0400 PR898: signed applications with big jnlp-file doesn't start diffstat: ChangeLog | 11 ++++ NEWS | 2 + netx/net/sourceforge/jnlp/JNLPMatcher.java | 25 +++----- tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java | 39 +++++++++++++- 4 files changed, 59 insertions(+), 18 deletions(-) diffs (161 lines): diff -r 79b3ded39c1f -r dde230f3536a ChangeLog --- a/ChangeLog Thu Apr 05 12:52:17 2012 +0200 +++ b/ChangeLog Wed May 09 16:09:00 2012 -0400 @@ -1,3 +1,14 @@ +2012-05-09 Omair Majid + + * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java + (testIsMatchDoesNotHangOnLargeData): New method. + +2012-05-09 Lars Herschke + + PR898: signed applications with big jnlp-file doesn't start + * netx/net/sourceforge/jnlp/JNLPMatcher.java (JNLPMatcher): Handle large + files correctly. + 2012-04-05 Jiri Vanek Fixing issue when process was not launched at all and when was killed but diff -r 79b3ded39c1f -r dde230f3536a NEWS --- a/NEWS Thu Apr 05 12:52:17 2012 +0200 +++ b/NEWS Wed May 09 16:09:00 2012 -0400 @@ -9,6 +9,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.2.1 (2012-XX-XX): +* NetX + - PR898: signed applications with big jnlp-file doesn't start (webstart affect like "frozen") * Plugin - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass diff -r 79b3ded39c1f -r dde230f3536a netx/net/sourceforge/jnlp/JNLPMatcher.java --- a/netx/net/sourceforge/jnlp/JNLPMatcher.java Thu Apr 05 12:52:17 2012 +0200 +++ b/netx/net/sourceforge/jnlp/JNLPMatcher.java Wed May 09 16:09:00 2012 -0400 @@ -38,11 +38,12 @@ package net.sourceforge.jnlp; import java.util.List; +import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; +import java.io.Reader; +import java.io.StringReader; import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; @@ -75,7 +76,7 @@ * if IOException, XMLParseException is thrown during parsing; * Or launchJNLP/appTemplate is null */ - public JNLPMatcher(InputStreamReader appTemplate, InputStreamReader launchJNLP, + public JNLPMatcher(Reader appTemplate, Reader launchJNLP, boolean isTemplate) throws JNLPMatcherException { if (appTemplate == null && launchJNLP == null) @@ -87,29 +88,25 @@ throw new JNLPMatcherException("Launching JNLP file is null."); //Declare variables for signed JNLP file - PipedInputStream pinTemplate= null; - PipedOutputStream poutTemplate= null; + ByteArrayOutputStream poutTemplate= null; //Declare variables for launching JNLP file - PipedInputStream pinJNLPFile = null; - PipedOutputStream poutJNLPFile = null; + ByteArrayOutputStream poutJNLPFile = null; try { XMLElement appTemplateXML = new XMLElement(); XMLElement launchJNLPXML = new XMLElement(); // Remove the comments and CDATA from the JNLP file - pinTemplate = new PipedInputStream(); - poutTemplate = new PipedOutputStream(pinTemplate); + poutTemplate = new ByteArrayOutputStream(); appTemplateXML.sanitizeInput(appTemplate, poutTemplate); - pinJNLPFile = new PipedInputStream(); - poutJNLPFile = new PipedOutputStream(pinJNLPFile); + poutJNLPFile = new ByteArrayOutputStream(); launchJNLPXML.sanitizeInput(launchJNLP, poutJNLPFile); // Parse both files - appTemplateXML.parseFromReader(new InputStreamReader(pinTemplate)); - launchJNLPXML.parseFromReader(new InputStreamReader(pinJNLPFile)); + appTemplateXML.parseFromReader(new StringReader(poutTemplate.toString())); + launchJNLPXML.parseFromReader(new StringReader(poutJNLPFile.toString())); // Initialize parent nodes this.appTemplateNode = new Node(appTemplateXML); @@ -122,10 +119,8 @@ e); } finally { // Close all stream - closeInputStream(pinTemplate); closeOutputStream(poutTemplate); - closeInputStream(pinJNLPFile); closeOutputStream(poutJNLPFile); } diff -r 79b3ded39c1f -r dde230f3536a tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java Thu Apr 05 12:52:17 2012 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java Wed May 09 16:09:00 2012 -0400 @@ -37,12 +37,13 @@ package net.sourceforge.jnlp; -import static org.junit.Assert.fail; - import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import junit.framework.Assert; +import java.io.StringReader; +import java.util.Random; + +import org.junit.Assert; import org.junit.Test; public class JNLPMatcherTest { @@ -461,4 +462,36 @@ fileReader.close(); launchReader.close(); } + + @Test (timeout=1000 /*ms*/) + public void testIsMatchDoesNotHangOnLargeData() throws JNLPMatcherException { + /* construct an alphabet containing characters 'a' to 'z' */ + final int ALPHABET_SIZE = 26; + char[] alphabet = new char[ALPHABET_SIZE]; + for (int i = 0; i < ALPHABET_SIZE; i++) { + alphabet[i] = (char)('a' + i); + } + /* generate a long but random string using the alphabet */ + final Random r = new Random(); + final int STRING_SIZE = 1024 * 1024; // 1 MB + StringBuilder descriptionBuilder = new StringBuilder(STRING_SIZE); + for (int i = 0; i < STRING_SIZE; i++) { + descriptionBuilder.append(alphabet[r.nextInt(ALPHABET_SIZE)]); + } + String longDescription = descriptionBuilder.toString(); + + String file = + "\n" + + " \n" + + " JNLPMatcher hanges on large file size\n" + + " IcedTea\n" + + " " + longDescription + "\n" + + " \n" + + "\n"; + + StringReader reader1 = new StringReader(file); + StringReader reader2 = new StringReader(file); + JNLPMatcher matcher = new JNLPMatcher(reader1, reader2, false); + Assert.assertTrue(matcher.isMatch()); + } } From bugzilla-daemon at icedtea.classpath.org Thu May 10 08:09:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 10 May 2012 15:09:29 +0000 Subject: [Bug 898] signed applications with big jnlp-file doesn't start (webstart affect like "frozen") In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=898 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea-web-1.2?cmd=changeset;node=dde230f3536a author: Omair Majid date: Wed May 09 16:09:00 2012 -0400 PR898: signed applications with big jnlp-file doesn't start -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120510/4278746c/attachment.html From ddadacha at redhat.com Thu May 10 08:10:29 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 10 May 2012 11:10:29 -0400 Subject: [RFC][icedtea-web-1.2] Backport fix for PR898: signed applications with big jnlp-file doesn't start In-Reply-To: <4FAB8023.6040601@redhat.com> References: <4FAACF6E.4010306@redhat.com> <4FAB8023.6040601@redhat.com> Message-ID: <4FABDA65.8080107@redhat.com> On 10/05/12 04:45 AM, Jiri Vanek wrote: > On 05/09/2012 10:11 PM, Danesh Dadachanji wrote: >> Hi, >> >> I'd like to backport the fix for PR898 to 1.2. The reasons for the patch can be found in the >> original RFC thread[1], the same bug is in the release branch. >> >> $ /path/to/icedtea-web-1.2/bin/javaws http://www.sweethome3d.com/SweetHome3D.jnlp >> >> It will freeze at the splash screen. >> >> The hg export is attached, only changes are in location for NEWS and ChangeLog (and dates in >> ChangeLog). >> >> Is this okay to push to 1.2? >> >> Cheers, >> Danesh >> >> [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017867.html >> > > Hi, from my point of view this ackport is ok. It does no harm in head, encoding problem is appearing no metter if this patch is in. > > Feel free to push. Thanks for the review! Pushed here (under Omair's name): http://icedtea.classpath.org/hg/release/icedtea-web-1.2/rev/dde230f3536a Cheers, Danesh From omajid at redhat.com Thu May 10 10:09:02 2012 From: omajid at redhat.com (Omair Majid) Date: Thu, 10 May 2012 13:09:02 -0400 Subject: [1.10, 1.11] Patch Approvals In-Reply-To: <20120510135315.GA17937@rivendell.middle-earth.co.uk> References: <20120510135315.GA17937@rivendell.middle-earth.co.uk> Message-ID: <4FABF62E.90504@redhat.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Andrew, On 05/10/2012 09:53 AM, Dr Andrew John Hughes wrote: > I need a few more patch approvals to get the delayed 1.10.7 and > 1.11.2 releases out of the door. As the 'official' maintainer of 1.11 (even though others have been doing a better job than me) I feel that this should have been my responsibility. So thanks for taking care of it (less work for me, yay!). That said, if you don't have enough time or find it not-sufficiently-interesting or run into any other issues please let me know and I will be happy to do the release. > Can I have approval to get these in? All of these make sense to me. Actual patches to review would have been nicer, though ;) Thanks, Omair -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBAgAGBQJPq/YuAAoJEPKG8U9mSEaBHuAQAJRqkghsXXb/Jw5aV2QtCcF4 NjiTMg57nrRTEDBo3YY21n7GZ4GSoGkib9LtlH5iQkGMJGqafSK5f5i/Qenzmt3o YVcsYftDnfAsxQ+qgMlwCHV3gyZBCW+k3bj03exxMXqPU2zA3zhUB9+XbXaju6xw RiUazs4osXoZ/Fx5zoJkG5XvTM6JX7XXF8BSAer9RIhg5OOlARURxz9jNRN4RAdd 8+mowP7r1vPCTAWxggmQS+1qxPkhsED9ejyH5zQKVSlwx4i+ArNtoyQthzjwBeK+ 8e8Z1gymr+S9Zkd2Z3ML6wkAbC/vlzOFt21RC4aQFI0QEnxS1sN+wz2H8hsH8o5p UIs2fH/OpY78g1k1LmlfJIxs1rCdkaIR+Snf4AUduGB1xG7v/WFr6T0plW2cMe0s Lov6aDgOIQj/R0xfl0PYnEqDzBH65h2cZofz5AjUeJu/lU+lKy/PWJdEbN9XMKmo ipGcB80Z2rUuQLFIOP3kua3rniqaDdUK/b9lmnxNkZZUI139soqGBlGx8s9a3MjM LUzDO8mdRN2ehFmwaJhD8FFzMGqYRZRUUITL/1Vt+eN7Vdb2Jt+Gcg8l/oNv8DvE NG6enOn6YKAR7vNd28UCHuMi9fzspuIlSOvPwEL1A18FpvJz0TRcMyk7s9ELip3f SVNXtXd7qOty30r8kXUF =iaIJ -----END PGP SIGNATURE----- From bugzilla-daemon at icedtea.classpath.org Thu May 10 11:37:43 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 10 May 2012 18:37:43 +0000 Subject: [Bug 980] New: JVM crashed druing development in NetBeans on Fedora Core 16 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=980 Priority: P3 Bug ID: 980 Assignee: unassigned at icedtea.classpath.org Summary: JVM crashed druing development in NetBeans on Fedora Core 16 Severity: normal Classification: Unclassified OS: Linux Reporter: a.zilinux at gmail.com Hardware: x86 Status: NEW Version: 6-1.11.1 Component: IcedTea Product: IcedTea Created attachment 688 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=688&action=edit Glassfish 3.1 server log. During a Java EE 6 project development in NetBeans 7.1 the JVM crashed. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120510/94c121e9/attachment.html From ahughes at redhat.com Thu May 10 14:57:37 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Thu, 10 May 2012 17:57:37 -0400 (EDT) Subject: [1.10, 1.11] Patch Approvals In-Reply-To: <4FABF62E.90504@redhat.com> Message-ID: <49ee4478-964e-4d13-8788-f4f79668f67a@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi Andrew, > > On 05/10/2012 09:53 AM, Dr Andrew John Hughes wrote: > > I need a few more patch approvals to get the delayed 1.10.7 and > > 1.11.2 releases out of the door. > > As the 'official' maintainer of 1.11 (even though others have been > doing a better job than me) I feel that this should have been my > responsibility. So thanks for taking care of it (less work for me, > yay!). That said, if you don't have enough time or find it > not-sufficiently-interesting or run into any other issues please let > me know and I will be happy to do the release. > To be honest, I'm so used to just doing all of them, I didn't even consider it :-S As I'm doing 1.10 anyway (which is the most work of the two), there didn't seem any reason to not just do 1.11 as well. > > Can I have approval to get these in? > > All of these make sense to me. Actual patches to review would have > been nicer, though ;) > Thanks! Well I did post the 1.11 one inline (it really is that tiny). The others are just hg imports with no changes, and I didn't have time to repost all the patches earlier. I had to apply them all together to get a build so they need to be split out again to commit. > Thanks, > Omair > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.12 (GNU/Linux) > > iQIcBAEBAgAGBQJPq/YuAAoJEPKG8U9mSEaBHuAQAJRqkghsXXb/Jw5aV2QtCcF4 > NjiTMg57nrRTEDBo3YY21n7GZ4GSoGkib9LtlH5iQkGMJGqafSK5f5i/Qenzmt3o > YVcsYftDnfAsxQ+qgMlwCHV3gyZBCW+k3bj03exxMXqPU2zA3zhUB9+XbXaju6xw > RiUazs4osXoZ/Fx5zoJkG5XvTM6JX7XXF8BSAer9RIhg5OOlARURxz9jNRN4RAdd > 8+mowP7r1vPCTAWxggmQS+1qxPkhsED9ejyH5zQKVSlwx4i+ArNtoyQthzjwBeK+ > 8e8Z1gymr+S9Zkd2Z3ML6wkAbC/vlzOFt21RC4aQFI0QEnxS1sN+wz2H8hsH8o5p > UIs2fH/OpY78g1k1LmlfJIxs1rCdkaIR+Snf4AUduGB1xG7v/WFr6T0plW2cMe0s > Lov6aDgOIQj/R0xfl0PYnEqDzBH65h2cZofz5AjUeJu/lU+lKy/PWJdEbN9XMKmo > ipGcB80Z2rUuQLFIOP3kua3rniqaDdUK/b9lmnxNkZZUI139soqGBlGx8s9a3MjM > LUzDO8mdRN2ehFmwaJhD8FFzMGqYRZRUUITL/1Vt+eN7Vdb2Jt+Gcg8l/oNv8DvE > NG6enOn6YKAR7vNd28UCHuMi9fzspuIlSOvPwEL1A18FpvJz0TRcMyk7s9ELip3f > SVNXtXd7qOty30r8kXUF > =iaIJ > -----END PGP SIGNATURE----- > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ptisnovs at icedtea.classpath.org Fri May 11 00:58:51 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 11 May 2012 07:58:51 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestCircles.java: Message-ID: changeset b8c873675075 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=b8c873675075 author: Pavel Tisnovsky date: Fri May 11 10:01:32 2012 +0200 * src/org/gfxtest/testsuites/PrintTestCircles.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/PrintTestCircles.java | 245 +++++++++++++++++++++++ 2 files changed, 250 insertions(+), 0 deletions(-) diffs (267 lines): diff -r bb8cea44ceaf -r b8c873675075 ChangeLog --- a/ChangeLog Thu May 10 12:08:40 2012 +0200 +++ b/ChangeLog Fri May 11 10:01:32 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-11 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestCircles.java: + Added new tests to this test suite. + 2012-05-10 Pavel Tisnovsky * src/org/gfxtest/framework/GfxTest.java: diff -r bb8cea44ceaf -r b8c873675075 src/org/gfxtest/testsuites/PrintTestCircles.java --- a/src/org/gfxtest/testsuites/PrintTestCircles.java Thu May 10 12:08:40 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestCircles.java Fri May 11 10:01:32 2012 +0200 @@ -77,6 +77,251 @@ { /** + * Test basic behavior of method Graphics.drawOval(). + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleBasicStyle(TestImage image, Graphics2D graphics2d) + { + // set drawing color + graphics2d.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int xc = width >> 1; + final int yc = height >> 1; + + // max. radius + final int maxRadius = Math.min(width, height) - BORDER; + + // draw all circles onto a paper + for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + { + // render the circle + graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles color are selected from a palette. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleColorPalette(TestImage image, Graphics2D graphics2d) + { + // set drawing color + graphics2d.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int xc = width >> 1; + final int yc = height >> 1; + + // max. radius + final int maxRadius = Math.min(width, height) - BORDER; + + // index to color palette + int colorIndex = 0; + + // draw all circles onto a paper + for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + { + // set circle color + graphics2d.setColor(ColorPalette.getColor(colorIndex++)); + // render the circle + graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles color are selected from a grayscale palette. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleGrayScale(TestImage image, Graphics2D graphics2d) + { + // set drawing color + graphics2d.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int xc = width >> 1; + final int yc = height >> 1; + + // max. radius + final int maxRadius = Math.min(width, height) - BORDER; + + // draw all circles onto a paper + for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + { + float gray = r * 1.0f / maxRadius; + // set circle color + graphics2d.setColor(GrayscalePalette.createGrayscaleColor(gray)); + // render the circle + graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles color are selected from a grayscale palette. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleGrayScaleInv(TestImage image, Graphics2D graphics2d) + { + // set drawing color + graphics2d.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int xc = width >> 1; + final int yc = height >> 1; + + // max. radius + final int maxRadius = Math.min(width, height) - BORDER; + + // draw all circles onto a paper + for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + { + float gray = 1.0f - r * 1.0f / maxRadius; + // set circle color + graphics2d.setColor(GrayscalePalette.createGrayscaleColor(gray)); + // render the circle + graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and default end caps. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidth(TestImage image, Graphics2D graphics2d) + { + // set drawing color + graphics2d.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int xc = width >> 1; + final int yc = height >> 1; + + // stroke width + float strokeWidth = 0.0f; + + // max. radius + final int maxRadius = Math.min(width, height) - BORDER; + + // draw all circles onto a paper + for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP * 2) + { + graphics2d.setStroke(new BasicStroke(strokeWidth)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the circle + graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); + } + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and default end caps. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthInv(TestImage image, Graphics2D graphics2d) + { + // set drawing color + graphics2d.setColor(Color.BLACK); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int xc = width >> 1; + final int yc = height >> 1; + + // stroke width + float strokeWidth = 0.0f; + + // max. radius + final int maxRadius = Math.min(width, height) - BORDER; + + // draw all circles onto a paper + for (int r = maxRadius; r > 10; r -= CIRCLE_RADIUS_STEP * 2) + { + graphics2d.setStroke(new BasicStroke(strokeWidth)); + strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; + // render the circle + graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); + } + + // test return value + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args From jvanek at redhat.com Fri May 11 04:08:24 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 11 May 2012 13:08:24 +0200 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <20120503142848.GI3475@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> Message-ID: <4FACF328.8030107@redhat.com> Back to list. All suggested grammar and formatting improvements have been applied. > > > Hi Jiri, > > There are a few grammar issues noted below. Can you please repost with > the fixes and I will approve. > > * Jiri Vanek [2012-04-30 08:12]: >> On 04/27/2012 05:29 PM, Deepak Bhole wrote: >>> >> Thank you for review! >>> This patch is increasing verbosity and changing behavior (throwing a >> The verbosity is not increased so much:) >> -one message in (3) when SecurityDesc is null >> -one message in debug mode enriched for one path (1) >> -one stacktrace printed out in debug mode (is printed out (without debug) in in-browser-applet already) >> > > Thanks! Comments below: > >> If you do not like any of this changesets just say, I do not insists >> on any of them. Thy just come to me handy (and in case of consumed >> exception correct) >>> different type of exception in getPermissions. >> >> arrrgggh. Thanx for catch. Fixed. Exception is printed and truly >> re-thrown (not copy of it at it was:-/) now. >>> >>> IMO it should be split.. >> As you wish :) >>> >> Changelogs: >> debuggingEnchancements2_1_pathToKeystores.diff >> >> 2012-04-30 Jiri Vanek >> >> * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): >> new method, able to search for file used for creating of KeyStore if possible >> * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) >> using getPathToKeystore for debug output. >> >> debuggingEnchancements2_2_consumedExceptionPrintOut.diff >> >> 2012-04-30 Jiri Vanek >> >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): >> Any exception from this method is consumed somewhere. I have cough exception, >> reprint it in debug mode and re-throw (to be lost). Main condition in this >> method had several possible NullPointer exceptions. Separated and thrown before >> this condition. >> >> >> debuggingEnchancements2_3_printOutMissingSecurityDesc.diff >> >> 2012-04-30 Jiri Vanek >> >> Added more debuging outputs >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: >> (getCodeSourceSecurity): added output message when no SecurityDesc is found >> for some url/resource >> >> >> Best regards, J. > >> diff -r 82e908d46d70 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Apr 24 14:43:34 2012 -0400 >> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Apr 30 13:44:55 2012 +0200 >> @@ -1732,7 +1743,12 @@ >> */ >> >> protected SecurityDesc getCodeSourceSecurity(URL source) { >> - return jarLocationSecurityMap.get(source); >> + SecurityDesc sec=jarLocationSecurityMap.get(source); >> + if (sec==null){ >> + System.out.println("Error! No security instance for signed "+source.toString()+" This source was loaded outside of netx, and application will have troubles to continue"); >> + } >> + return sec; >> + > > Can we change the above to use the R function? Also, string should be: > "Error: No security instance for "+source.toString()+". The application may have trouble continuing" > > This is because although right now getCodeSourceSecurity() may always be > receiving signed jars, this may not always be the case in the future. > >> } >> >> /** > >> diff -r 82e908d46d70 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Apr 24 14:43:34 2012 -0400 >> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Apr 30 13:44:55 2012 +0200 >> @@ -895,6 +895,7 @@ >> * Returns the permissions for the CodeSource. >> */ >> protected PermissionCollection getPermissions(CodeSource cs) { >> + try{ >> Permissions result = new Permissions(); >> > > Looks like the code inside try/catch needs re-indenting. > >> // should check for extensions or boot, automatically give all >> @@ -912,6 +913,10 @@ >> // If more than default is needed: >> // 1. Code must be signed >> // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) >> + if (cs==null) throw new RuntimeException("cs!=null but was"); > > "Code source was null" > >> + if (cs.getLocation()==null) throw new RuntimeException("cs.getLocation!=null but was"); > > "Code source location was null" > >> + if (getCodeSourceSecurity(cs.getLocation())==null) throw new RuntimeException("getCodeSourceSecurity(cs.getLocation())!=null but was"); > > "Code source security was null" > >> + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType()==null) throw new RuntimeException("getCodeSourceSecurity(cs.getLocation()).getSecurityType()!=null but was"); > > "Code source security type was null" > >> if (cs.getCodeSigners() != null&& >> (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || >> getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { >> @@ -933,6 +938,12 @@ >> result.add(runtimePermissions.get(i)); >> >> return result; >> + }catch(RuntimeException ex){ >> + if (JNLPRuntime.isDebug()){ >> + ex.printStackTrace(); >> + } > > Indenting :) > >> + throw ex; >> + } >> } >> >> protected void addPermission(Permission p) { > >> diff -r 82e908d46d70 netx/net/sourceforge/jnlp/security/CertificateUtils.java >> --- a/netx/net/sourceforge/jnlp/security/CertificateUtils.java Tue Apr 24 14:43:34 2012 -0400 >> +++ b/netx/net/sourceforge/jnlp/security/CertificateUtils.java Mon Apr 30 13:44:55 2012 +0200 >> @@ -173,7 +173,7 @@ >> >> if (c.equals(keyStores[i].getCertificate(alias))) { >> if (JNLPRuntime.isDebug()) { >> - System.out.println(c.getSubjectX500Principal().getName() + " found in cacerts"); >> + System.out.println(c.getSubjectX500Principal().getName() + " found in cacerts ("+KeyStores.getPathToKeystore(keyStores[i].hashCode())+")"); > > I know you just replaced the string, but can we move the above to use R > as well? I have did this too, but i disagree. It is debug message and so it should remains not-localised (as eg some automated stdout reader can depend on it O:) But final deccission is up to you. I can apply this old one or new one. > > Rest looks great! > > Cheers, > Deepak Changelogs: (I know that properties file change is duplicated but I will commit it correctly) debuggingEnchancements3_1_pathToKeystores.diff 2012-05-11 Jiri Vanek * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): new method, able to search for file used for creating of KeyStore if possible * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) using getPathToKeystore for debug output. * netx/net/sourceforge/jnlp/resources/Messages.properties: added LCertFoundIn value debuggingEnchancements3_2_consumedExceptionPrintOut.diff 2012-05-11 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): Any exception from this method is consumed somewhere. I have cough exception, reprint it in debug mode and re-throw (to be lost). Main condition in this method had several possible NullPointer exceptions. Separated and thrown before this condition. debuggingEnchancements3_3_printOutMissingSecurityDesc.diff 2012-05-11 Jiri Vanek Added more debuging outputs * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getCodeSourceSecurity): added output message when no SecurityDesc is found for some url/resource * netx/net/sourceforge/jnlp/resources/Messages.properties: added LNoSecInstance value When I was digging in Message.properties, i found possible error. It is fixed in debuggingEnchancements3_typoInMessagesProperties. According to code: if (base == null) throw new ParseException(R("PBadNonrelativeUrl", node.getNodeName(), href)); else throw new ParseException(R("PBadRelativeUrl", node.getNodeName(), href, base)); and eg PBadRelativeUrl=Invalid relative URL (node={0}, href={1}, base={2}) I believe my fix is doing right thing 2012-05-11 Jiri Vanek * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error in PBadNonrelativeUrl -------------- next part -------------- A non-text attachment was scrubbed... Name: debuggingEnchancements3_1_pathToKeystores.diff Type: text/x-patch Size: 3465 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/52075ffc/debuggingEnchancements3_1_pathToKeystores.diff -------------- next part -------------- diff -r 11029e99d733 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 02 12:53:07 2012 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri May 11 12:06:43 2012 +0200 @@ -895,44 +895,66 @@ * Returns the permissions for the CodeSource. */ protected PermissionCollection getPermissions(CodeSource cs) { - Permissions result = new Permissions(); + try { + Permissions result = new Permissions(); - // should check for extensions or boot, automatically give all - // access w/o security dialog once we actually check certificates. + // should check for extensions or boot, automatically give all + // access w/o security dialog once we actually check certificates. - // copy security permissions from SecurityDesc element - if (security != null) { - // Security desc. is used only to track security settings for the - // application. However, an application may comprise of multiple - // jars, and as such, security must be evaluated on a per jar basis. + // copy security permissions from SecurityDesc element + if (security != null) { + // Security desc. is used only to track security settings for the + // application. However, an application may comprise of multiple + // jars, and as such, security must be evaluated on a per jar basis. - // set default perms - PermissionCollection permissions = security.getSandBoxPermissions(); + // set default perms + PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed: - // 1. Code must be signed - // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) - if (cs.getCodeSigners() != null && - (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || - getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { + // If more than default is needed: + // 1. Code must be signed + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) + if (cs == null) { + throw new RuntimeException("Code source was null"); + } + if (cs.getLocation() == null) { + throw new RuntimeException("Code source location was null"); + } + if (getCodeSourceSecurity(cs.getLocation()) == null) { + throw new RuntimeException("Code source security was null"); + } + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { + throw new RuntimeException("Code source security type was null"); + } + if (cs.getCodeSigners() != null + && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) + || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + } + + Enumeration e = permissions.elements(); + while (e.hasMoreElements()) { + result.add(e.nextElement()); + } } - Enumeration e = permissions.elements(); - while (e.hasMoreElements()) - result.add(e.nextElement()); + // add in permission to read the cached JAR files + for (int i = 0; i < resourcePermissions.size(); i++) { + result.add(resourcePermissions.get(i)); + } + + // add in the permissions that the user granted. + for (int i = 0; i < runtimePermissions.size(); i++) { + result.add(runtimePermissions.get(i)); + } + + return result; + } catch (RuntimeException ex) { + if (JNLPRuntime.isDebug()) { + ex.printStackTrace(); + } + throw ex; } - - // add in permission to read the cached JAR files - for (int i = 0; i < resourcePermissions.size(); i++) - result.add(resourcePermissions.get(i)); - - // add in the permissions that the user granted. - for (int i = 0; i < runtimePermissions.size(); i++) - result.add(runtimePermissions.get(i)); - - return result; } protected void addPermission(Permission p) { -------------- next part -------------- A non-text attachment was scrubbed... Name: debuggingEnchancements3_3_printOutMissingSecurityDesc.diff.diff Type: text/x-patch Size: 1411 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/52075ffc/debuggingEnchancements3_3_printOutMissingSecurityDesc.diff.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: debuggingEnchancements3_typoInMessagesProperties.diff Type: text/x-patch Size: 782 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/52075ffc/debuggingEnchancements3_typoInMessagesProperties.diff From ahughes at redhat.com Fri May 11 04:25:19 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Fri, 11 May 2012 07:25:19 -0400 (EDT) Subject: [rfc] [icedtea-web] make links In-Reply-To: <4F97FE99.1020805@redhat.com> Message-ID: ----- Original Message ----- > Hi Andrew, I just realized that I forgot to send opera;firefox... > string to code coverage. This > patch is add-one-line boosted makeLInks3 i sent few hours ago. Thanx > and sorry > J. > There are still two issues here: 1. Simple typo: "backuped" should be "backed up" 2. It's still expecting the plugin to be in $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), the final install location. It needs to link to to the copy in the build directory. Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Fri May 11 04:33:02 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 11 May 2012 13:33:02 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: References: Message-ID: <4FACF8EE.7090903@redhat.com> On 05/11/2012 01:25 PM, Andrew Hughes wrote: > ----- Original Message ----- >> Hi Andrew, I just realized that I forgot to send opera;firefox... >> string to code coverage. This >> patch is add-one-line boosted makeLInks3 i sent few hours ago. Thanx >> and sorry >> J. >> > > There are still two issues here: > > 1. Simple typo: "backuped" should be "backed up" Sure. will be fixed > 2. It's still expecting the plugin to be in $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > the final install location. It needs to link to to the copy in the build directory. Hmm... I still believe I'm doing the correct thing. All Reproducers tests are run against $(DESTDIR). > Thanx for review! J. From ahughes at redhat.com Fri May 11 05:23:46 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Fri, 11 May 2012 08:23:46 -0400 (EDT) Subject: [1.10] PulseAudio building In-Reply-To: Message-ID: <0696dfc1-0e68-476c-b8d9-86ce5da36219@zmail17.collab.prod.int.phx2.redhat.com> Another two needed on the 1.10 branch (my, this has bitrotted): Fix pulse audio header generation problem. 2011-06-10 Denis Lila * Makefile.am (stamps/pulse-java-headers.stamp): Prepend the java build directory to the boot class path to avoid generating headers for the system pulse-java classes. http://icedtea.classpath.org/hg/icedtea6/rev/542e1eeba6ed6 Fix build regression. 2011-06-15 Denis Lila * Makefile.am: Add back the -classpath option to javah in building the pulse audio header files. The bootstrap javah doesn't recognize -J-Xbootclasspath/p: so it couldn't find the classfiles. http://icedtea.classpath.org/hg/icedtea6/rev/8927956c3b6b894 Ok for 1.10? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Fri May 11 05:26:21 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Fri, 11 May 2012 08:26:21 -0400 (EDT) Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FACF8EE.7090903@redhat.com> Message-ID: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > On 05/11/2012 01:25 PM, Andrew Hughes wrote: > > ----- Original Message ----- > >> Hi Andrew, I just realized that I forgot to send opera;firefox... > >> string to code coverage. This > >> patch is add-one-line boosted makeLInks3 i sent few hours ago. > >> Thanx > >> and sorry > >> J. > >> > > > > There are still two issues here: > > > > 1. Simple typo: "backuped" should be "backed up" > Sure. will be fixed :-) > > 2. It's still expecting the plugin to be in > > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > > the final install location. It needs to link to to the copy in the > > build directory. > Hmm... I still believe I'm doing the correct thing. All Reproducers > tests are run against $(DESTDIR). Then they are wrong too. I should be able to check it works before I commit to installing it on my system. > > > Thanx for review! > > J. > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From omajid at redhat.com Fri May 11 05:41:12 2012 From: omajid at redhat.com (Omair Majid) Date: Fri, 11 May 2012 08:41:12 -0400 Subject: [1.10] PulseAudio building In-Reply-To: <0696dfc1-0e68-476c-b8d9-86ce5da36219@zmail17.collab.prod.int.phx2.redhat.com> References: <0696dfc1-0e68-476c-b8d9-86ce5da36219@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FAD08E8.8000504@redhat.com> On 05/11/2012 08:23 AM, Andrew Hughes wrote: > Another two needed on the 1.10 branch (my, this has bitrotted): > > Fix pulse audio header generation problem. > > 2011-06-10 Denis Lila > * Makefile.am > (stamps/pulse-java-headers.stamp): Prepend the java build directory > to the boot class path to avoid generating headers for the system > pulse-java classes. > > http://icedtea.classpath.org/hg/icedtea6/rev/542e1eeba6ed6 > > Fix build regression. > > 2011-06-15 Denis Lila > > * Makefile.am: Add back the -classpath option to javah in > building the pulse audio header files. The bootstrap javah > doesn't recognize -J-Xbootclasspath/p: so it couldn't find > the classfiles. > > http://icedtea.classpath.org/hg/icedtea6/rev/8927956c3b6b894 > > Ok for 1.10? Yes, please! Cheers, Omair From jvanek at redhat.com Fri May 11 05:43:46 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 11 May 2012 14:43:46 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FAD0982.1010608@redhat.com> On 05/11/2012 02:26 PM, Andrew Hughes wrote: > > ----- Original Message ----- >> > On 05/11/2012 01:25 PM, Andrew Hughes wrote: >>> > > ----- Original Message ----- >>>> > >> Hi Andrew, I just realized that I forgot to send opera;firefox... >>>> > >> string to code coverage. This >>>> > >> patch is add-one-line boosted makeLInks3 i sent few hours ago. >>>> > >> Thanx >>>> > >> and sorry >>>> > >> J. >>>> > >> >>> > > >>> > > There are still two issues here: >>> > > >>> > > 1. Simple typo: "backuped" should be "backed up" >> > Sure. will be fixed :-O F I X E D O:-) > >>> > > 2. It's still expecting the plugin to be in >>> > > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), >>> > > the final install location. It needs to link to to the copy in the >>> > > build directory. >> > Hmm... I still believe I'm doing the correct thing. All Reproducers >> > tests are run against $(DESTDIR). > Then they are wrong too. I should be able to check it works before I > commit to installing it on my system. Well they are reproducers, they expect to be run on installed stuff. ok now? > >>> > > >> > Thanx for review! >> > > -------------- next part -------------- A non-text attachment was scrubbed... Name: makeLinks5.diff Type: text/x-patch Size: 10056 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/05bbc0c6/makeLinks5.diff From jvanek at redhat.com Fri May 11 05:49:13 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 11 May 2012 14:49:13 +0200 Subject: RFC - Reduce loading of PropertiesFile In-Reply-To: <1335784267.1363.30.camel@localhost.localdomain> References: <1334087640.1431.26.camel@localhost.localdomain> <4F86D475.5020202@redhat.com> <1334520186.1444.43.camel@localhost.localdomain> <4F8C1644.5090001@redhat.com> <1334862860.1435.15.camel@localhost.localdomain> <4F91398F.5080801@redhat.com> <1335784267.1363.30.camel@localhost.localdomain> Message-ID: <4FAD0AC9.9030504@redhat.com> Hi again. Sorry for delay, I was on vacation and then buried under other tasks. I must confess i got lostt little bit. There were a lot of small patches and there were changing sometimes accordingly to review sometimes not, so I probably lost track what was done and what wasn't :((( On 04/30/2012 01:11 PM, Thomas Meyer wrote: > Am Freitag, den 20.04.2012, 12:25 +0200 schrieb Jiri Vanek: >> > On 04/19/2012 09:14 PM, Thomas Meyer wrote: >>> > > Am Montag, den 16.04.2012, 14:53 +0200 schrieb Jiri Vanek: >>> > > snip > All-in-one-patch attached. What do you think about this? yaap! Looks excellent! Two minor nitpicks inline, except them I *believe* all was done. > > with kind regards > thomas > > > > > reduce-load-and-unit-test.patch > > > diff -r 82e908d46d70 netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java > --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Apr 24 14:43:34 2012 -0400 > +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Mon Apr 30 13:06:12 2012 +0200 > @@ -108,11 +108,11 @@ > * Update map for keeping track of recently used items. > */ > public synchronized void load() { > - cacheOrder.load(); > + boolean loaded = cacheOrder.load(); > /* > * clean up possibly corrupted entries > */ > - if (checkData()) { > + if (loaded == true&& checkData()) { there is still horrible loaded == true. just "loaded" please > if (JNLPRuntime.isDebug()) { > new LruCacheException().printStackTrace(); > } > @@ -125,7 +125,7 @@ > /** > * check content of cacheOrder and remove invalid/corrupt entries > * > - * @return true, if cache was coruupted and affected entry removed > + * @return true, if cache was corrupted and affected entry removed > */ > private boolean checkData () { > boolean modified = false; > diff -r 82e908d46d70 netx/net/sourceforge/jnlp/services/XPersistenceService.java > --- a/netx/net/sourceforge/jnlp/services/XPersistenceService.java Tue Apr 24 14:43:34 2012 -0400 > +++ b/netx/net/sourceforge/jnlp/services/XPersistenceService.java Mon Apr 30 13:06:12 2012 +0200 > @@ -127,9 +127,10 @@ > checkLocation(location); > > File file = toCacheFile(location); > - if (!file.exists()) > + if (!file.exists()) { > throw new FileNotFoundException("Persistence store for " > + location.toString() + " is not found."); > + } > FileUtils.createParentDir(file, "Persistence store for " > + location.toString()); > > diff -r 82e908d46d70 netx/net/sourceforge/jnlp/util/PropertiesFile.java > --- a/netx/net/sourceforge/jnlp/util/PropertiesFile.java Tue Apr 24 14:43:34 2012 -0400 > +++ b/netx/net/sourceforge/jnlp/util/PropertiesFile.java Mon Apr 30 13:06:12 2012 +0200 > @@ -35,9 +35,9 @@ > > /** the header string */ > String header = "netx file"; > - > - /** lazy loaded on getProperty */ > - boolean loaded = false; > + > + /** time of last modification, lazy loaded on getProperty */ > + long lastStore; > > /** > * Create a properties object backed by the specified file. > @@ -64,7 +64,7 @@ > * does not exist. > */ > public String getProperty(String key) { > - if (!loaded) > + if (lastStore == 0) > load(); > > return super.getProperty(key); > @@ -75,7 +75,7 @@ > * if the key does not exist. > */ > public String getProperty(String key, String defaultValue) { > - if (!loaded) > + if (lastStore == 0) > load(); > > return super.getProperty(key, defaultValue); > @@ -87,7 +87,7 @@ > * @return the previous value > */ > public Object setProperty(String key, String value) { > - if (!loaded) > + if (lastStore == 0) > load(); > > return super.setProperty(key, value); > @@ -104,39 +104,62 @@ > * Ensures that the file backing these properties has been > * loaded; call this method before calling any method defined by > * a superclass. > + * > + * @return true, if file was (re-)loaded > + * false, if file was still current > */ > - public void load() { > - loaded = true; > + public boolean load() { > > - InputStream s = null; > - try { > - if (!file.exists()) > - return; > + if (!file.exists()) { > + return false; > + } > > + long currentStore = file.lastModified(); > + long currentTime = System.currentTimeMillis(); > + > + /* (re)load file, if > + * - it wasn't loaded/stored, yet (lastStore == 0) > + * - current file modification timestamp has changed since last store (currentStore != lastStore) OR > + * - current file modification timestamp has not changed since last store AND current system time equals current file modification timestamp > + * This is necessary because some filesystems seems only to provide accuracy of the timestamp on the level of seconds! > + */ > + if(lastStore == 0 || currentStore != lastStore || (currentStore == lastStore&& currentStore / 1000 == currentTime / 1000)) { this looks like magic and is making the things much worse. But it is funny taht even with "just seconds" precisions is making such an improvement. > + InputStream s = null; > try { > - s = new FileInputStream(file); > - load(s); > - } finally { > - if (s != null) s.close(); > + > + try { > + s = new FileInputStream(file); > + load(s); > + } finally { > + if (s != null) { > + s.close(); > + lastStore=currentStore; > + return true; > + } > + } > + } catch (IOException ex) { > + ex.printStackTrace(); > } > - } catch (IOException ex) { > - ex.printStackTrace(); > } > + > + return false; > } > > /** > * Saves the properties to the file. > */ > public void store() { > - if (!loaded) > - return; // nothing could have changed so save unnecessary load/save > > - OutputStream s = null; > + FileOutputStream s = null; > try { > try { > file.getParentFile().mkdirs(); > s = new FileOutputStream(file); > store(s, header); > + > + // fsync() > + s.getChannel().force(true); > + lastStore = file.lastModified(); > } finally { > if (s != null) s.close(); > } > diff -r 82e908d46d70 tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Mon Apr 30 13:06:12 2012 +0200 > @@ -0,0 +1,153 @@ > +/* CacheLRUWrapperTest.java > + Copyright (C) 2012 Thomas Meyer > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or > +modify it under the terms of the GNU General Public License as published by > +the Free Software Foundation, version 2. > + > +IcedTea is distributed in the hope that it will be useful, > +but WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. If not, write to > +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. An independent module is a module which is not derived from > +or based on this library. If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package net.sourceforge.jnlp.cache; > + > +import static org.junit.Assert.assertTrue; > + > +import java.io.File; > + > +import net.sourceforge.jnlp.config.DeploymentConfiguration; > +import net.sourceforge.jnlp.runtime.JNLPRuntime; > + > +import org.junit.BeforeClass; > +import org.junit.Test; > + > +public class CacheLRUWrapperTest { > + > + private final CacheLRUWrapper clw = CacheLRUWrapper.getInstance(); > + private final String cacheDir = new File(JNLPRuntime.getConfiguration() > + .getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR)).getPath(); > + > + // does no DeploymentConfiguration exist for this file name? > + private final String cacheIndexFileName = "recently_used"; > + > + private final int noEntriesCacheFile = 1000; > + > + @BeforeClass > + static public void setupJNLPRuntimeConfig() { > + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir")); > + } > + > + @Test > + public void testLoadStoreTiming() throws InterruptedException { > + > + int noLoops = 1000; > + > + long time[] = new long[noLoops]; > + > + clw.lock(); > + clearCacheIndexFile(); > + > + fillCacheIndexFile(noEntriesCacheFile); > + clw.store(); > + > + // FIXME: wait a second, because of file modification timestamp only provides accuracy on seconds. > + Thread.sleep(1000); > + > + long sum = 0; > + for(int i=0; i< noLoops - 1; i++) { > + time[i]= System.nanoTime(); > + clw.load(); > + time[i+1]= System.nanoTime(); > + if(i==0) > + continue; > + sum = sum + time[i] - time[i-1]; > + } > + > + double avg = sum / time.length; > + System.out.println("Average = " + avg + "ns"); > + > + // wait more than 100 microseconds for noLoops = 1000 and noEntries=1000 is bad > + assertTrue("load() must not take longer than 100 ?s, but took in avg " + avg/1000 + "?s", avg< 100 * 1000); > + > + clw.unlock(); > + } > + > + private void fillCacheIndexFile(int noEntries) { > + > + // fill cache index file > + for(int i = 0; i< noEntries; i++) { > + String path = cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; > + String key = clw.generateKey(path); > + clw.addEntry(key, path); > + } > + } > + > + @Test > + public void testModTimestampAfterStore() throws InterruptedException { > + > + final File cacheIndexFile = new File(cacheDir + File.separator + cacheIndexFileName); > + > + clw.lock(); > + > + // 1. clear cache entries + store > + long lmBefore = cacheIndexFile.lastModified(); > + clearCacheIndexFile(); > + long lmAfter = cacheIndexFile.lastModified(); > + assertTrue("modification timestamp hasn't changed! Before = " + lmBefore + " After = " + lmAfter, lmBefore< lmAfter); > + > + // FIXME: wait a second, because of file modification timestamp only provides accuracy on seconds. > + Thread.sleep(1000); > + > + // 2. load cache file > + lmBefore = cacheIndexFile.lastModified(); > + clw.load(); > + lmAfter = cacheIndexFile.lastModified(); > + assertTrue("modification timestamp has changed!", lmBefore == lmAfter); > + > + // 3. add some cache entries and store > + lmBefore = cacheIndexFile.lastModified(); > + fillCacheIndexFile(noEntriesCacheFile); > + clw.store(); > + lmAfter = cacheIndexFile.lastModified(); > + assertTrue("modification timestamp hasn't changed! Before = " + lmBefore + " After = " + lmAfter, lmBefore< lmAfter); > + > + clw.unlock(); > + } > + > + private void clearCacheIndexFile() { > + > + clw.lock(); > + > + // clear cache + store file > + clw.clearLRUSortedEntries(); > + clw.store(); > + > + clw.unlock(); > + } > +} > diff -r 82e908d46d70 tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java Mon Apr 30 13:06:12 2012 +0200 > @@ -0,0 +1,151 @@ > +/* PropertiesFileTest.java > + Copyright (C) 2012 Thomas Meyer > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or > +modify it under the terms of the GNU General Public License as published by > +the Free Software Foundation, version 2. > + > +IcedTea is distributed in the hope that it will be useful, > +but WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. If not, write to > +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. An independent module is a module which is not derived from > +or based on this library. If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. If you do not wish to do so, delete this > +exception statement from your version. > +*/ > + > +package net.sourceforge.jnlp.util; > + > +import static org.junit.Assert.assertTrue; > + > +import java.io.File; > +import java.io.IOException; > +import java.nio.channels.FileLock; > +import java.nio.channels.OverlappingFileLockException; > + > +import net.sourceforge.jnlp.config.DeploymentConfiguration; > +import net.sourceforge.jnlp.runtime.JNLPRuntime; > + > +import org.junit.BeforeClass; > +import org.junit.Test; > + > +public class PropertiesFileTest { > + > + private int lockCount = 0; > + > + /* lock for the file RecentlyUsed */ > + private FileLock fl = null; > + > + private final String cacheDir = new File(JNLPRuntime.getConfiguration() > + .getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR)).getPath(); > + > + // does no DeploymentConfiguration exist for this file name? > + private final String cacheIndexFileName = "recently_used"; > + > + private final PropertiesFile cacheIndexFile = new PropertiesFile(new File(cacheDir + File.separatorChar + cacheIndexFileName)); > + private final int noEntriesCacheFile = 1000; > + > + @BeforeClass > + static public void setupJNLPRuntimeConfig() { > + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir")); > + } > + > + private void fillCacheIndexFile(int noEntries) { > + > + // fill cache index file > + for(int i = 0; i< noEntries; i++) { > + String path = cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; > + String key = String.valueOf(System.currentTimeMillis()); > + cacheIndexFile.setProperty(key, path); > + } > + } > + > + @Test > + public void testReloadAfterStore() { > + > + lock(); > + > + boolean reloaded = false; > + > + // 1. clear cache entries + store > + clearCacheIndexFile(); > + > + // 2. load cache file > + reloaded = cacheIndexFile.load(); > + assertTrue("File was not reloaded!", reloaded); > + > + // 3. add some cache entries and store > + fillCacheIndexFile(noEntriesCacheFile); > + cacheIndexFile.store(); > + reloaded = cacheIndexFile.load(); > + assertTrue("File was not reloaded!", reloaded); > + > + unlock(); > + } > + > + private void clearCacheIndexFile() { > + > + lock(); > + > + // clear cache + store file > + cacheIndexFile.clear(); > + cacheIndexFile.store(); > + > + unlock(); > + } > + > + > + // add locking, because maybe some JNLP runtime user is running. copy/paste from CacheLRUWrapper > + > + /** > + * Lock the file to have exclusive access. > + */ > + private void lock() { > + try { > + fl = FileUtils.getFileLock(cacheIndexFile.getStoreFile().getPath(), false, true); > + } catch (OverlappingFileLockException e) { // if overlap we just increase the count. > + } catch (Exception e) { // We didn't get a lock.. > + e.printStackTrace(); > + } > + if (fl != null) lockCount++; > + } > + > + /** > + * Unlock the file. > + */ > + private void unlock() { > + if (fl != null) { > + lockCount--; > + try { > + if (lockCount == 0) { > + fl.release(); > + fl.channel().close(); > + fl = null; > + } > + } catch (IOException e) { > + e.printStackTrace(); > + } > + } > + } > +} Second issue is the usage of JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir")); ( I know I'm the originally guilty one!). As you done it in BeforClass I started to wonder that t is (and it is) working correctly. However there is no turning back. a) You are not returning the original value b) restoring the original value will not have efect to LruCache.INSTANCE If I'm wrong with b, can you please restore original value? If I'm correct, do you have any idae of impact or of solution/improvement? best regards from CZ! J/ From bugzilla-daemon at icedtea.classpath.org Fri May 11 07:53:40 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 11 May 2012 14:53:40 +0000 Subject: [Bug 758] [regression] javah from 6hg/b23 generates `jlong' from `private int' In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=758 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6-1.10.7 --- Comment #8 from Andrew John Hughes --- Backported to 1.10.7. Please mention the bug number when applying such fixes. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/3d227bb1/attachment.html From andrew at icedtea.classpath.org Fri May 11 07:57:23 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 11 May 2012 14:57:23 +0000 Subject: /hg/release/icedtea6-1.10: 10 new changesets Message-ID: changeset 8bcd76a839dd in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=8bcd76a839dd author: Andrew John Hughes date: Fri May 11 10:52:57 2012 +0100 S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc 2011-10-26 Omair Majid S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc * NEWS: Update with fix. * patches/openjdk/7103224-glibc_name_collision.patch: New file. Export of OpenJDK changeset. * Makefile.am (ICEDTEA_PATCHES): Add the above. changeset bfdaab44fa5a in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=bfdaab44fa5a author: Andrew John Hughes date: Fri May 11 11:00:19 2012 +0100 Fixed build with GCC 4.7 2012-05-11 Andrew John Hughes * NEWS: List GCC 4.7 fixes. 2012-01-30 Deepak Bhole Added patches to fix building with GCC 4.7 * patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch: New patch. Makes methods return NULL instead of boolean when they return a pointer. * patches/openjdk/remove-mimpure-option-to-gcc.patch: New patch. Removes the invalid -mimpure-text option to GCC. changeset 1a5fc82ba3b8 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=1a5fc82ba3b8 author: Andrew John Hughes date: Fri May 11 12:32:19 2012 +0100 Specify both source and target arguments in dtdtype check. 2012-05-09 Andrew John Hughes * acinclude.m4: (IT_GET_DTDTYPE_CHECK): Set target to 5 as well to ensure 1.7 bytecode isn't built. changeset 918dbc28bd12 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=918dbc28bd12 author: Andrew John Hughes date: Fri May 11 12:35:21 2012 +0100 Prepare for 1.10.7 release. 2012-05-11 Andrew John Hughes * NEWS: Set release date. * configure.ac: Bump to 1.10.7 proper. changeset c1b0864d4212 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=c1b0864d4212 author: Andrew John Hughes date: Fri May 11 12:48:26 2012 +0100 Regenerate jaxws-getdtdtype fix so it still applies. 2012-05-11 Andrew John Hughes * patches/ecj/jaxws-getdtdtype.patch: Regenerated. changeset 7834454dcab9 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=7834454dcab9 author: Denis Lila date: Fri Jun 10 16:21:38 2011 -0400 Fix pulse audio header generation problem. changeset b4f738cb0d59 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=b4f738cb0d59 author: Denis Lila date: Wed Jun 15 10:35:39 2011 -0400 Fix build regression. changeset 1939ae55a211 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=1939ae55a211 author: Andrew John Hughes date: Fri May 11 15:55:05 2012 +0100 Mention all fixes in NEWS. 2012-05-11 Andrew John Hughes * NEWS: Mention all fixes in NEWS. changeset 2491ffacf20e in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=2491ffacf20e author: Andrew John Hughes date: Wed May 09 13:38:18 2012 +0100 Add nss.cfg to j2re-image as well. 2012-05-09 Andrew John Hughes * Makefile.am: (add-nss): Copy nss.cfg to j2re-image as well. (clean-add-nss): Remove nss.cfg from j2re-image. (add-nss-debug): Same as for add-nss. (clean-add-nss-debug): Same as for clean-add-nss. (add-nss-ecj): Same as for add-nss. (clean-add-nss-ecj): Same as for clean-add-nss. changeset 78c05cb3e3c7 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=78c05cb3e3c7 author: Andrew John Hughes date: Fri May 11 15:57:07 2012 +0100 Mention nss.cfg fix in NEWS. 2012-05-11 Andrew John Hughes * NEWS: Add NEWS entry for nss.cfg fix. diffstat: ChangeLog | 70 ++ Makefile.am | 26 +- NEWS | 9 +- acinclude.m4 | 2 +- configure.ac | 2 +- patches/ecj/jaxws-getdtdtype.patch | 10 +- patches/openjdk/7103224-glibc_name_collision.patch | 236 ++++++++++ patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch | 12 + patches/openjdk/remove-mimpure-option-to-gcc.patch | 162 ++++++ 9 files changed, 514 insertions(+), 15 deletions(-) diffs (truncated from 656 to 500 lines): diff -r 4515e31b48fa -r 78c05cb3e3c7 ChangeLog --- a/ChangeLog Wed Apr 18 18:41:40 2012 +0200 +++ b/ChangeLog Fri May 11 15:57:07 2012 +0100 @@ -1,3 +1,73 @@ +2012-05-11 Andrew John Hughes + + * NEWS: Add NEWS entry for nss.cfg fix. + +2012-05-09 Andrew John Hughes + + * Makefile.am: + (add-nss): Copy nss.cfg to j2re-image as well. + (clean-add-nss): Remove nss.cfg from j2re-image. + (add-nss-debug): Same as for add-nss. + (clean-add-nss-debug): Same as for clean-add-nss. + (add-nss-ecj): Same as for add-nss. + (clean-add-nss-ecj): Same as for clean-add-nss. + +2012-05-11 Andrew John Hughes + + * NEWS: Mention all fixes in NEWS. + +2011-06-15 Denis Lila + + * Makefile.am: Add back the -classpath option to javah in + building the pulse audio header files. The bootstrap javah + doesn't recognize -J-Xbootclasspath/p: so it couldn't find + the classfiles. + +2011-06-10 Denis Lila + + * Makefile.am + (stamps/pulse-java-headers.stamp): Prepend the java build directory + to the boot class path to avoid generating headers for the system + pulse-java classes. + +2012-05-11 Andrew John Hughes + + * patches/ecj/jaxws-getdtdtype.patch: + Regenerated. + +2012-05-11 Andrew John Hughes + + * NEWS: Set release date. + * configure.ac: Bump to 1.10.7 proper. + +2012-05-09 Andrew John Hughes + + * acinclude.m4: + (IT_GET_DTDTYPE_CHECK): Set target to 5 + as well to ensure 1.7 bytecode isn't built. + +2012-05-11 Andrew John Hughes + + * NEWS: List GCC 4.7 fixes. + +2012-01-30 Deepak Bhole + + Added patches to fix building with GCC 4.7 + * patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch: + New patch. Makes methods return NULL instead of boolean when they return a + pointer. + * patches/openjdk/remove-mimpure-option-to-gcc.patch: New patch. Removes + the invalid -mimpure-text option to GCC. + +2011-10-26 Omair Majid + + S7103224: collision between __LEAF define in interfaceSupport.hpp and + /usr/include/sys/cdefs.h with gcc + * NEWS: Update with fix. + * patches/openjdk/7103224-glibc_name_collision.patch: New file. Export of + OpenJDK changeset. + * Makefile.am (ICEDTEA_PATCHES): Add the above. + 2012-04-18 Pavel Tisnovsky * patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch: diff -r 4515e31b48fa -r 78c05cb3e3c7 Makefile.am --- a/Makefile.am Wed Apr 18 18:41:40 2012 +0200 +++ b/Makefile.am Fri May 11 15:57:07 2012 +0100 @@ -381,7 +381,10 @@ patches/openjdk/6851973-kerberos.patch \ patches/openjdk/7091528-javadoc_class_files.patch \ patches/idresolver_fix.patch \ - patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch + patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch \ + patches/openjdk/7103224-glibc_name_collision.patch \ + patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch \ + patches/openjdk/remove-mimpure-option-to-gcc.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ @@ -602,7 +605,7 @@ DISABLE_NIMBUS="true" \ NO_DOCS="true" \ XSLT="$(XSLTPROC)" - + # Source files # FIXME (distclean): Add generated file list # FIXME (distclean): Add jtreg sources @@ -1555,19 +1558,25 @@ stamps/add-nss.stamp: stamps/icedtea.stamp cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib/security touch stamps/add-nss.stamp clean-add-nss: rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss.stamp stamps/add-nss-debug.stamp: stamps/icedtea-debug.stamp cp $(abs_top_builddir)/nss.cfg \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-debug.stamp clean-add-nss-debug: rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-debug.stamp stamps/add-tzdata-support.stamp: stamps/icedtea.stamp @@ -1672,10 +1681,13 @@ stamps/add-nss-ecj.stamp: stamps/icedtea-ecj.stamp cp $(abs_top_builddir)/nss.cfg \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-ecj.stamp clean-add-nss-ecj: rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp: stamps/icedtea-ecj.stamp @@ -1762,15 +1774,15 @@ stamps/pulse-java-headers.stamp: stamps/pulse-java-class.stamp mkdir -p $(PULSE_JAVA_NATIVE_BUILDDIR) $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - org.classpath.icedtea.pulseaudio.EventLoop ; \ + -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \ $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - org.classpath.icedtea.pulseaudio.Stream ; \ + -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \ $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - org.classpath.icedtea.pulseaudio.Operation; \ + -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \ $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ + -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ + -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ mkdir -p stamps touch stamps/pulse-java-headers.stamp diff -r 4515e31b48fa -r 78c05cb3e3c7 NEWS --- a/NEWS Wed Apr 18 18:41:40 2012 +0200 +++ b/NEWS Fri May 11 15:57:07 2012 +0100 @@ -9,12 +9,19 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.10.7 (2012-XX-XX): +New in release 1.10.7 (2012-05-11): + +* Fixed build with GCC 4.7 * Bug fixes - PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - Specify both source and target in IT_GET_DTDTYPE_CHECK. + - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' + - Install nss.cfg into j2re-image too. * Backports - S6792400: Avoid loading of Normalizer resources for simple uses + - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc + - S7140882: Don't return booleans from methods returning pointers New in release 1.10.6 (2012-02-14): diff -r 4515e31b48fa -r 78c05cb3e3c7 acinclude.m4 --- a/acinclude.m4 Wed Apr 18 18:41:40 2012 +0200 +++ b/acinclude.m4 Fri May 11 15:57:07 2012 +0100 @@ -1349,7 +1349,7 @@ } }] EOF - if $JAVAC -cp . $JAVACFLAGS -source 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_dtdtype=no; else diff -r 4515e31b48fa -r 78c05cb3e3c7 configure.ac --- a/configure.ac Wed Apr 18 18:41:40 2012 +0200 +++ b/configure.ac Fri May 11 15:57:07 2012 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.10.7pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.10.7],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r 4515e31b48fa -r 78c05cb3e3c7 patches/ecj/jaxws-getdtdtype.patch --- a/patches/ecj/jaxws-getdtdtype.patch Wed Apr 18 18:41:40 2012 +0200 +++ b/patches/ecj/jaxws-getdtdtype.patch Fri May 11 15:57:07 2012 +0100 @@ -1,18 +1,18 @@ diff -Nru openjdk-ecj.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties ---- openjdk-ecj.orig/jaxws/build.properties 2010-03-01 15:13:38.000000000 +0000 -+++ openjdk-ecj/jaxws/build.properties 2010-03-01 15:14:30.000000000 +0000 +--- openjdk-ecj.orig/jaxws/build.properties 2012-05-11 12:44:08.656488929 +0100 ++++ openjdk-ecj/jaxws/build.properties 2012-05-11 12:45:15.757587112 +0100 @@ -81,7 +81,7 @@ patches.dir=patches # Patches to apply --jaxws_src.patch.list=7013971.patch xjc.patch -+jaxws_src.patch.list=7013971.patch xjc.patch getdtdtype.patch +-jaxws_src.patch.list=7013971.patch 7046794.patch xjc.patch ++jaxws_src.patch.list=7013971.patch 7046794.patch xjc.patch getdtdtype.patch # Sanity information sanity.info= Sanity Settings:${line.separator}\ diff -Nru openjdk-ecj.orig/jaxws/patches/jaxws_src/getdtdtype.patch openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch --- openjdk-ecj.orig/jaxws/patches/jaxws_src/getdtdtype.patch 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch 2010-03-01 15:15:10.000000000 +0000 ++++ openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch 2012-05-11 12:45:00.601339059 +0100 @@ -0,0 +1,27 @@ +--- src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:37:06.000000000 +0000 ++++ src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:38:00.000000000 +0000 diff -r 4515e31b48fa -r 78c05cb3e3c7 patches/openjdk/7103224-glibc_name_collision.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/7103224-glibc_name_collision.patch Fri May 11 15:57:07 2012 +0100 @@ -0,0 +1,236 @@ +# HG changeset patch +# User never +# Date 1319555835 25200 +# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28 +# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926 +7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc +Reviewed-by: never +Contributed-by: Omair Majid + +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/opto/addnode.cpp +--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -34,8 +34,6 @@ + + // Portions of code courtesy of Clifford Click + +-#define MAXFLOAT ((float)3.40282346638528860e+38) +- + // Classic Add functionality. This covers all the usual 'add' behaviors for + // an algebraic ring. Add-integer, add-float, add-double, and binary-or are + // all inherited from this class. The various identity values are supplied +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jniCheck.cpp +--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -107,7 +107,7 @@ + if (env != xenv) { \ + NativeReportJNIFatalError(thr, warn_wrong_jnienv); \ + } \ +- __ENTRY(result_type, header, thr) ++ VM_ENTRY_BASE(result_type, header, thr) + + + #define UNCHECKED() (unchecked_jni_NativeInterface) +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnter.xsl +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700 +@@ -426,7 +426,7 @@ + + ThreadInVMfromNative __tiv(current_thread); + +- __ENTRY(jvmtiError, ++ VM_ENTRY_BASE(jvmtiError, + + , current_thread) + +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnv.cpp +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -173,7 +173,7 @@ + // from native so as to resolve the jthread. + + ThreadInVMfromNative __tiv(current_thread); +- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread) ++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread) + debug_only(VMNativeEntryWrapper __vew;) + + oop thread_oop = JNIHandles::resolve_external_guard(thread); +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiExport.cpp +--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700 +@@ -373,7 +373,7 @@ + JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread(); + // transition code: native to VM + ThreadInVMfromNative __tiv(current_thread); +- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread) ++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread) + debug_only(VMNativeEntryWrapper __vew;) + + JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version); +diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/runtime/interfaceSupport.hpp +--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700 ++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700 +@@ -72,9 +72,9 @@ + } + }; + +-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY +-// macros. These macros are used to guard entry points into the VM and +-// perform checks upon leave of the VM. ++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and ++// VM_ENTRY_BASE macros. These macros are used to guard entry points into ++// the VM and perform checks upon leave of the VM. + + + class InterfaceSupport: AllStatic { +@@ -433,7 +433,7 @@ + + // LEAF routines do not lock, GC or throw exceptions + +-#define __LEAF(result_type, header) \ ++#define VM_LEAF_BASE(result_type, header) \ + TRACE_CALL(result_type, header) \ + debug_only(NoHandleMark __hm;) \ + /* begin of body */ +@@ -441,7 +441,7 @@ + + // ENTRY routines may lock, GC and throw exceptions + +-#define __ENTRY(result_type, header, thread) \ ++#define VM_ENTRY_BASE(result_type, header, thread) \ + TRACE_CALL(result_type, header) \ + HandleMarkCleaner __hm(thread); \ + Thread* THREAD = thread; \ +@@ -450,7 +450,7 @@ + + // QUICK_ENTRY routines behave like ENTRY but without a handle mark + +-#define __QUICK_ENTRY(result_type, header, thread) \ ++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \ + TRACE_CALL(result_type, header) \ + debug_only(NoHandleMark __hm;) \ + Thread* THREAD = thread; \ +@@ -463,20 +463,20 @@ + #define IRT_ENTRY(result_type, header) \ + result_type header { \ + ThreadInVMfromJava __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + + #define IRT_LEAF(result_type, header) \ + result_type header { \ +- __LEAF(result_type, header) \ ++ VM_LEAF_BASE(result_type, header) \ + debug_only(No_Safepoint_Verifier __nspv(true);) + + + #define IRT_ENTRY_NO_ASYNC(result_type, header) \ + result_type header { \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + // Another special case for nmethod_entry_point so the nmethod that the +@@ -487,7 +487,7 @@ + result_type header { \ + nmethodLocker _nmlock(nm); \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + #define IRT_END } + +@@ -497,20 +497,20 @@ + #define JRT_ENTRY(result_type, header) \ + result_type header { \ + ThreadInVMfromJava __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + + #define JRT_LEAF(result_type, header) \ + result_type header { \ +- __LEAF(result_type, header) \ ++ VM_LEAF_BASE(result_type, header) \ + debug_only(JRT_Leaf_Verifier __jlv;) + + + #define JRT_ENTRY_NO_ASYNC(result_type, header) \ + result_type header { \ + ThreadInVMfromJavaNoAsyncException __tiv(thread); \ +- __ENTRY(result_type, header, thread) \ ++ VM_ENTRY_BASE(result_type, header, thread) \ + debug_only(VMEntryWrapper __vew;) + + // Same as JRT Entry but allows for return value after the safepoint +@@ -543,11 +543,11 @@ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + // Ensure that the VMNativeEntryWrapper constructor, which can cause +-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY). ++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE). + #define JNI_QUICK_ENTRY(result_type, header) \ + extern "C" { \ + result_type JNICALL header { \ +@@ -555,7 +555,7 @@ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __QUICK_ENTRY(result_type, header, thread) ++ VM_QUICK_ENTRY_BASE(result_type, header, thread) + + + #define JNI_LEAF(result_type, header) \ +@@ -563,7 +563,7 @@ + result_type JNICALL header { \ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \ +- __LEAF(result_type, header) ++ VM_LEAF_BASE(result_type, header) + + + // Close the routine and the extern "C" +@@ -579,7 +579,7 @@ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + #define JVM_ENTRY_NO_ENV(result_type, header) \ +@@ -588,7 +588,7 @@ + JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __ENTRY(result_type, header, thread) ++ VM_ENTRY_BASE(result_type, header, thread) + + + #define JVM_QUICK_ENTRY(result_type, header) \ +@@ -597,14 +597,14 @@ + JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ + ThreadInVMfromNative __tiv(thread); \ + debug_only(VMNativeEntryWrapper __vew;) \ +- __QUICK_ENTRY(result_type, header, thread) ++ VM_QUICK_ENTRY_BASE(result_type, header, thread) + + + #define JVM_LEAF(result_type, header) \ + extern "C" { \ + result_type JNICALL header { \ + VM_Exit::block_if_vm_exited(); \ +- __LEAF(result_type, header) ++ VM_LEAF_BASE(result_type, header) + + + #define JVM_END } } diff -r 4515e31b48fa -r 78c05cb3e3c7 patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch Fri May 11 15:57:07 2012 +0100 @@ -0,0 +1,12 @@ +diff -ur openjdk.orig/hotspot/src/share/vm/opto/loopnode.cpp openjdk/hotspot/src/share/vm/opto/loopnode.cpp +--- openjdk.orig/hotspot/src/share/vm/opto/loopnode.cpp 2011-11-14 17:07:36.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/opto/loopnode.cpp 2012-01-30 11:25:10.648080484 -0500 +@@ -546,7 +546,7 @@ + Node* CountedLoopNode::match_incr_with_optional_truncation( + Node* expr, Node** trunc1, Node** trunc2, const TypeInt** trunc_type) { + // Quick cutouts: +- if (expr == NULL || expr->req() != 3) return false; ++ if (expr == NULL || expr->req() != 3) return NULL; + + Node *t1 = NULL; + Node *t2 = NULL; diff -r 4515e31b48fa -r 78c05cb3e3c7 patches/openjdk/remove-mimpure-option-to-gcc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/remove-mimpure-option-to-gcc.patch Fri May 11 15:57:07 2012 +0100 @@ -0,0 +1,162 @@ +diff -ur openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk +--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2011-11-14 17:11:39.000000000 -0500 ++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2012-01-30 11:27:47.181487274 -0500 +@@ -94,7 +94,7 @@ + endif + endif From thomas at m3y3r.de Fri May 11 08:43:25 2012 From: thomas at m3y3r.de (Thomas Meyer) Date: Fri, 11 May 2012 17:43:25 +0200 Subject: RFC - Reduce loading of PropertiesFile In-Reply-To: <4FAD0AC9.9030504@redhat.com> References: <1334087640.1431.26.camel@localhost.localdomain> <4F86D475.5020202@redhat.com> <1334520186.1444.43.camel@localhost.localdomain> <4F8C1644.5090001@redhat.com> <1334862860.1435.15.camel@localhost.localdomain> <4F91398F.5080801@redhat.com> <1335784267.1363.30.camel@localhost.localdomain> <4FAD0AC9.9030504@redhat.com> Message-ID: <1336751005.22559.15.camel@localhost.localdomain> Am Freitag, den 11.05.2012, 14:49 +0200 schrieb Jiri Vanek: > Hi again. Sorry for delay, I was on vacation and then buried under other tasks. Hi Jiri. No problem. I hope you had nice vacation! > I must confess i got lostt little bit. There were a lot of small patches and there were changing > sometimes accordingly to review sometimes not, so I probably lost track what was done and what > wasn't :((( > > On 04/30/2012 01:11 PM, Thomas Meyer wrote: > > Am Freitag, den 20.04.2012, 12:25 +0200 schrieb Jiri Vanek: > >> > On 04/19/2012 09:14 PM, Thomas Meyer wrote: > >>> > > Am Montag, den 16.04.2012, 14:53 +0200 schrieb Jiri Vanek: > >>> > > > snip > > All-in-one-patch attached. What do you think about this? > > yaap! Looks excellent! Two minor nitpicks inline, except them I *believe* all was done. see my comments below. > > diff -r 82e908d46d70 netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java > > --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Apr 24 14:43:34 2012 -0400 > > +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Mon Apr 30 13:06:12 2012 +0200 > > @@ -108,11 +108,11 @@ > > * Update map for keeping track of recently used items. > > */ > > public synchronized void load() { > > - cacheOrder.load(); > > + boolean loaded = cacheOrder.load(); > > /* > > * clean up possibly corrupted entries > > */ > > - if (checkData()) { > > + if (loaded == true&& checkData()) { > > there is still horrible loaded == true. just "loaded" please Opps! This somehow got lost. Fixed in new patch. > > > if (JNLPRuntime.isDebug()) { > > new LruCacheException().printStackTrace(); > > } > > diff -r 82e908d46d70 netx/net/sourceforge/jnlp/util/PropertiesFile.java > > --- a/netx/net/sourceforge/jnlp/util/PropertiesFile.java Tue Apr 24 14:43:34 2012 -0400 > > +++ b/netx/net/sourceforge/jnlp/util/PropertiesFile.java Mon Apr 30 13:06:12 2012 +0200 > > @@ -104,39 +104,62 @@ > > * Ensures that the file backing these properties has been > > * loaded; call this method before calling any method defined by > > * a superclass. > > + * > > + * @return true, if file was (re-)loaded > > + * false, if file was still current > > */ > > - public void load() { > > - loaded = true; > > + public boolean load() { > > > > - InputStream s = null; > > - try { > > - if (!file.exists()) > > - return; > > + if (!file.exists()) { > > + return false; > > + } > > > > + long currentStore = file.lastModified(); > > + long currentTime = System.currentTimeMillis(); > > + > > + /* (re)load file, if > > + * - it wasn't loaded/stored, yet (lastStore == 0) > > + * - current file modification timestamp has changed since last store (currentStore != lastStore) OR > > + * - current file modification timestamp has not changed since last store AND current system time equals current file modification timestamp > > + * This is necessary because some filesystems seems only to provide accuracy of the timestamp on the level of seconds! > > + */ > > + if(lastStore == 0 || currentStore != lastStore || (currentStore == lastStore&& currentStore / 1000 == currentTime / 1000)) { > > this looks like magic and is making the things much worse. But it is funny taht even with "just > seconds" precisions is making such an improvement. It's not magic, just some optimization, for a very unlikely case in real life, I guess. Above if statement is necessary and not avoidable. I did hope to clarify what's going on in the comment. I did only catch this very unlikely case because of the unit tests. I bet nobody would have notice the missing reload (case 3) in real usage for month/years! > > + InputStream s = null; > > try { > > - s = new FileInputStream(file); > > - load(s); > > - } finally { > > - if (s != null) s.close(); > > + > > + try { > > + s = new FileInputStream(file); > > + load(s); > > + } finally { > > + if (s != null) { > > + s.close(); > > + lastStore=currentStore; > > + return true; > > + } > > + } > > + } catch (IOException ex) { > > + ex.printStackTrace(); > > } > > - } catch (IOException ex) { > > - ex.printStackTrace(); > > } > > + > > + return false; > > } > > > > /** > > * Saves the properties to the file. > > */ > > public void store() { > > - if (!loaded) > > - return; // nothing could have changed so save unnecessary load/save > > > > - OutputStream s = null; > > + FileOutputStream s = null; > > try { > > try { > > file.getParentFile().mkdirs(); > > s = new FileOutputStream(file); > > store(s, header); > > + > > + // fsync() > > + s.getChannel().force(true); > > + lastStore = file.lastModified(); > > } finally { > > if (s != null) s.close(); > > } > Second issue is the usage of > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, > System.getProperty("java.io.tmpdir")); ( I know I'm the originally guilty one!). As you done it in > BeforClass I started to wonder that t is (and it is) working correctly. > However there is no turning back. > a) You are not returning the original value > b) restoring the original value will not have efect to LruCache.INSTANCE JNLPRuntime.getConfiguration() is a static method and just returns the also static created DeploymentConfiguration object. No load() call is done here anywhere. Also no call to save(). So we don't use the underlying config file at all here. So no need to restore anything. Changelog and new patch attached. with kind regards thomas 2012-05-11 Thomas Meyer * tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java: Add some unit tests for the PropertiesFile class * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: Add some unit tests for the CacheLRUWrapper class * netx/net/sourceforge/jnlp/util/PropertiesFile.java: Use last modification timestamp of the underlying file to lazy load properties. (load): Only reload file, if the file modification timestamp has changed. (store): Actually fsync() the file to disk. * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create): Fix coding style * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java (load): Only check data when the recently_used file was reloaded. -------------- next part -------------- A non-text attachment was scrubbed... Name: reduce-load-and-unit-test.patch Type: text/x-patch Size: 16813 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/fdb6e3cf/reduce-load-and-unit-test.patch From andrew at icedtea.classpath.org Fri May 11 08:48:54 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 11 May 2012 15:48:54 +0000 Subject: /hg/release/icedtea6-1.10: Added tag icedtea6-1.10.7 for changes... Message-ID: changeset 557de9e31159 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=557de9e31159 author: Andrew John Hughes date: Fri May 11 16:48:48 2012 +0100 Added tag icedtea6-1.10.7 for changeset 78c05cb3e3c7 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 78c05cb3e3c7 -r 557de9e31159 .hgtags --- a/.hgtags Fri May 11 15:57:07 2012 +0100 +++ b/.hgtags Fri May 11 16:48:48 2012 +0100 @@ -31,3 +31,4 @@ 0000000000000000000000000000000000000000 icedtea6-1.10.6 0000000000000000000000000000000000000000 icedtea6-1.10.6 a49670e226cc5e165da2d63758456f2e265f815f icedtea6-1.10.6 +78c05cb3e3c770ebf53babfb4bc825cd059d3b57 icedtea6-1.10.7 From andrew at icedtea.classpath.org Fri May 11 08:49:23 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 11 May 2012 15:49:23 +0000 Subject: /hg/release/icedtea6-1.11: 3 new changesets Message-ID: changeset dbeb36504362 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=dbeb36504362 author: Andrew John Hughes date: Fri May 11 12:32:19 2012 +0100 Specify both source and target arguments in dtdtype check. 2012-05-09 Andrew John Hughes * acinclude.m4: (IT_GET_DTDTYPE_CHECK): Set target to 5 as well to ensure 1.7 bytecode isn't built. changeset ca61b2ffa966 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=ca61b2ffa966 author: Andrew John Hughes date: Fri May 11 14:50:58 2012 +0100 Prepare for 1.11.2 release. 2012-05-11 Andrew John Hughes * NEWS: Set release date, add missing entries. * configure.ac: Set to 1.11.2 proper. changeset d58160b91191 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=d58160b91191 author: Andrew John Hughes date: Fri May 11 16:49:04 2012 +0100 Added tag icedtea6-1.11.2 for changeset ca61b2ffa966 diffstat: .hgtags | 1 + ChangeLog | 11 +++++++++++ NEWS | 5 ++++- acinclude.m4 | 2 +- configure.ac | 2 +- 5 files changed, 18 insertions(+), 3 deletions(-) diffs (68 lines): diff -r 1e8299b45e2b -r d58160b91191 .hgtags --- a/.hgtags Wed May 09 13:38:18 2012 +0100 +++ b/.hgtags Fri May 11 16:49:04 2012 +0100 @@ -24,3 +24,4 @@ 933c143b22a0acb6e5c72ac1315fd90a135275a8 icedtea6-1.11pre 746c78997ad9baaac7601686031f507936cebb88 icedtea6-1.11 24db244df0f369a66d922e2e01f089de9e44f06d icedtea6-1.11.1 +ca61b2ffa966cac5c5d9ea217b7aec4a0da83ab8 icedtea6-1.11.2 diff -r 1e8299b45e2b -r d58160b91191 ChangeLog --- a/ChangeLog Wed May 09 13:38:18 2012 +0100 +++ b/ChangeLog Fri May 11 16:49:04 2012 +0100 @@ -1,3 +1,14 @@ +2012-05-11 Andrew John Hughes + + * NEWS: Set release date, add missing entries. + * configure.ac: Set to 1.11.2 proper. + +2012-05-09 Andrew John Hughes + + * acinclude.m4: + (IT_GET_DTDTYPE_CHECK): Set target to 5 + as well to ensure 1.7 bytecode isn't built. + 2012-05-09 Andrew John Hughes * Makefile.am: diff -r 1e8299b45e2b -r d58160b91191 NEWS --- a/NEWS Wed May 09 13:38:18 2012 +0100 +++ b/NEWS Fri May 11 16:49:04 2012 +0100 @@ -10,13 +10,16 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.11.2 (2012-XX-XX): +New in release 1.11.2 (2012-05-11): * Bug fixes - RH789154: javac error messages no longer contain the full path to the offending file: - PR797: Compiler error message does not display entire file name and path - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 - PR886: 6-1.11.1 fails to build CACAO on ppc + - Specify both source and target in IT_GET_DTDTYPE_CHECK. + - Install nss.cfg into j2re-image too. + - PR584: Don't use shared Eden in incremental mode. * Backports - S6792400: Avoid loading of Normalizer resources for simple uses diff -r 1e8299b45e2b -r d58160b91191 acinclude.m4 --- a/acinclude.m4 Wed May 09 13:38:18 2012 +0100 +++ b/acinclude.m4 Fri May 11 16:49:04 2012 +0100 @@ -1412,7 +1412,7 @@ } }] EOF - if $JAVAC -cp . $JAVACFLAGS -source 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_dtdtype=no; else diff -r 1e8299b45e2b -r d58160b91191 configure.ac --- a/configure.ac Wed May 09 13:38:18 2012 +0100 +++ b/configure.ac Fri May 11 16:49:04 2012 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.11.2pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.11.2],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From jvanek at redhat.com Fri May 11 10:23:37 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 11 May 2012 19:23:37 +0200 Subject: RFC - Reduce loading of PropertiesFile In-Reply-To: <1336751005.22559.15.camel@localhost.localdomain> References: <1334087640.1431.26.camel@localhost.localdomain> <4F86D475.5020202@redhat.com> <1334520186.1444.43.camel@localhost.localdomain> <4F8C1644.5090001@redhat.com> <1334862860.1435.15.camel@localhost.localdomain> <4F91398F.5080801@redhat.com> <1335784267.1363.30.camel@localhost.localdomain> <4FAD0AC9.9030504@redhat.com> <1336751005.22559.15.camel@localhost.localdomain> Message-ID: <4FAD4B19.1000801@redhat.com> On 05/11/2012 05:43 PM, Thomas Meyer wrote: > Am Freitag, den 11.05.2012, 14:49 +0200 schrieb Jiri Vanek: >> Hi again. Sorry for delay, I was on vacation and then buried under other tasks. > > Hi Jiri. > > No problem. I hope you had nice vacation! > >> I must confess i got lostt little bit. There were a lot of small patches and there were changing >> sometimes accordingly to review sometimes not, so I probably lost track what was done and what >> wasn't :((( >> >> On 04/30/2012 01:11 PM, Thomas Meyer wrote: >>> Am Freitag, den 20.04.2012, 12:25 +0200 schrieb Jiri Vanek: >>>>> On 04/19/2012 09:14 PM, Thomas Meyer wrote: >>>>>> > Am Montag, den 16.04.2012, 14:53 +0200 schrieb Jiri Vanek: >>>>>> > >> snip >>> All-in-one-patch attached. What do you think about this? >> >> yaap! Looks excellent! Two minor nitpicks inline, except them I *believe* all was done. > > see my comments below. > >>> diff -r 82e908d46d70 netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java >>> --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Apr 24 14:43:34 2012 -0400 >>> +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Mon Apr 30 13:06:12 2012 +0200 >>> @@ -108,11 +108,11 @@ >>> * Update map for keeping track of recently used items. >>> */ >>> public synchronized void load() { >>> - cacheOrder.load(); >>> + boolean loaded = cacheOrder.load(); >>> /* >>> * clean up possibly corrupted entries >>> */ >>> - if (checkData()) { >>> + if (loaded == true&& checkData()) { >> >> there is still horrible loaded == true. just "loaded" please > > Opps! This somehow got lost. Fixed in new patch. > >> >>> if (JNLPRuntime.isDebug()) { >>> new LruCacheException().printStackTrace(); >>> } > >>> diff -r 82e908d46d70 netx/net/sourceforge/jnlp/util/PropertiesFile.java >>> --- a/netx/net/sourceforge/jnlp/util/PropertiesFile.java Tue Apr 24 14:43:34 2012 -0400 >>> +++ b/netx/net/sourceforge/jnlp/util/PropertiesFile.java Mon Apr 30 13:06:12 2012 +0200 > >>> @@ -104,39 +104,62 @@ >>> * Ensures that the file backing these properties has been >>> * loaded; call this method before calling any method defined by >>> * a superclass. >>> + * >>> + * @return true, if file was (re-)loaded >>> + * false, if file was still current >>> */ >>> - public void load() { >>> - loaded = true; >>> + public boolean load() { >>> >>> - InputStream s = null; >>> - try { >>> - if (!file.exists()) >>> - return; >>> + if (!file.exists()) { >>> + return false; >>> + } >>> >>> + long currentStore = file.lastModified(); >>> + long currentTime = System.currentTimeMillis(); >>> + >>> + /* (re)load file, if >>> + * - it wasn't loaded/stored, yet (lastStore == 0) >>> + * - current file modification timestamp has changed since last store (currentStore != lastStore) OR >>> + * - current file modification timestamp has not changed since last store AND current system time equals current file modification timestamp >>> + * This is necessary because some filesystems seems only to provide accuracy of the timestamp on the level of seconds! >>> + */ >>> + if(lastStore == 0 || currentStore != lastStore || (currentStore == lastStore&& currentStore / 1000 == currentTime / 1000)) { >> >> this looks like magic and is making the things much worse. But it is funny taht even with "just >> seconds" precisions is making such an improvement. > > It's not magic, just some optimization, for a very unlikely case in real > life, I guess. Above if statement is necessary and not avoidable. I did > hope to clarify what's going on in the comment. > I did only catch this very unlikely case because of the unit tests. I > bet nobody would have notice the missing reload (case 3) in real usage > for month/years! > >>> + InputStream s = null; >>> try { >>> - s = new FileInputStream(file); >>> - load(s); >>> - } finally { >>> - if (s != null) s.close(); >>> + >>> + try { >>> + s = new FileInputStream(file); >>> + load(s); >>> + } finally { >>> + if (s != null) { >>> + s.close(); >>> + lastStore=currentStore; >>> + return true; >>> + } >>> + } >>> + } catch (IOException ex) { >>> + ex.printStackTrace(); >>> } >>> - } catch (IOException ex) { >>> - ex.printStackTrace(); >>> } >>> + >>> + return false; >>> } >>> >>> /** >>> * Saves the properties to the file. >>> */ >>> public void store() { >>> - if (!loaded) >>> - return; // nothing could have changed so save unnecessary load/save >>> >>> - OutputStream s = null; >>> + FileOutputStream s = null; >>> try { >>> try { >>> file.getParentFile().mkdirs(); >>> s = new FileOutputStream(file); >>> store(s, header); >>> + >>> + // fsync() >>> + s.getChannel().force(true); >>> + lastStore = file.lastModified(); >>> } finally { >>> if (s != null) s.close(); >>> } > >> Second issue is the usage of >> JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, >> System.getProperty("java.io.tmpdir")); ( I know I'm the originally guilty one!). As you done it in >> BeforClass I started to wonder that t is (and it is) working correctly. >> However there is no turning back. >> a) You are not returning the original value >> b) restoring the original value will not have efect to LruCache.INSTANCE > > JNLPRuntime.getConfiguration() is a static method and just returns the > also static created DeploymentConfiguration object. No load() call is > done here anywhere. Also no call to save(). So we don't use the > underlying config file at all here. So no need to restore anything. > > Changelog and new patch attached. > > with kind regards > thomas > > 2012-05-11 Thomas Meyer > > * tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java: Add > some unit tests for the PropertiesFile class > * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: Add > some unit tests for the CacheLRUWrapper class > * netx/net/sourceforge/jnlp/util/PropertiesFile.java: Use last > modification timestamp of the underlying file to lazy load properties. > (load): Only reload file, if the file modification timestamp has changed. > (store): Actually fsync() the file to disk. > * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create): > Fix coding style > * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java (load): Only check > data when the recently_used file was reloaded. > > Well go on and push to head! Thanx for patience and whole this stuff! J. From ahughes at redhat.com Fri May 11 10:16:35 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 11 May 2012 18:16:35 +0100 Subject: IcedTea6 1.10.7 & 1.11.2 Released! Message-ID: <20120511171635.GA4719@rivendell.middle-earth.co.uk> The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools, along with additional features such as a PulseAudio sound driver and support for alternative virtual machines. A new set of releases is now available for IcedTea6, which uses OpenJDK6 as its base: * IcedTea6 1.10.7 (based on OpenJDK6 b22) * IcedTea6 1.11.2 (based on OpenJDK6 b24) Full details of each release can be found below. *PLEASE NOTE*: With this release, the 1.9 series is now NO LONGER SUPPORTED, in a general push to reduce the release support burden to two releases per JDK release (6, 7, 8). We strongly recommend that you upgrade to a new release series; either of the two above for OpenJDK6. Alternatively, make the jump to OpenJDK7 with 2.0.1, 2.1.0 or 2.2.0 (to be released shortly). What?s New? ?????? New in release 1.10.7 (2012-05-11): * Fixed build with GCC 4.7 * Bug fixes - PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 - Specify both source and target in IT_GET_DTDTYPE_CHECK. - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' - Install nss.cfg into j2re-image too. * Backports - S6792400: Avoid loading of Normalizer resources for simple uses - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc - S7140882: Don't return booleans from methods returning pointers New in release 1.11.2 (2012-05-11): * Bug fixes - RH789154: javac error messages no longer contain the full path to the offending file: - PR797: Compiler error message does not display entire file name and path - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 - PR886: 6-1.11.1 fails to build CACAO on ppc - Specify both source and target in IT_GET_DTDTYPE_CHECK. - Install nss.cfg into j2re-image too. - PR584: Don't use shared Eden in incremental mode. * Backports - S6792400: Avoid loading of Normalizer resources for simple uses The tarballs can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.10.7.tar.gz * http://icedtea.classpath.org/download/source/icedtea6-1.11.2.tar.gz SHA256 checksums: aefa76073ee5c44b9173554d8c50610a394f3123df40b0060ad796fb6d36788e icedtea6-1.10.7.tar.gz 078637dc8323951b18cbb2aac56fd2f24baaa81f0757391aaa17e1b7577e9ce5 icedtea6-1.11.2.tar.gz Each tarball is accompanied by a digital signature (available at the above URL + '.sig'). This is produced using my public key. See details below. The following people helped with these releases: * Deepak Bhole (GCC 4.7 fixes) * Danesh Dadachanji (backport of PR732) * Andrew Haley (fix for PR584) * Andrew John Hughes (all other fixes and release management) * Denis Lila (fix for PR758) * Omair Majid (backport of S7103224, patch reviews) * Xerxes Ranby (review of CACAO/JamVM arch fix) * Pavel Tisnovsky (backport of S6792400, fix for PR881 & RH789154). We would also like to thank the bug reporters and testers! To get started: $ tar xzf $ cd Full build requirements and instructions are in INSTALL: $ ./configure [--with-parallel-jobs[=x] --enable-pulse-java --enable-systemtap ...] $ make -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120511/9cea7d72/attachment.bin From meyert at icedtea.classpath.org Fri May 11 12:36:18 2012 From: meyert at icedtea.classpath.org (meyert at icedtea.classpath.org) Date: Fri, 11 May 2012 19:36:18 +0000 Subject: /hg/icedtea-web: Reduce no. of loads of the cache index file Message-ID: changeset 8c9b71e1db03 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8c9b71e1db03 author: Thomas Meyer date: Fri May 11 21:33:54 2012 +0200 Reduce no. of loads of the cache index file diffstat: ChangeLog | 15 + netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 6 +- netx/net/sourceforge/jnlp/services/XPersistenceService.java | 3 +- netx/net/sourceforge/jnlp/util/PropertiesFile.java | 65 ++- tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java | 153 ++++++++++ tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java | 151 +++++++++ 6 files changed, 368 insertions(+), 25 deletions(-) diffs (496 lines): diff -r 11029e99d733 -r 8c9b71e1db03 ChangeLog --- a/ChangeLog Wed May 02 12:53:07 2012 +0200 +++ b/ChangeLog Fri May 11 21:33:54 2012 +0200 @@ -1,3 +1,18 @@ +2012-05-11 Thomas Meyer + + * tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java: Add + some unit tests for the PropertiesFile class + * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: Add + some unit tests for the CacheLRUWrapper class + * netx/net/sourceforge/jnlp/util/PropertiesFile.java: Use last + modification timestamp of the underlying file to lazy load properties. + (load): Only reload file, if the file modification timestamp has changed. + (store): Actually fsync() the file to disk. + * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create): + Fix coding style + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java (load): Only check + data when the recently_used file was reloaded. + 2012-05-02 Jiri Vanek Introduced new annotations Bug (to connect test/reproducer with documentation) diff -r 11029e99d733 -r 8c9b71e1db03 netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Wed May 02 12:53:07 2012 +0200 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Fri May 11 21:33:54 2012 +0200 @@ -108,11 +108,11 @@ * Update map for keeping track of recently used items. */ public synchronized void load() { - cacheOrder.load(); + boolean loaded = cacheOrder.load(); /* * clean up possibly corrupted entries */ - if (checkData()) { + if (loaded && checkData()) { if (JNLPRuntime.isDebug()) { new LruCacheException().printStackTrace(); } @@ -125,7 +125,7 @@ /** * check content of cacheOrder and remove invalid/corrupt entries * - * @return true, if cache was coruupted and affected entry removed + * @return true, if cache was corrupted and affected entry removed */ private boolean checkData () { boolean modified = false; diff -r 11029e99d733 -r 8c9b71e1db03 netx/net/sourceforge/jnlp/services/XPersistenceService.java --- a/netx/net/sourceforge/jnlp/services/XPersistenceService.java Wed May 02 12:53:07 2012 +0200 +++ b/netx/net/sourceforge/jnlp/services/XPersistenceService.java Fri May 11 21:33:54 2012 +0200 @@ -127,9 +127,10 @@ checkLocation(location); File file = toCacheFile(location); - if (!file.exists()) + if (!file.exists()) { throw new FileNotFoundException("Persistence store for " + location.toString() + " is not found."); + } FileUtils.createParentDir(file, "Persistence store for " + location.toString()); diff -r 11029e99d733 -r 8c9b71e1db03 netx/net/sourceforge/jnlp/util/PropertiesFile.java --- a/netx/net/sourceforge/jnlp/util/PropertiesFile.java Wed May 02 12:53:07 2012 +0200 +++ b/netx/net/sourceforge/jnlp/util/PropertiesFile.java Fri May 11 21:33:54 2012 +0200 @@ -35,9 +35,9 @@ /** the header string */ String header = "netx file"; - - /** lazy loaded on getProperty */ - boolean loaded = false; + + /** time of last modification, lazy loaded on getProperty */ + long lastStore; /** * Create a properties object backed by the specified file. @@ -64,7 +64,7 @@ * does not exist. */ public String getProperty(String key) { - if (!loaded) + if (lastStore == 0) load(); return super.getProperty(key); @@ -75,7 +75,7 @@ * if the key does not exist. */ public String getProperty(String key, String defaultValue) { - if (!loaded) + if (lastStore == 0) load(); return super.getProperty(key, defaultValue); @@ -87,7 +87,7 @@ * @return the previous value */ public Object setProperty(String key, String value) { - if (!loaded) + if (lastStore == 0) load(); return super.setProperty(key, value); @@ -104,39 +104,62 @@ * Ensures that the file backing these properties has been * loaded; call this method before calling any method defined by * a superclass. + * + * @return true, if file was (re-)loaded + * false, if file was still current */ - public void load() { - loaded = true; + public boolean load() { - InputStream s = null; - try { - if (!file.exists()) - return; + if (!file.exists()) { + return false; + } + long currentStore = file.lastModified(); + long currentTime = System.currentTimeMillis(); + + /* (re)load file, if + * - it wasn't loaded/stored, yet (lastStore == 0) + * - current file modification timestamp has changed since last store (currentStore != lastStore) OR + * - current file modification timestamp has not changed since last store AND current system time equals current file modification timestamp + * This is necessary because some filesystems seems only to provide accuracy of the timestamp on the level of seconds! + */ + if(lastStore == 0 || currentStore != lastStore || (currentStore == lastStore && currentStore / 1000 == currentTime / 1000)) { + InputStream s = null; try { - s = new FileInputStream(file); - load(s); - } finally { - if (s != null) s.close(); + + try { + s = new FileInputStream(file); + load(s); + } finally { + if (s != null) { + s.close(); + lastStore=currentStore; + return true; + } + } + } catch (IOException ex) { + ex.printStackTrace(); } - } catch (IOException ex) { - ex.printStackTrace(); } + + return false; } /** * Saves the properties to the file. */ public void store() { - if (!loaded) - return; // nothing could have changed so save unnecessary load/save - OutputStream s = null; + FileOutputStream s = null; try { try { file.getParentFile().mkdirs(); s = new FileOutputStream(file); store(s, header); + + // fsync() + s.getChannel().force(true); + lastStore = file.lastModified(); } finally { if (s != null) s.close(); } diff -r 11029e99d733 -r 8c9b71e1db03 tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Fri May 11 21:33:54 2012 +0200 @@ -0,0 +1,153 @@ +/* CacheLRUWrapperTest.java + Copyright (C) 2012 Thomas Meyer + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package net.sourceforge.jnlp.cache; + +import static org.junit.Assert.assertTrue; + +import java.io.File; + +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.runtime.JNLPRuntime; + +import org.junit.BeforeClass; +import org.junit.Test; + +public class CacheLRUWrapperTest { + + private final CacheLRUWrapper clw = CacheLRUWrapper.getInstance(); + private final String cacheDir = new File(JNLPRuntime.getConfiguration() + .getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR)).getPath(); + + // does no DeploymentConfiguration exist for this file name? + private final String cacheIndexFileName = "recently_used"; + + private final int noEntriesCacheFile = 1000; + + @BeforeClass + static public void setupJNLPRuntimeConfig() { + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir")); + } + + @Test + public void testLoadStoreTiming() throws InterruptedException { + + int noLoops = 1000; + + long time[] = new long[noLoops]; + + clw.lock(); + clearCacheIndexFile(); + + fillCacheIndexFile(noEntriesCacheFile); + clw.store(); + + // FIXME: wait a second, because of file modification timestamp only provides accuracy on seconds. + Thread.sleep(1000); + + long sum = 0; + for(int i=0; i < noLoops - 1; i++) { + time[i]= System.nanoTime(); + clw.load(); + time[i+1]= System.nanoTime(); + if(i==0) + continue; + sum = sum + time[i] - time[i-1]; + } + + double avg = sum / time.length; + System.out.println("Average = " + avg + "ns"); + + // wait more than 100 microseconds for noLoops = 1000 and noEntries=1000 is bad + assertTrue("load() must not take longer than 100 ??s, but took in avg " + avg/1000 + "??s", avg < 100 * 1000); + + clw.unlock(); + } + + private void fillCacheIndexFile(int noEntries) { + + // fill cache index file + for(int i = 0; i < noEntries; i++) { + String path = cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; + String key = clw.generateKey(path); + clw.addEntry(key, path); + } + } + + @Test + public void testModTimestampAfterStore() throws InterruptedException { + + final File cacheIndexFile = new File(cacheDir + File.separator + cacheIndexFileName); + + clw.lock(); + + // 1. clear cache entries + store + long lmBefore = cacheIndexFile.lastModified(); + clearCacheIndexFile(); + long lmAfter = cacheIndexFile.lastModified(); + assertTrue("modification timestamp hasn't changed! Before = " + lmBefore + " After = " + lmAfter, lmBefore < lmAfter); + + // FIXME: wait a second, because of file modification timestamp only provides accuracy on seconds. + Thread.sleep(1000); + + // 2. load cache file + lmBefore = cacheIndexFile.lastModified(); + clw.load(); + lmAfter = cacheIndexFile.lastModified(); + assertTrue("modification timestamp has changed!", lmBefore == lmAfter); + + // 3. add some cache entries and store + lmBefore = cacheIndexFile.lastModified(); + fillCacheIndexFile(noEntriesCacheFile); + clw.store(); + lmAfter = cacheIndexFile.lastModified(); + assertTrue("modification timestamp hasn't changed! Before = " + lmBefore + " After = " + lmAfter, lmBefore < lmAfter); + + clw.unlock(); + } + + private void clearCacheIndexFile() { + + clw.lock(); + + // clear cache + store file + clw.clearLRUSortedEntries(); + clw.store(); + + clw.unlock(); + } +} diff -r 11029e99d733 -r 8c9b71e1db03 tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java Fri May 11 21:33:54 2012 +0200 @@ -0,0 +1,151 @@ +/* PropertiesFileTest.java + Copyright (C) 2012 Thomas Meyer + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package net.sourceforge.jnlp.util; + +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.nio.channels.FileLock; +import java.nio.channels.OverlappingFileLockException; + +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.runtime.JNLPRuntime; + +import org.junit.BeforeClass; +import org.junit.Test; + +public class PropertiesFileTest { + + private int lockCount = 0; + + /* lock for the file RecentlyUsed */ + private FileLock fl = null; + + private final String cacheDir = new File(JNLPRuntime.getConfiguration() + .getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR)).getPath(); + + // does no DeploymentConfiguration exist for this file name? + private final String cacheIndexFileName = "recently_used"; + + private final PropertiesFile cacheIndexFile = new PropertiesFile(new File(cacheDir + File.separatorChar + cacheIndexFileName)); + private final int noEntriesCacheFile = 1000; + + @BeforeClass + static public void setupJNLPRuntimeConfig() { + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir")); + } + + private void fillCacheIndexFile(int noEntries) { + + // fill cache index file + for(int i = 0; i < noEntries; i++) { + String path = cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; + String key = String.valueOf(System.currentTimeMillis()); + cacheIndexFile.setProperty(key, path); + } + } + + @Test + public void testReloadAfterStore() { + + lock(); + + boolean reloaded = false; + + // 1. clear cache entries + store + clearCacheIndexFile(); + + // 2. load cache file + reloaded = cacheIndexFile.load(); + assertTrue("File was not reloaded!", reloaded); + + // 3. add some cache entries and store + fillCacheIndexFile(noEntriesCacheFile); + cacheIndexFile.store(); + reloaded = cacheIndexFile.load(); + assertTrue("File was not reloaded!", reloaded); + + unlock(); + } + + private void clearCacheIndexFile() { + + lock(); + + // clear cache + store file + cacheIndexFile.clear(); + cacheIndexFile.store(); + + unlock(); + } + + + // add locking, because maybe some JNLP runtime user is running. copy/paste from CacheLRUWrapper + + /** + * Lock the file to have exclusive access. + */ + private void lock() { + try { + fl = FileUtils.getFileLock(cacheIndexFile.getStoreFile().getPath(), false, true); + } catch (OverlappingFileLockException e) { // if overlap we just increase the count. + } catch (Exception e) { // We didn't get a lock.. + e.printStackTrace(); + } + if (fl != null) lockCount++; + } + + /** + * Unlock the file. + */ + private void unlock() { + if (fl != null) { + lockCount--; + try { + if (lockCount == 0) { + fl.release(); + fl.channel().close(); + fl = null; + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} From a.radke at arcor.de Sat May 12 08:00:21 2012 From: a.radke at arcor.de (Andreas Radke) Date: Sat, 12 May 2012 17:00:21 +0200 Subject: IcedTea6 1.10.7 & 1.11.2 Released! In-Reply-To: <20120511171635.GA4719@rivendell.middle-earth.co.uk> References: <20120511171635.GA4719@rivendell.middle-earth.co.uk> Message-ID: <20120512170021.76e1a003@workstation64.home> IcedTea6 - 1.11.2 fails to build for ArchLinux here now: # Running javac: /build/src/icedtea6-1.11.2/bootstrap/jdk1.6.0/bin/java -Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize=160m -Xbootclasspath/p:/build/src/icedtea6-1.11.2/ope njdk.build/langtools/dist/bootstrap/lib/javac.jar -jar /build/src/icedtea6-1.11.2/openjdk.build/langtools/dist/bootstrap/lib/javac.jar -g -source 1.5 -target 5 -encoding ascii -Xbootclasspath:/build/src/icedtea6-1.11.2/openjdk.build/classes -sourcepath /build/src/icedtea6-1.11.2/openjdk.build/gensrc:../../../src/sola ris/classes:../../../src/share/classes -d /build/src/icedtea6-1.11.2/openjdk.build/classes @/build/src/icedtea6-1.11.2/openjdk.build/tmp/sun/sun.awt.X11/xawt/. classes.list ../../../src/solaris/classes/sun/awt/X11/XWindowPeer.java:409: cannot find symbol symbol : variable XAWTIcon32_java_icon16_png location: class sun.awt.X11.XWindowPeer defaultIconInfo.add(new XIconInfo(XAWTIcon32_java_icon16_png.java_icon16_png)); ^ ../../../src/solaris/classes/sun/awt/X11/XWindowPeer.java:410: cannot find symbol symbol : variable XAWTIcon32_java_icon24_png location: class sun.awt.X11.XWindowPeer defaultIconInfo.add(new XIconInfo(XAWTIcon32_java_icon24_png.java_icon24_png)); ... glibc 2.15-10 gcc 4.7.0-6 libpng 1.5.10-1 Any idea? Thx. Andy ArchLinux From a.radke at arcor.de Sun May 13 05:50:45 2012 From: a.radke at arcor.de (Andreas Radke) Date: Sun, 13 May 2012 14:50:45 +0200 Subject: IcedTea6 1.10.7 & 1.11.2 Released! In-Reply-To: <20120512170021.76e1a003@workstation64.home> References: <20120511171635.GA4719@rivendell.middle-earth.co.uk> <20120512170021.76e1a003@workstation64.home> Message-ID: <20120513145045.6ada576d@workstation64.home> Ok, fixed it here. Some required system binaries moved their locations. Sry for noise. -Andy From ptisnovs at icedtea.classpath.org Mon May 14 02:20:53 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 14 May 2012 09:20:53 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestColorPaint.j... Message-ID: changeset 88fa675194be in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=88fa675194be author: Pavel Tisnovsky date: Mon May 14 11:23:24 2012 +0200 * src/org/gfxtest/testsuites/PrintTestColorPaint.java: * src/org/gfxtest/testsuites/PrintTestGradientPaint.java: * src/org/gfxtest/testsuites/PrintTestTexturePaint.java: Stubs for new tests. * Makefile: Updated diffstat: ChangeLog | 8 + Makefile | 16 ++- src/org/gfxtest/testsuites/PrintTestColorPaint.java | 76 ++++++++++++++++++ src/org/gfxtest/testsuites/PrintTestGradientPaint.java | 76 ++++++++++++++++++ src/org/gfxtest/testsuites/PrintTestTexturePaint.java | 76 ++++++++++++++++++ 5 files changed, 247 insertions(+), 5 deletions(-) diffs (288 lines): diff -r b8c873675075 -r 88fa675194be ChangeLog --- a/ChangeLog Fri May 11 10:01:32 2012 +0200 +++ b/ChangeLog Mon May 14 11:23:24 2012 +0200 @@ -1,3 +1,11 @@ +2012-05-14 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestColorPaint.java: + * src/org/gfxtest/testsuites/PrintTestGradientPaint.java: + * src/org/gfxtest/testsuites/PrintTestTexturePaint.java: + Stubs for new tests. + * Makefile: Updated + 2012-05-11 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestCircles.java: diff -r b8c873675075 -r 88fa675194be Makefile --- a/Makefile Fri May 11 10:01:32 2012 +0200 +++ b/Makefile Mon May 14 11:23:24 2012 +0200 @@ -185,7 +185,10 @@ $(CLASSES)/$(TESTSUITE_DIR)/PrintTestArcs.java \ $(CLASSES)/$(TESTSUITE_DIR)/PrintTestBitBlt.java \ $(CLASSES)/$(TESTSUITE_DIR)/PrintTestCircles.java \ - $(CLASSES)/$(TESTSUITE_DIR)/PrintTestDrawText.java + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestDrawText.java \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestColorPaint.java \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestGradientPaint.java \ + $(CLASSES)/$(TESTSUITE_DIR)/PrintTestTexturePaint.java COMPARE_RESULTS = \ $(RESULTS)/Areas \ @@ -263,10 +266,13 @@ $(RESULTS)/PrintTestPaths \ $(RESULTS)/PrintTestPolylines \ $(RESULTS)/PrintTestQuadraticCurves \ - $(RESULTS)/PrintTestArcs.java \ - $(RESULTS)/PrintTestBitBlt.java \ - $(RESULTS)/PrintTestCircles.java \ - $(RESULTS)/PrintTestDrawText.java + $(RESULTS)/PrintTestArcs \ + $(RESULTS)/PrintTestBitBlt \ + $(RESULTS)/PrintTestCircles \ + $(RESULTS)/PrintTestDrawText \ + $(RESULTS)/PrintTestColorPaint \ + $(RESULTS)/PrintTestGradientPaint \ + $(RESULTS)/PrintTestTexturePaint # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') diff -r b8c873675075 -r 88fa675194be src/org/gfxtest/testsuites/PrintTestColorPaint.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestColorPaint.java Mon May 14 11:23:24 2012 +0200 @@ -0,0 +1,76 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.PrintTest; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test renders filled shapes using ColorPaint. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestColorPaint extends PrintTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestColorPaint().runTestSuite(args); + } +} diff -r b8c873675075 -r 88fa675194be src/org/gfxtest/testsuites/PrintTestGradientPaint.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestGradientPaint.java Mon May 14 11:23:24 2012 +0200 @@ -0,0 +1,76 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.PrintTest; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test renders filled shapes using GradientPaint. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestGradientPaint extends PrintTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestGradientPaint().runTestSuite(args); + } +} diff -r b8c873675075 -r 88fa675194be src/org/gfxtest/testsuites/PrintTestTexturePaint.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/PrintTestTexturePaint.java Mon May 14 11:23:24 2012 +0200 @@ -0,0 +1,76 @@ +/* + Java gfx-test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import org.gfxtest.framework.PrintTest; +import org.gfxtest.framework.annotations.RenderStyle; +import org.gfxtest.framework.annotations.RenderStyles; +import org.gfxtest.framework.annotations.TestType; +import org.gfxtest.framework.annotations.TestTypes; +import org.gfxtest.framework.annotations.Transformation; +import org.gfxtest.framework.annotations.Transformations; +import org.gfxtest.framework.annotations.Zoom; + + + +/** + * This test renders filled shapes using TexturePaint. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class PrintTestTexturePaint extends PrintTest +{ + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new PrintTestTexturePaint().runTestSuite(args); + } +} From phatina at redhat.com Fri May 11 03:24:55 2012 From: phatina at redhat.com (Peter Hatina) Date: Fri, 11 May 2012 12:24:55 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: References: Message-ID: <1336731895-12003-1-git-send-email-phatina@redhat.com> Hi, I ran across a problem, that deals with GTK+ of different versions. IcedTeaPlugin is unusable in webkitgtk browsers, that are compiled against GTK+ 3.x. The issue can be solved by compiling IcedTeaPlugin with corrent GTK+. Current state of this plugin can be seen in eg. Fedora 16, 17 (browser epiphany can not use Java applets). Can you, please review my patch, that adds desired option for configure script, which sets up GTK+ compiler flags and libraries to correct version (2.x or 3.x)? Thank you in advance, cheers, Peter Hatina EMEA ENG-Desktop Development Red Hat Czech, Brno --- ChangeLog | 4 ++++ NEWS | 2 ++ acinclude.m4 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 82c0feb..4cf3ebf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-05-11 Peter Hatina + Introduced configure option --with-gtk=2.0|3.0 to be able to compile + against different version of GTK+ (2.x or 3.x). + 2012-05-02 Jiri Vanek Introduced new annotations Bug (to connect test/reproducer with documentation) diff --git a/NEWS b/NEWS index 8397639..38dc1c0 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ New in release 1.3 (2012-XX-XX): - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass * Common - PR918: java applet windows uses a low resulution black/white icon +* GTK+ 2.0|3.0 + - RHX720836: project can be compiled against GTK+ 2.x or 3.x libraries New in release 1.2 (2011-XX-XX): * Security updates: diff --git a/acinclude.m4 b/acinclude.m4 index a330d0f..647f781 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], AC_MSG_RESULT(${enable_plugin}) ]) +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], [ACTION-IF-NOT]) +AC_DEFUN([GTK_CHECK_VERSION], +[ + if pkg-config --modversion gtk+-$1 &> /dev/null; then + $2 + else + $3 + fi +]) + +dnl GTK_SET_CXX_VARS([gtk version]) +AC_DEFUN([GTK_SET_CXX_VARS], +[ + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` + GTK_LIBS=`pkg-config --libs gtk+-$1` +]) + +dnl GTK_CHECK([gtk version]) +AC_DEFUN([GTK_CHECK], +[ + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], + [ + case "$1" in + default) + GTK_CHECK_VERSION(["3.0"], + [echo -n "3.0" + GTK_SET_CXX_VARS(["3.0"])], + [GTK_CHECK_VERSION(["2.0"], + [echo -n "2.0" + GTK_SET_CXX_VARS(["2.0"])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([GTK+ not found])])]) + ;; + *) + GTK_CHECK_VERSION([$1], + [echo -n "$1" + GTK_SET_CXX_VARS([$1])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([GTK+ $1 not found])]) + ;; + esac + ]) +]) + AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], [ dnl Check for plugin support headers and libraries. dnl FIXME: use unstable AC_REQUIRE([IT_CHECK_PLUGIN]) if test "x${enable_plugin}" = "xyes" ; then - PKG_CHECK_MODULES(GTK, gtk+-2.0) + AC_ARG_WITH([gtk], + [AS_HELP_STRING([--with-gtk=2.0|3.0], + [the GTK+ version to use (default: 2.0)])], + [case "$with_gtk" in + 2.0|3.0) ;; + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; + esac], + [with_gtk=default]) + GTK_CHECK([$with_gtk]) PKG_CHECK_MODULES(GLIB, glib-2.0) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) -- 1.7.10.1 From jvanek at redhat.com Mon May 14 04:22:07 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 13:22:07 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: <1336731895-12003-1-git-send-email-phatina@redhat.com> References: <1336731895-12003-1-git-send-email-phatina@redhat.com> Message-ID: <4FB0EADF.2070403@redhat.com> Hi! This change have sense for me. Few just formal things: News file just one line should be enough and without x;): + - RH720836: project can be compiled against GTK+ 2.x or 3.x libraries Make file have missing empty line between date-name and content. Also there is habit to have mentioned each modified file with each modified procedure, so in your case somenthing like: 2012-05-11 Peter Hatina Introduced configure option --with-gtk=2.0|3.0 to be able to compile against different version of GTK+ (2.x or 3.x). NEWS: mentioned bug acinclude.m4: (GTK_SET_CXX_VARS) macro for setting gtk flags (GTK_CHECK) macro for checking gtk version But I'm no changelog x news guru so take my advice with reserves;) Because I was looking over your shoulder during your patching, I do not feel 100% capable to review the autotools code, So I have added dr Andrew (although he is moreover observer for ICEDTEA-WEB ;) to check this for you. Several things I have noticed: There is help string [the GTK+ version to use (default: 2.0)])], But It looks like default is 3, isn't it? I also believe that for head default should be 3 (as you have it) But for 1.2 MAYBE 2? Do I read it correctly taht if there is gtk specified, you check whether it exists and if not then die quickly. If there is nothing set then yo check for three, two.. and die quickly? I like it:) in "invalid GTK+ version specified" this sentence the copy of input can be useful. Also I have not found any regressions by using gtk3 instead of 2. But I must admit I have not tested the change with epiphanyy/midory. Btw - do they need special place for plugins or are they enough with mozilla-fylesystem? Much more funny will be decisions for specfile changes.... Thanx for patch! J. ps, next time please changelog off-patch ;) On 05/11/2012 12:24 PM, Peter Hatina wrote: > Hi, > > I ran across a problem, that deals with GTK+ of different versions. IcedTeaPlugin > is unusable in webkitgtk browsers, that are compiled against GTK+ 3.x. The issue > can be solved by compiling IcedTeaPlugin with corrent GTK+. Current state of this > plugin can be seen in eg. Fedora 16, 17 (browser epiphany can not use Java applets). > > Can you, please review my patch, that adds desired option for configure script, > which sets up GTK+ compiler flags and libraries to correct version (2.x or 3.x)? > > Thank you in advance, > > cheers, > > Peter Hatina > EMEA ENG-Desktop Development > Red Hat Czech, Brno > > --- > ChangeLog | 4 ++++ > NEWS | 2 ++ > acinclude.m4 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- > 3 files changed, 59 insertions(+), 1 deletion(-) > > diff --git a/ChangeLog b/ChangeLog > index 82c0feb..4cf3ebf 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,7 @@ > +2012-05-11 Peter Hatina > + Introduced configure option --with-gtk=2.0|3.0 to be able to compile > + against different version of GTK+ (2.x or 3.x). > + > 2012-05-02 Jiri Vanek > > Introduced new annotations Bug (to connect test/reproducer with documentation) > diff --git a/NEWS b/NEWS > index 8397639..38dc1c0 100644 > --- a/NEWS > +++ b/NEWS > @@ -16,6 +16,8 @@ New in release 1.3 (2012-XX-XX): > - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass > * Common > - PR918: java applet windows uses a low resulution black/white icon > +* GTK+ 2.0|3.0 > + - RHX720836: project can be compiled against GTK+ 2.x or 3.x libraries > > New in release 1.2 (2011-XX-XX): > * Security updates: > diff --git a/acinclude.m4 b/acinclude.m4 > index a330d0f..647f781 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], > AC_MSG_RESULT(${enable_plugin}) > ]) > > +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], [ACTION-IF-NOT]) > +AC_DEFUN([GTK_CHECK_VERSION], > +[ > + if pkg-config --modversion gtk+-$1&> /dev/null; then > + $2 > + else > + $3 > + fi > +]) > + > +dnl GTK_SET_CXX_VARS([gtk version]) > +AC_DEFUN([GTK_SET_CXX_VARS], > +[ > + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` > + GTK_LIBS=`pkg-config --libs gtk+-$1` > +]) > + > +dnl GTK_CHECK([gtk version]) > +AC_DEFUN([GTK_CHECK], > +[ > + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], > + [ > + case "$1" in > + default) > + GTK_CHECK_VERSION(["3.0"], > + [echo -n "3.0" > + GTK_SET_CXX_VARS(["3.0"])], > + [GTK_CHECK_VERSION(["2.0"], > + [echo -n "2.0" > + GTK_SET_CXX_VARS(["2.0"])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ not found])])]) > + ;; > + *) > + GTK_CHECK_VERSION([$1], > + [echo -n "$1" > + GTK_SET_CXX_VARS([$1])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ $1 not found])]) > + ;; > + esac > + ]) > +]) > + > AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], > [ > dnl Check for plugin support headers and libraries. > dnl FIXME: use unstable > AC_REQUIRE([IT_CHECK_PLUGIN]) > if test "x${enable_plugin}" = "xyes" ; then > - PKG_CHECK_MODULES(GTK, gtk+-2.0) > + AC_ARG_WITH([gtk], > + [AS_HELP_STRING([--with-gtk=2.0|3.0], > + [the GTK+ version to use (default: 2.0)])], > + [case "$with_gtk" in > + 2.0|3.0) ;; > + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; > + esac], > + [with_gtk=default]) > + GTK_CHECK([$with_gtk]) > PKG_CHECK_MODULES(GLIB, glib-2.0) > AC_SUBST(GLIB_CFLAGS) > AC_SUBST(GLIB_LIBS) > -- 1.7.10.1 > From jvanek at redhat.com Mon May 14 07:35:27 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 16:35:27 +0200 Subject: [fyi][icedyea-web] small indentation fix Message-ID: <4FB1182F.7050006@redhat.com> 2012-05-14 Jiri Vanek * tests/junit-runner/JunitLikeXmlOutputListener.java: fixed indentation and spacing -------------- next part -------------- A non-text attachment was scrubbed... Name: SmallCodeCleanUp-spaces.diff Type: text/x-patch Size: 3838 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/9bff3bda/SmallCodeCleanUp-spaces.diff From jvanek at redhat.com Mon May 14 07:35:38 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 16:35:38 +0200 Subject: [rfc][icedtea-web] all debug outputs of unittests to stderr Message-ID: <4FB1183A.7020702@redhat.com> I think that it is good idea to keep stdout of unittest clean, as there is stdout printed result. If you agree, then I will modify wiki with recommendation that all outputs should go to error stream. Currently few tests are printing to stdout. If you agree that it have sense, then there is patch which will move them to stderr. But I'm not 100% sure how excellent idea this is (maybe very non-sense rule?) Thanx for comments J. 2012-05-14 Jiri Vanek * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: System.out replaced with System.err -------------- next part -------------- A non-text attachment was scrubbed... Name: SmallCodeCleanUp-stdout2stderr.diff Type: text/x-patch Size: 2335 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/400f903f/SmallCodeCleanUp-stdout2stderr.diff From jvanek at redhat.com Mon May 14 07:39:54 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 16:39:54 +0200 Subject: [fyi] [icedtea-web] marking of tests representing the issue as @KnownToFail Message-ID: <4FB1193A.6050309@redhat.com> 2012-05-14 Jiri Vanek * tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java: (SpacesCanBeEverywhereRemoteTests1) (SpacesCanBeEverywhereRemoteTests2) (SpacesCanBeEverywhereRemoteTests3) * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java: (testTemplateCDATA) (testApplicationCDATA) * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java: (testCDataFirstChild) (testCDataSecondChild) (testCommentInAttributes) * tests/netx/unit/net/sourceforge/jnlp/ParserMalformedXml.java: (testMalformedArguments) (testTagNotClosed) (testUnquotedAttributes) marked as KnownToFail -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation-apliedToTests-100.diff Type: text/x-patch Size: 5246 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/d2835586/KnownToFailAnnotation-apliedToTests-100.diff From jvanek at redhat.com Mon May 14 07:40:08 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 16:40:08 +0200 Subject: [rfc][icedtea-web] Marking some of reproducers as failing sometimes Message-ID: <4FB11948.20704@redhat.com> I have selected reproducers which are randomly failing most often. When you look to dily report that marked is approx 3/4 of "sometimes" faiing reproducers. And it is 13/86 at all. I have tried many times to fix this tests, but the I have found the issue completely random :( In case that extended KnownToFail annotation will be approved, I believe this have sense. Bets regards and thanx for any hints j. 2012-05-14 Jiri Vanek * tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java: (startParallelInstancesUponBrokenCache) (coruptAndRunCache1) (coruptAndRunCache2) (coruptAndRunCache3) (testAlreadyLoadedCached) * tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java: (AccessClassInPackageJAVAXJNLP) (AccessClassInPackageSUNSEC) (AccessClassInPackageSignedJAVAXJNLP) (AccessClassInPackageSignedSELF) * tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: (manifestedJar1mainNoAppDesc) (ManifestedJar1main2nothingNoAppDesc) *tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: (ReadPropertiesLunch1) * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: (SetContextClassLoader1) marked as KnownToFail in some cases -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation-apliedToTests-partial.diff Type: text/x-patch Size: 6142 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/38080dc1/KnownToFailAnnotation-apliedToTests-partial.diff From jvanek at redhat.com Mon May 14 07:39:39 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 16:39:39 +0200 Subject: [rfc][icedtea-web] Taking care of @KnownToFail in tests outputs Message-ID: <4FB1192B.9040908@redhat.com> 2012-05-14 Jiri Vanek * tests/report-styles/jreport.xs: * tests/junit-runner/LessVerboseTextListener.java: * tests/junit-runner/JunitLikeXmlOutputListener.java: Added counting and printing of @KnownToFail annotations if presented. By this patch the @KnownToFail annotation is just printed out and some statistics are generated from it. However in some future I'm planing to extend it to some configure-by driven approach. Best regards J. -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation-modifiedOutputOfTests.diff Type: text/x-patch Size: 20267 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/fb5736a5/KnownToFailAnnotation-modifiedOutputOfTests.diff From jvanek at redhat.com Mon May 14 07:39:00 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 14 May 2012 16:39:00 +0200 Subject: [rfc][icedtea-web] known to fail annotation Message-ID: <4FB11904.1000408@redhat.com> Hi! This annotation should serve for marking tests which are representing the issue and so are constantly failing. I have dared also to extend it a bit for marking of tests which are not failing always, but are failing often by some abstract percentage of how often they are failing. I believe that this annotation will be very useful, as Reproducers representing the issue are strong leverage (for me;) to fix the underlying issue. In case that it will be approved, then I will mark my pending reproducers as KnownToFail (in all cases) and repost (with appropriate bugs) 2012-05-14 Jiri Vanek * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java New file. Annotation for marking failing tests. Thanx for any comment! J. -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation-impl.diff Type: text/x-patch Size: 845 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/3179a33c/KnownToFailAnnotation-impl.diff From adinn at redhat.com Mon May 14 09:06:14 2012 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 14 May 2012 17:06:14 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling Message-ID: <4FB12D76.2090909@redhat.com> The Hotspot safepoint check, performed when a backward branch is taken inside compiled Java code, is implemented as a read to the safepoint page, a special page which in the normal case has PROT_READ protection. The safepoint page can be mprotected with PROT_NONE when the VM thread wants Java threads to move to a safepoint and suspend. Any resulting SEGV is caught and after being validated as belonging to an injected safepoint page read, leads to a branch of control to the safepoint blocking routine. This allows a backward branch to proceed with almost zero overhead in the normal case. Currently the ARM safepoint check reads a shared flag. This patch modifies the ARM code to use safepoint page protection in place of polling. The code includes an extra optimization. By default the normal path skips round the safepoint check code in order to reach the branch test/backward branch instruction compiled by the caller. In the case where the branch is unconditional the normal path branches back immediately without the skip and a repeat branch is encoded at the end of the safepoint check code. regards, Andrew Dinn ----------- -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch.txt Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120514/ce406463/patch.txt From aph at redhat.com Mon May 14 10:01:27 2012 From: aph at redhat.com (Andrew Haley) Date: Mon, 14 May 2012 18:01:27 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB12D76.2090909@redhat.com> References: <4FB12D76.2090909@redhat.com> Message-ID: <4FB13A67.3010604@redhat.com> On 05/14/2012 05:06 PM, Andrew Dinn wrote: > The Hotspot safepoint check, performed when a backward branch is taken > inside compiled Java code, is implemented as a read to the safepoint > page, a special page which in the normal case has PROT_READ protection. > The safepoint page can be mprotected with PROT_NONE when the VM thread > wants Java threads to move to a safepoint and suspend. Any resulting > SEGV is caught and after being validated as belonging to an injected > safepoint page read, leads to a branch of control to the safepoint > blocking routine. This allows a backward branch to proceed with almost > zero overhead in the normal case. > > Currently the ARM safepoint check reads a shared flag. This patch > modifies the ARM code to use safepoint page protection in place of polling. > > The code includes an extra optimization. By default the normal path > skips round the safepoint check code in order to reach the branch > test/backward branch instruction compiled by the caller. In the case > where the branch is unconditional the normal path branches back > immediately without the skip and a repeat branch is encoded at the end > of the safepoint check code. Ok. What testing did you do? > # HG changeset patch > # User "Andrew Dinn " > # Date 1337010882 -3600 > # Node ID 18c07e3e1ad01499e7f74b3cc22c9a9009df0959 > # Parent 6576fc644297785d0ecd8922e90a275dc60862ae > modified safepoint check to rely on memory protect signal instead of polling > > diff -r 6576fc644297 -r 18c07e3e1ad0 make/linux/makefiles/zeroshark.make > --- a/make/linux/makefiles/zeroshark.make Fri May 04 15:46:04 2012 +0100 > +++ b/make/linux/makefiles/zeroshark.make Mon May 14 16:54:42 2012 +0100 > @@ -31,7 +31,7 @@ > Obj_Files += cppInterpreter_arm.o > Obj_Files += thumb2.o > > -CFLAGS += -DHOTSPOT_ASM > +CFLAGS += -DHOTSPOT_ASM -DUSE_POLLING_PAGE_PROTECT Please, just lose all the #ifdef crap. Either we believe this is a good patch and we should always use it or we should not commit this work. > cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s > thumb2.o: offsets_arm.s > diff -r 6576fc644297 -r 18c07e3e1ad0 src/cpu/zero/vm/thumb2.cpp > --- a/src/cpu/zero/vm/thumb2.cpp Fri May 04 15:46:04 2012 +0100 > +++ b/src/cpu/zero/vm/thumb2.cpp Mon May 14 16:54:42 2012 +0100 > @@ -56,7 +56,9 @@ > #define THUMB2_MAXLOCALS 1000 > > #include > - > +#ifdef USE_POLLING_PAGE_PROTECT > +#include > +#endif > #include "precompiled.hpp" > #include "interpreter/bytecodes.hpp" > > @@ -434,6 +436,10 @@ > #define BYTESEX_REVERSE(v) (((v)<<24) | (((v)<<8) & 0xff0000) | (((v)>>8) & 0xff00) | ((v)>>24)) > #define BYTESEX_REVERSE_U2(v) (((v)<<8) | ((v)>>8)) > > +#ifdef USE_POLLING_PAGE_PROTECT > +#define THUMB2_POLLING_PAGE_MAGIC 0xdead > +#endif // USE_POLLING_PAGE_PROTECT > + > typedef struct Thumb2_CodeBuf { > unsigned size; > char *sp; > @@ -483,7 +489,6 @@ > // n.b. exiting this block reverts the thread state to in Java > } > > - > // the map is lazily allocated so we don't use the space unless we > // are actually using the JIT > > @@ -502,6 +507,7 @@ > address_bci_map_init(thread); > } > > + > // this effectively clears the previous map > > address_bci_map_length = 0; > @@ -4496,11 +4502,139 @@ > > void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start); > > +#ifdef USE_POLLING_PAGE_PROTECT > +// called from the SEGV handling code to see if a polling page read > +// is from a legitimate safepoint address > +int Thumb2_Check_Poll_Access(ucontext_t *uc, int magicByteOffset) This is named wrongly; it doesn't just check, it adjusts the PC. It's Thumb2_Poll_Maybe_Adjust_Return or somesuch. > +{ > + mcontext_t *mc = &uc->uc_mcontext; > + unsigned long arm_pc = mc->arm_pc; > + // ensure the faulting instruction lies in JITted code > + if (arm_pc < (unsigned long)(thumb2_codebuf + 1)) { > + return false; > + } > + if (arm_pc >= (unsigned long)thumb2_codebuf->sp) { > + return false; > + } > + // skip to the MAGIC word and check it is valid > + arm_pc +=magicByteOffset; > + if (*((short*)arm_pc) != (short)THUMB2_POLLING_PAGE_MAGIC) { > + return false; > + } > + > + // skip the magic word > + arm_pc += 2; > + mc->arm_pc = arm_pc; > + > + return true; > +} > +#endif I'm not really convinced that all this magic word stuff is necessary. I guess if someone other than a safepoint check does fault we'll see it in the backtrace, so this is OK. But is it really worth all the complexity? > + > // Insert code to poll the SafepointSynchronize state and call > // Helper_SafePoint. > -void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci) > +// -- if offset is negative it identifies a bytecode index which > +// should be jumped to via an unconditional backward branch > +// taken either before or after executing the safepoint check > +// -- if offset is zero or positive then a return or conditional > +// branch, respectively, needs to be compiled so control should > +// flow to end of the safepoint check whether or not it is executed > + > +void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci, int offset) > { > Thumb2_Flush(jinfo); > +#ifdef USE_POLLING_PAGE_PROTECT > + // normal case: read the polling page and branch to skip > + // the safepoint test > + // abnormal case: read the polling page, trap to handler > + // which resets return address into the safepoint check code > + // > + // with a negative offset the generated code will look like > + // movw r_tmp, #polling_page > + // movt r_tmp, #polling_page We do it twice? What for? > + // ldr r_tmp, [r_tmp, #K] ; K == 2 * byte offset to the magic word > + // b.n #branchtarget > + // #POLLING_PAGE_MAGIC ; magic data word > + // < > + // safepoint check code > + // > > + // b.n #branchtarget > + // > + // i.e. the generated coede includes the branch backwards twice speling > + // and relies on a fault at the ldr to skip into the safepoint code > + // > + // with a zero or positive offset the caller will plant the return > + // (zero) or conditional branch (positive) code after the check so > + // the normal path skips round the safepoint check code and the > + // abnormal path just drops through. the generated code will look > + // like > + // > + // movw r_tmp, #polling_page > + // movt r_tmp, #polling_page > + // ldr r_tmp, [r_tmp, #0] > + // b.n L1 > + // POLLING_PAGE_MAGIC ; data > + // < > + // safepoint check code > + // > > + // L1: > + // > + // > + // n.b. for a return there is no need save or restore locals > + > + int r_tmp = Thumb2_Tmp(jinfo, 0); > + unsigned dest; > + if (offset < 0) { > + // the index of the backward branch target in the code buffer > + dest = jinfo->bc_stackinfo[bci+offset] & ~BC_FLAGS_MASK; > + } else { > + dest = 0; > + } > + mov_imm(jinfo->codebuf, r_tmp, (u32)os::get_polling_page()); > + // this encodes the offset from the read instruction to the magic > + // word into the fault address, assuming it is 4 bytes. however, if > + // we need to plant a wide backwards branch we may need to rewrite > + // this instruction with offset 6. so stash the instruction location > + // here just in case. n.b. the offset is doubled to ensure the fault > + // address in aligned -- aligned reads always use a single 16-bit > + // instruction whereas non-aligned reads require 2 words > + unsigned read_loc = out_loc(jinfo->codebuf); > + ldr_imm(jinfo->codebuf, r_tmp, r_tmp, 8, 1, 0); > + if (offset < 0) { > + branch_uncond(jinfo->codebuf, dest); > + unsigned magic_loc = out_loc(jinfo->codebuf); > + if (magic_loc - read_loc != 4) { > + JASSERT(magic_loc - read_loc == 6, "bad safepoint offset to magic word"); > + // must have needed a wide branch so patch the load instruction > + jinfo->codebuf->idx = read_loc >> 1; > + ldr_imm(jinfo->codebuf, r_tmp, r_tmp, 12, 1, 0); > + jinfo->codebuf->idx = magic_loc >> 1; > + } > + } else { > + // leave space for the forward skip branch > + // location of branch instruction is read_loc + 2 > + forward_16(jinfo->codebuf); > + } > + // now write a magic word after the branch so the signal handler can > + // test that a polling page read is kosher > + out_16(jinfo->codebuf, THUMB2_POLLING_PAGE_MAGIC); > + // now the safepoint polling code itself > + // n.b. no need for save or restore of locals at return i.e. when offset == 0 > + if (offset != 0) { > + Thumb2_save_locals(jinfo, stackdepth); > + } > + mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); > + bl(jinfo->codebuf, handlers[H_SAFEPOINT]); > + if (offset != 0) { > + Thumb2_restore_locals(jinfo, stackdepth); > + } > + if (offset < 0) { > + // needs another unconditional backward branch > + branch_uncond(jinfo->codebuf, dest); > + } else { > + // patch in the forward skip branch > + branch_narrow_patch(jinfo->codebuf, read_loc + 2); > + } > +#else > int r_tmp = Thumb2_Tmp(jinfo, 0); > mov_imm(jinfo->codebuf, r_tmp, (u32)SafepointSynchronize::address_of_state()); > ldr_imm(jinfo->codebuf, r_tmp, r_tmp, 0, 0, 0); > @@ -4517,6 +4651,7 @@ > Thumb2_restore_locals(jinfo, stackdepth); > bcc_patch(jinfo->codebuf, COND_NE, loc); > } > +#endif // USE_POLLING_PAGE_PROTECT > } > > // If this is a backward branch, compile a safepoint check > @@ -4525,7 +4660,11 @@ > unsigned dest_taken = bci + offset; > > if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { I think this is really the wrong test. We should just be checking dest < bci. > - Thumb2_Safepoint(jinfo, stackdepth, bci); > + // pass offset as positive so the safepoint code plant a forward > + // skip over the test rather than doing an unconditional backwards > + // branch. that allows the condition test to be planted by > + // whatever followed this call > + Thumb2_Safepoint(jinfo, stackdepth, bci, -dest_taken); > } > } > > @@ -4554,8 +4693,8 @@ > unsigned loc; > > if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { > - Thumb2_Safepoint(jinfo, stackdepth, bci); > - branch_uncond(jinfo->codebuf, jinfo->bc_stackinfo[dest_taken] & ~BC_FLAGS_MASK); > + // n.b. the backwards branch will be planted by the safepoint routine > + Thumb2_Safepoint(jinfo, stackdepth, bci, offset); > return dest_not_taken; > } > loc = forward_32(jinfo->codebuf); > @@ -4567,7 +4706,7 @@ > > void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode, int bci, int stackdepth) > { > - Thumb2_Safepoint(jinfo, stackdepth, bci); > + Thumb2_Safepoint(jinfo, stackdepth, bci, 0); > > Reg r_lo, r; > Thumb2_Stack *jstack = jinfo->jstack; > diff -r 6576fc644297 -r 18c07e3e1ad0 src/os_cpu/linux_zero/vm/os_linux_zero.cpp > --- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri May 04 15:46:04 2012 +0100 > +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Mon May 14 16:54:42 2012 +0100 > @@ -118,6 +118,7 @@ > > #ifdef HOTSPOT_ASM > extern "C" int asm_check_null_ptr(ucontext_t *uc); > +extern int Thumb2_Check_Poll_Access(ucontext_t *uc, int magicBytes); > #endif // HOTSPOT_ASM > > extern "C" JNIEXPORT int > @@ -129,6 +130,21 @@ > > #ifdef HOTSPOT_ASM > if (sig == SIGSEGV) { > +#ifdef USE_POLLING_PAGE_PROTECT > + // check to see if this was the result of a back edge safepoint check > + if (os::is_poll_address((address)info->si_addr)) { > + // check that this is a legitimate safepoint rather > + // than any old illegal access to the polling page. > + // if the the check code returns true it will patch > + // the return address to enter the safepoint check code > + // n.b. the offset into the page gives us twice the offset to > + // the magic word in bytes > + int magicByteOffset = ((address)info->si_addr - (address)os::get_polling_page()) / 2; > + if (Thumb2_Check_Poll_Access(uc, magicByteOffset)) { > + return true; > + } > + } else > +#endif // USE_POLLING_PAGE_PROTECT > if (asm_check_null_ptr(uc)) return 1; > } > #endif // HOTSPOT_ASM > Otherwise OK. Andrew. From jvanek at redhat.com Tue May 15 02:05:24 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 15 May 2012 11:05:24 +0200 Subject: [rfc][openjdk/jdk] fixed fonts paths Message-ID: <4FB21C54.2080305@redhat.com> Hi! Fedora fontconfig file is pretty outdated in openjdk7. I have http://icedtea.classpath.org/hg/icedtea7-forest/jdk/ and fixed the paths. Against head. Ok to commit? Backport to anywhere? I'm unsure whether this is correct repo to push. I have also not found any Changelog or NEWS file... Please correct me in any case! Also I have noticed that src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Rhel.6.properties is misisng. SHould be enough? I know that fonts-loader javaclass was changed in icedtea6. I'm not sure if pure adding of linux.fontconfig.Rhel.6.properties will be enough (will be found by implementation?) But it is definitely for different patch:) Should this go to oracle upstream? OpenjJdk8?? Best regards, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixedFonts.diff Type: text/x-patch Size: 10343 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120515/08196ae1/fixedFonts.diff From adinn at redhat.com Tue May 15 02:12:27 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 15 May 2012 10:12:27 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB13A67.3010604@redhat.com> References: <4FB12D76.2090909@redhat.com> <4FB13A67.3010604@redhat.com> Message-ID: <4FB21DFB.1070709@redhat.com> On 14/05/12 18:01, Andrew Haley wrote: > Ok. What testing did you do? I used two test programs which executed a long-running tight loop. The first performed a small number of operations in the loop body ensuring that the backwards branch at the loop end fitted into 2 bytes. The second performed a large number of operations in the loop body ensuring that the backwards branch at the loop end required a 4 byte instruction. With both programs the code also included forward branches and branches at return points so they should have exercised all the paths into and through the code generation routine. As a basic test of the signal handler and generated safepoint check code I signalled the JVM using a SIGQUIT sent from a tty shell causing the VMThread to force a safepoint synchronization. I used the debugger to check that this forced each of the test programs to exercise the interrupt handler and successfully redirect the test thread into the code which calls the safepoint blocking routine. As a stress test I sent a continuous stream of QUIT signals to the JVM using a shell command while loop. I did consider attempting to repeatedly force a safepoint entry from a Java thread spawned by the test program. However, after looking through the VM code, it seems there is only one API to do this (queuing a VM_ForceSafepoint op to the VM_Thread -- ok two ways because you can also queue a VM_ForceAsyncSafepoint op). There is no straightforward way to access this API from Java -- it requires implementing a JNI native call plus doctoring libjvm.so to export a routine which makes VM_ForceSafepoint and VMThread accessible and doctoring the jni headers to expose this extra API. Since the QUIT handling code forces a safepoint synchronize, albeit at the extra cost of also doing a VM thread dump, it did not seem worth the effort. If you disagree . . . > Please, just lose all the #ifdef crap. Either we believe this > is a good patch and we should always use it or we should not > commit this work. Ok, will do. >> +#ifdef USE_POLLING_PAGE_PROTECT >> +// called from the SEGV handling code to see if a polling page read >> +// is from a legitimate safepoint address >> +int Thumb2_Check_Poll_Access(ucontext_t *uc, int magicByteOffset) > > This is named wrongly; it doesn't just check, it adjusts the PC. > > It's Thumb2_Poll_Maybe_Adjust_Return or somesuch. Ok, I'll call it Thumb2_Install_Safepoint_PC() > I'm not really convinced that all this magic word stuff is necessary. > I guess if someone other than a safepoint check does fault we'll see > it in the backtrace, so this is OK. But is it really worth all the > complexity? If we remove this check and some bug happens to invalidly read or write the safepoint page then we will blithely skip the PC forwards 6 or 8 bytes and return from the signal handler i.e. trying to continue execution from wherever that adjustment takes us. We might be lucky and see another SEGV or an illegal instruction causing a fatal exit. However, we might also be unlucky and continue Java execution with corrupt Java or VM data. I would not want to debug the latter -- the error might manifest many instructions later. Of course, using a magic word is nto 100% bullet-proof. We might also just happen to find the magic word when a rogue memory access hits the polling page. However, this is extremely unlikely -- I chose 0xdead as the value for THUMB2_POLLING_PAGE_MAGIC because it is an illegal thumb2 instruction. >> + // with a negative offset the generated code will look like >> + // movw r_tmp, #polling_page >> + // movt r_tmp, #polling_page > > We do it twice? What for? Note this is the generated code. It requires two x 4 byte thumb2 instructions to load a 32-bit literal -- n.b. one of those is a movW and one a movT. >> + // i.e. the generated coede includes the branch backwards twice > > speling Thank you. > Otherwise OK. Thank you for the feedback. I will correct it ASAP and repost. regards, Andrew Dinn ----------- From ptisnovs at icedtea.classpath.org Tue May 15 02:45:20 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 15 May 2012 09:45:20 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/ClippingPathByRoundRe... Message-ID: changeset fe2ac03939d3 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=fe2ac03939d3 author: Pavel Tisnovsky date: Tue May 15 11:48:01 2012 +0200 * src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java | 240 +++++++++- 2 files changed, 240 insertions(+), 5 deletions(-) diffs (297 lines): diff -r 88fa675194be -r fe2ac03939d3 ChangeLog --- a/ChangeLog Mon May 14 11:23:24 2012 +0200 +++ b/ChangeLog Tue May 15 11:48:01 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-15 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java: + Added new tests to this test suite. + 2012-05-14 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestColorPaint.java: diff -r 88fa675194be -r fe2ac03939d3 src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java --- a/src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java Mon May 14 11:23:24 2012 +0200 +++ b/src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java Tue May 15 11:48:01 2012 +0200 @@ -292,7 +292,7 @@ */ public TestResult testClipLinePathByRoundRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { - // render clip rectangle + // render clip round rectangle CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); // set stroke color CommonRenderingStyles.setStrokeColor(graphics2d); @@ -316,7 +316,7 @@ */ public TestResult testClipQuadraticPathByRoundRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { - // render clip rectangle + // render clip round rectangle CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); // set stroke color CommonRenderingStyles.setStrokeColor(graphics2d); @@ -340,7 +340,7 @@ */ public TestResult testClipCubicPathByRoundRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { - // render clip rectangle + // render clip round rectangle CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); // set stroke color CommonRenderingStyles.setStrokeColor(graphics2d); @@ -364,7 +364,7 @@ */ public TestResult testClipClosedPathByRoundRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { - // render clip rectangle + // render clip round rectangle CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); // set stroke color CommonRenderingStyles.setStrokeColor(graphics2d); @@ -388,7 +388,7 @@ */ public TestResult testClipCrossedClosedPathByRoundRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { - // render clip rectangle + // render clip round rectangle CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); // set stroke color CommonRenderingStyles.setStrokeColor(graphics2d); @@ -641,6 +641,236 @@ } /** + * Check if line path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathByRoundRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if cubic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCubicPathByRoundRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCubicPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if quadratic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipQuadraticPathByRoundRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawQuadraticPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipClosedPathByRoundRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed crossed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathByRoundRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCrossedClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathByRoundRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if quadratic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipQuadraticPathByRoundRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawQuadraticPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if cubic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCubicPathByRoundRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCubicPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipClosedPathByRoundRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if crossed closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathByRoundRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCrossedClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args From omajid at redhat.com Tue May 15 07:16:17 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 15 May 2012 10:16:17 -0400 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FB11904.1000408@redhat.com> References: <4FB11904.1000408@redhat.com> Message-ID: <4FB26531.7010104@redhat.com> Hi Jiri, On 05/14/2012 10:39 AM, Jiri Vanek wrote: > Hi! This annotation should serve for marking tests which are > representing the issue and so are constantly failing. Sorry, but I don't follow. If tests are failing, surely we can see that in the test reports (make check and friends), right? What advantage does this annotation give us over that? > I have dared also to extend it a bit for marking of tests which are not > failing always, but are failing often by some abstract percentage of how > often they are failing. I disagree with the concept of percentage. I don't see the point of tests that (occasionally) fail. If tests fails all the time, that's great. If tests don't fail all the time, the test is broken. I don't see how the percentage helps in either case. > I believe that this annotation will be very useful, as Reproducers > representing the issue are strong leverage (for me;) to fix the > underlying issue. Okay, but aren't the reproducers failing enough reason (or leverage, if you will) to fix it? Cheers, Omair From jvanek at redhat.com Tue May 15 07:47:51 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 15 May 2012 16:47:51 +0200 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FB26531.7010104@redhat.com> References: <4FB11904.1000408@redhat.com> <4FB26531.7010104@redhat.com> Message-ID: <4FB26C97.4030108@redhat.com> On 05/15/2012 04:16 PM, Omair Majid wrote: > Hi Jiri, Hi! Answered as expected ;) > > On 05/14/2012 10:39 AM, Jiri Vanek wrote: >> Hi! This annotation should serve for marking tests which are >> representing the issue and so are constantly failing. > > Sorry, but I don't follow. If tests are failing, surely we can see that > in the test reports (make check and friends), right? What advantage does > this annotation give us over that? Well. The reason why it should be included was recently discussed. A lot of tests are failing, because they are reproducing issue. Also I have plenty of new reproducers which should be definitely pushed. And if there will be to much failing reproducers then no one will see some issue. Now when somebody will break something by his changeset, and eg new failure will arise, it is easy to overlook new red line between reproducers. (both unit and "my") By on sentence - the reason is to separate regressions from reproducers. > >> I have dared also to extend it a bit for marking of tests which are not >> failing always, but are failing often by some abstract percentage of how >> often they are failing. > > I disagree with the concept of percentage. I don't see the point of > tests that (occasionally) fail. If tests fails all the time, that's > great. If tests don't fail all the time, the test is broken. I don't see > how the percentage helps in either case. Answer expected:) And I agree it it very discutable. The issue here is that I'm not able to reproduce the failure. And in case of cache reproducers (which are 90% of randomly failing reproducers) are actually representing the issue. Because cache is not protected from simultaneous read/write from multiple javaws. It is just luck when they sometimes pass (because of some delayed r/w on system) > >> I believe that this annotation will be very useful, as Reproducers >> representing the issue are strong leverage (for me;) to fix the >> underlying issue. > > Okay, but aren't the reproducers failing enough reason (or leverage, if > you will) to fix it? yes. they are. But can hide regression. hmhm.. Ready for looong discussion :) J. > > Cheers, > Omair From omajid at redhat.com Tue May 15 07:53:57 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 15 May 2012 10:53:57 -0400 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FB26C97.4030108@redhat.com> References: <4FB11904.1000408@redhat.com> <4FB26531.7010104@redhat.com> <4FB26C97.4030108@redhat.com> Message-ID: <4FB26E05.6060104@redhat.com> Hi Jiri, On 05/15/2012 10:47 AM, Jiri Vanek wrote: > On 05/15/2012 04:16 PM, Omair Majid wrote: > Hi! Answered as expected ;) :) > Well. The reason why it should be included was recently discussed. A lot > of tests are failing, because they are reproducing issue. Also I have > plenty of new reproducers which should be definitely pushed. And if > there will be to much failing reproducers then no one will see some issue. > > Now when somebody will break something by his changeset, and eg new > failure will arise, it is easy to overlook new red line between > reproducers. (both unit and "my") Ah. I see. So will things marked with this annotation not be run by default? This sounds like a good idea to me. >>> I have dared also to extend it a bit for marking of tests which are not >>> failing always, but are failing often by some abstract percentage of how >>> often they are failing. >> >> I disagree with the concept of percentage. I don't see the point of >> tests that (occasionally) fail. If tests fails all the time, that's >> great. If tests don't fail all the time, the test is broken. I don't see >> how the percentage helps in either case. > > Answer expected:) And I agree it it very discutable. The issue here is > that I'm not able to reproduce the failure. And in case of cache > reproducers (which are 90% of randomly failing reproducers) are actually > representing the issue. Because cache is not protected from simultaneous > read/write from multiple javaws. It is just luck when they sometimes > pass (because of some delayed r/w on system) > I am trying to figure out how the percentage helps. How do you plan to use it? I still think the test is broken in this case. Perhaps we should fix the test? Or consider rewriting/refactoring some code to make it more easily testable? Or to put it another way, wouldn't effort spent adding this be better spent fixing the code/tests? Cheers, Omair From jvanek at redhat.com Tue May 15 08:10:46 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 15 May 2012 17:10:46 +0200 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FB26E05.6060104@redhat.com> References: <4FB11904.1000408@redhat.com> <4FB26531.7010104@redhat.com> <4FB26C97.4030108@redhat.com> <4FB26E05.6060104@redhat.com> Message-ID: <4FB271F6.2050807@redhat.com> On 05/15/2012 04:53 PM, Omair Majid wrote: > Hi Jiri, > > On 05/15/2012 10:47 AM, Jiri Vanek wrote: >> On 05/15/2012 04:16 PM, Omair Majid wrote: >> Hi! Answered as expected ;) > > :) > >> Well. The reason why it should be included was recently discussed. A lot >> of tests are failing, because they are reproducing issue. Also I have >> plenty of new reproducers which should be definitely pushed. And if >> there will be to much failing reproducers then no one will see some issue. >> >> Now when somebody will break something by his changeset, and eg new >> failure will arise, it is easy to overlook new red line between >> reproducers. (both unit and "my") > > Ah. I see. So will things marked with this annotation not be run by > default? This sounds like a good idea to me. Yes! When you check my other KnownToFail needs-review, then you discover that in closest future I'm going just to mark them and print it out that it is expected. But yes - some by-configure enableing/disabling will definitely be worthy. What will be default is right now inappropriate but for sure they can be disabled/ignored. It is definietly the main reason of this mark. > >>>> I have dared also to extend it a bit for marking of tests which are not >>>> failing always, but are failing often by some abstract percentage of how >>>> often they are failing. >>> >>> I disagree with the concept of percentage. I don't see the point of >>> tests that (occasionally) fail. If tests fails all the time, that's >>> great. If tests don't fail all the time, the test is broken. I don't see >>> how the percentage helps in either case. >> >> Answer expected:) And I agree it it very discutable. The issue here is >> that I'm not able to reproduce the failure. And in case of cache >> reproducers (which are 90% of randomly failing reproducers) are actually >> representing the issue. Because cache is not protected from simultaneous >> read/write from multiple javaws. It is just luck when they sometimes >> pass (because of some delayed r/w on system) >> > > I am trying to figure out how the percentage helps. How do you plan to > use it? How to use it exactly can be seen in another KnownToFail patches. But I believe this is not what you are asking :) The reason in behind is the cache reproducers test-set:-/ It should be failing all the time, but sometimes i/o is to slow/fast and it pass.... Currently I have no idea how to make it better. Definitely it is worthy to fix it, but also it is quite on the bottom of todo list :(( And for example the failure of classlaoder test I'm notable to reproduce on my local machine never :-/ So this mark (that it is failing but not always) is some kind of warning. Currentlyu I'm just printing out that "this test is know to fail sometimes" (instead of "always")) How to deal with it when it will be disabled/enabled in future.. Well lI have some ideas - most easy looks like to have some border parameter. Which will be considered 100 or 0 by default. > > I still think the test is broken in this case. Perhaps we should fix the > test? Or consider rewriting/refactoring some code to make it more easily > testable? Or to put it another way, wouldn't effort spent adding this be > better spent fixing the code/tests? Yap - but sometimes the fix can be really hard. And until it is fixed, it is better to have it marked. But as I really like @knownToFail, I'm not 100% sure about this percentage too. Currently I'm about 65/35 for to include it. Thanx for your thought! J. > > Cheers, > Omair From ptisnovs at icedtea.classpath.org Tue May 15 08:47:30 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 15 May 2012 15:47:30 +0000 Subject: /hg/MauveTestCoverage: * src/ReportGenerator.java: Message-ID: changeset ed99188fff20 in /hg/MauveTestCoverage details: http://icedtea.classpath.org/hg/MauveTestCoverage?cmd=changeset;node=ed99188fff20 author: Pavel Tisnovsky date: Tue May 15 17:50:12 2012 +0200 * src/ReportGenerator.java: Fixed the code which is used to count the number of tested classes in a given package. diffstat: ChangeLog | 6 ++++++ src/ReportGenerator.java | 31 ++++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletions(-) diffs (61 lines): diff -r eec2474fdaaa -r ed99188fff20 ChangeLog --- a/ChangeLog Fri Mar 23 11:55:40 2012 +0100 +++ b/ChangeLog Tue May 15 17:50:12 2012 +0200 @@ -1,3 +1,9 @@ +2012-05-15 Pavel Tisnovsky + + * src/ReportGenerator.java: + Fixed the code which is used to count the number of tested + classes in a given package. + 2012-03-23 Pavel Tisnovsky * src/ClassInfo.java: diff -r eec2474fdaaa -r ed99188fff20 src/ReportGenerator.java --- a/src/ReportGenerator.java Fri Mar 23 11:55:40 2012 +0100 +++ b/src/ReportGenerator.java Tue May 15 17:50:12 2012 +0200 @@ -216,7 +216,7 @@ // compute number of all classes in a package final int allClassesCnt = numberOfClassesInPackage(packageName, allClasses); // compute number of classes covered by tests - final int testedClassesCnt = numberOfClassesInPackage(packageName, testedClasses); + final int testedClassesCnt = numberOfTestedClassesInPackage(packageName, testedClasses, classInfoMap); // -> in percent final float classPercentage = allClassesCnt == 0 ? 0.0f : 100.0f * testedClassesCnt / allClassesCnt; // table row background color is based on percentual test coverage ration @@ -300,6 +300,35 @@ } /** + * Calculate number of tested classes in given package. + * + * @param packageName + * name of package + * @param classes + * set of class names + * @param classInfoMap + * @return number of classes in given package + */ + private static int numberOfTestedClassesInPackage(String packageName, Set classes, Map classInfoMap) + { + int cnt = 0; + // iterate through all class names + for (String className : classes) + { + // count only classes in given package + if (className.substring(0, className.lastIndexOf('.')).equals(packageName)) + { + ClassInfo clsInfo = classInfoMap.get(className); + if (clsInfo != null && !clsInfo.getTestedMethods().isEmpty()) + { + cnt++; + } + } + } + return cnt; + } + + /** * Add list of all classes to a list of string which represents generated * report. * From ddadacha at redhat.com Tue May 15 09:14:31 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Tue, 15 May 2012 12:14:31 -0400 Subject: [fyi][icedyea-web] small indentation fix In-Reply-To: <4FB1182F.7050006@redhat.com> References: <4FB1182F.7050006@redhat.com> Message-ID: <4FB280E7.1080306@redhat.com> Hi Jiri, On 14/05/12 10:35 AM, Jiri Vanek wrote: > 2012-05-14 Jiri Vanek 2 spaces between Date/Name/Email please! > > * tests/junit-runner/JunitLikeXmlOutputListener.java: fixed indentation > and spacing > Everything else looks good to push, thanks! Cheers, Danesh From adinn at redhat.com Tue May 15 10:24:59 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 15 May 2012 18:24:59 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB13A67.3010604@redhat.com> References: <4FB12D76.2090909@redhat.com> <4FB13A67.3010604@redhat.com> Message-ID: <4FB2916B.6090407@redhat.com> Oops, I missed a comment On 14/05/12 18:01, Andrew Haley wrote: >> >> // If this is a backward branch, compile a safepoint check >> @@ -4525,7 +4660,11 @@ >> unsigned dest_taken = bci + offset; >> >> if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { > > I think this is really the wrong test. We should just be checking > dest < bci. Hmm, I guess so. Although this convention of checking the bc_stackinfo flags is used throughout the compiler. I wonder if it the recursive calls to Thumb2_codegen() don't invalidate your assumption -- I will check. >> - Thumb2_Safepoint(jinfo, stackdepth, bci); >> + // pass offset as positive so the safepoint code plant a forward >> + // skip over the test rather than doing an unconditional backwards >> + // branch. that allows the condition test to be planted by >> + // whatever followed this call >> + Thumb2_Safepoint(jinfo, stackdepth, bci, -dest_taken); >> } >> } This one slipped through. The last argument should be -offset not -dest_taken. Given the right program the original posted code causes an error, as I found this very quickly when I tried to run javac. Having patched it to pass -offset things now work as expected. regards, Andrew Dinn ----------- From aph at redhat.com Tue May 15 10:57:18 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 15 May 2012 18:57:18 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB2916B.6090407@redhat.com> References: <4FB12D76.2090909@redhat.com> <4FB13A67.3010604@redhat.com> <4FB2916B.6090407@redhat.com> Message-ID: <4FB298FE.5050107@redhat.com> On 05/15/2012 06:24 PM, Andrew Dinn wrote: >>> >>> >> if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { >> > >> > I think this is really the wrong test. We should just be checking >> > dest < bci. > Hmm, I guess so. Although this convention of checking the bc_stackinfo > flags is used throughout the compiler. Yes, it is. My bad; it's not correct for safepoint checks. Andrew. From aph at redhat.com Tue May 15 11:01:03 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 15 May 2012 19:01:03 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB21DFB.1070709@redhat.com> References: <4FB12D76.2090909@redhat.com> <4FB13A67.3010604@redhat.com> <4FB21DFB.1070709@redhat.com> Message-ID: <4FB299DF.7060707@redhat.com> On 05/15/2012 10:12 AM, Andrew Dinn wrote: >> I'm not really convinced that all this magic word stuff is necessary. >> > I guess if someone other than a safepoint check does fault we'll see >> > it in the backtrace, so this is OK. But is it really worth all the >> > complexity? > If we remove this check and some bug happens to invalidly read or write > the safepoint page then we will blithely skip the PC forwards 6 or 8 > bytes and return from the signal handler i.e. trying to continue > execution from wherever that adjustment takes us. We might be lucky and > see another SEGV or an illegal instruction causing a fatal exit. > However, we might also be unlucky and continue Java execution with > corrupt Java or VM data. I would not want to debug the latter -- the > error might manifest many instructions later. Well, yes. But we don't check that some rogue code elsewhere hasn't, say, corrupted the stack either. What's different about this? Andrew. From ddadacha at redhat.com Tue May 15 11:10:52 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Tue, 15 May 2012 14:10:52 -0400 Subject: [rfc][icedtea-web] all debug outputs of unittests to stderr In-Reply-To: <4FB1183A.7020702@redhat.com> References: <4FB1183A.7020702@redhat.com> Message-ID: <4FB29C2C.4000605@redhat.com> Hi Jiri, On 14/05/12 10:35 AM, Jiri Vanek wrote: > I think that it is good idea to keep stdout of unittest clean, as there is stdout printed result. If you agree, then I will modify wiki > with recommendation that all outputs should go to error stream. > Agreed, if it is not directly used, I think it should be stderr as well. It may look a bit weird that "New classloader: null" is going to stdout but there isn't much we can do about that. > Currently few tests are printing to stdout. If you agree that it have sense, then there is patch which will move them to stderr. > But I'm not 100% sure how excellent idea this is (maybe very non-sense rule?) > > > 2012-05-14 Jiri Vanek > > * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: > * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: > System.out replaced with System.err There seems to be 2 spaces before System.out there, could you remove those? My only nitpick =) Thanks for doing this! Feel free to push. Cheers, Danesh From adomurad at redhat.com Tue May 15 13:15:42 2012 From: adomurad at redhat.com (Adam Domurad) Date: Tue, 15 May 2012 16:15:42 -0400 (EDT) Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: <75b85056-ebbd-4b5e-9ff2-2d8634c76f38@zmail19.collab.prod.int.phx2.redhat.com> Message-ID: Hey, first try at a commit. I went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls. Changelog entry: 2012-05-15 Adam Domurad Fixed uses of == to compare String objects to .equals where appropriate noted a non-obvious use of == to compare a 'magic' String reference. * netx/net/sourceforge/jnlp/JNLPFile.java: and * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: and * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: changed calls that compare String contents from == to .equals * netx/net/sourceforge/jnlp/Version.java: added comment explaining why == was used vs .equals -------------- next part -------------- A non-text attachment was scrubbed... Name: findbugs-assisted-string-equals-fix.patch Type: text/x-patch Size: 4513 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120515/eddf9ec4/findbugs-assisted-string-equals-fix.patch From dbhole at redhat.com Tue May 15 13:39:19 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 15 May 2012 16:39:19 -0400 Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: References: <75b85056-ebbd-4b5e-9ff2-2d8634c76f38@zmail19.collab.prod.int.phx2.redhat.com> Message-ID: <20120515203918.GJ27873@redhat.com> * Adam Domurad [2012-05-15 16:17]: > Hey, first try at a commit. > > I went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls. > Hi Adam, Thanks! Few minor grammar issues and one technical issue: > Changelog entry: > 2012-05-15 Adam Domurad > > Fixed uses of == to compare String objects to .equals where appropriate > noted a non-obvious use of == to compare a 'magic' String reference. Period after appropriate, capital N for noted. > * netx/net/sourceforge/jnlp/JNLPFile.java: and The first entry should specify what is being done with the rest saying something like "Same." rather than the specification being for the last entry. Also, please capitalize the a in "added" below. > * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: and > * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: > changed calls that compare String contents from == to .equals > * netx/net/sourceforge/jnlp/Version.java: added comment explaining why > == was used vs .equals > diff --git a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > --- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > +++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > @@ -50,7 +50,7 @@ public class GetMemberPluginCallRequest > String[] args = message.split(" "); > // FIXME: Is it even possible to distinguish between null and void > // here? > - if (args[3] != "null" && args[3] != "void") > + if (args[3].equals("null") && args[3].equals("void")) This changes the logic. Should be: if (!args[3].equals("null") && !args[3].equals("void")) ... Rest looks good. After the fixing the above, OK for HEAD/1.1/1.2 Cheers, Deepak From ptisnovs at redhat.com Wed May 16 01:28:20 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 16 May 2012 10:28:20 +0200 Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: References: Message-ID: <4FB36524.2010900@redhat.com> Adam Domurad wrote: > Hey, first try at a commit. > > I went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls. > > Changelog entry: > 2012-05-15 Adam Domurad > > Fixed uses of == to compare String objects to .equals where appropriate > noted a non-obvious use of == to compare a 'magic' String reference. > * netx/net/sourceforge/jnlp/JNLPFile.java: and > * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: and > * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: > changed calls that compare String contents from == to .equals > * netx/net/sourceforge/jnlp/Version.java: added comment explaining why > == was used vs .equals > Hi Adam, I'm a bit worried with following changes: - if (id == "member") { + if (id.equals("member")) { return new GetMemberPluginCallRequest(message, reference); - } else if (id == "void") { + } else if (id.equals("void")) { return new VoidPluginCallRequest(message, reference); - } else if (id == "window") { + } else if (id.equals("window")) { return new GetWindowPluginCallRequest(message, reference); - } else if (id == "proxyinfo") { + } else if (id.equals("proxyinfo")) { return new PluginProxyInfoRequest(message, reference); - } else if (id == "cookieinfo") { + } else if (id.equals("cookieinfo")) { It could change the runtime behaviour of the application in case the "id" is null. In previous version the NPE is not thrown, but with your changes it could occur. IMHO it would be better to change the first and second item for equals, like this: if ("member".equals(id)) .... Cheers, Pavel From adinn at redhat.com Wed May 16 01:28:27 2012 From: adinn at redhat.com (Andrew Dinn) Date: Wed, 16 May 2012 09:28:27 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB299DF.7060707@redhat.com> References: <4FB12D76.2090909@redhat.com> <4FB13A67.3010604@redhat.com> <4FB21DFB.1070709@redhat.com> <4FB299DF.7060707@redhat.com> Message-ID: <4FB3652B.2050908@redhat.com> On 15/05/12 19:01, Andrew Haley wrote: > On 05/15/2012 10:12 AM, Andrew Dinn wrote: >>> I'm not really convinced that all this magic word stuff is necessary. >>>> I guess if someone other than a safepoint check does fault we'll see >>>> it in the backtrace, so this is OK. But is it really worth all the >>>> complexity? > >> If we remove this check and some bug happens to invalidly read or write >> the safepoint page then we will blithely skip the PC forwards 6 or 8 >> bytes and return from the signal handler i.e. trying to continue >> execution from wherever that adjustment takes us. We might be lucky and >> see another SEGV or an illegal instruction causing a fatal exit. >> However, we might also be unlucky and continue Java execution with >> corrupt Java or VM data. I would not want to debug the latter -- the >> error might manifest many instructions later. > > Well, yes. But we don't check that some rogue code elsewhere hasn't, > say, corrupted the stack either. What's different about this? What is different is that instead of having the JVM stop at the SEGV we adjust the PC and continue execution. This may only occur in a small number of cases but it means that instead of detecting an easibly detectable error and failing early (always a good principle if detection is cheap) we almost certainly delay the failure until later. That risks making the error much more opaque. If (when?) such a SEGV happens identifying what has gone on will likely be a nasty maintenance problem. That compounds the standard risk from propagating any program state corruption i.e. potentially serious consequences for the integrity of user data. What are the costs of detecting: 1) compile time costs -- we have to plant the extra magic word at compile time and we have to work out whether to plant a 4 or 6 byte offset in the read instruction -- this is fairly small especially as it only occurs once per compiled method. 2) runtime costs -- in the signal handler we have to subtract the address from the poll page base to derive the offset and pass this extra parameter to the poll check routine plus check the return value. in the poll adjust routine we have to read and test the magic word and maybe branch if we decide this is a real SEGV rather than a poll request SEGV. We also have an extra value to add when adjusting the PC. These are also small costs especially as safepoint checks don't happen very often. 3) maintenance costs -- the code is a little more tricky to understand. That said, I assume that anyone who can understand how the flow of control is adjusted via a signal handler monkeying with the PC ought to have little problem with following this extra detail, especially as it is fully commented. regards, Andrew Dinn ----------- From aph at redhat.com Wed May 16 01:37:14 2012 From: aph at redhat.com (Andrew Haley) Date: Wed, 16 May 2012 09:37:14 +0100 Subject: [rfc][ARM] Support for safepoint check based on memory protect rather than polling In-Reply-To: <4FB3652B.2050908@redhat.com> References: <4FB12D76.2090909@redhat.com> <4FB13A67.3010604@redhat.com> <4FB21DFB.1070709@redhat.com> <4FB299DF.7060707@redhat.com> <4FB3652B.2050908@redhat.com> Message-ID: <4FB3673A.3090207@redhat.com> On 05/16/2012 09:28 AM, Andrew Dinn wrote: > On 15/05/12 19:01, Andrew Haley wrote: >> On 05/15/2012 10:12 AM, Andrew Dinn wrote: >>>> I'm not really convinced that all this magic word stuff is necessary. >>>>> I guess if someone other than a safepoint check does fault we'll see >>>>> it in the backtrace, so this is OK. But is it really worth all the >>>>> complexity? >> >>> If we remove this check and some bug happens to invalidly read or write >>> the safepoint page then we will blithely skip the PC forwards 6 or 8 >>> bytes and return from the signal handler i.e. trying to continue >>> execution from wherever that adjustment takes us. We might be lucky and >>> see another SEGV or an illegal instruction causing a fatal exit. >>> However, we might also be unlucky and continue Java execution with >>> corrupt Java or VM data. I would not want to debug the latter -- the >>> error might manifest many instructions later. >> >> Well, yes. But we don't check that some rogue code elsewhere hasn't, >> say, corrupted the stack either. What's different about this? > > What is different is that instead of having the JVM stop at the SEGV we > adjust the PC and continue execution. This may only occur in a small > number of cases but it means that instead of detecting an easibly > detectable error and failing early (always a good principle if detection > is cheap) we almost certainly delay the failure until later. That risks > making the error much more opaque. If (when?) such a SEGV happens > identifying what has gone on will likely be a nasty maintenance problem. > That compounds the standard risk from propagating any program state > corruption i.e. potentially serious consequences for the integrity of > user data. OK, but I still don't see how this is any different from any one of a million possible things we could check. It's an assertion, really. But assertions get turned off. > What are the costs of detecting: The most important cost is cache pressure. But OK, I'll reluctantly go along with it. Andrew. From jvanek at redhat.com Wed May 16 01:52:03 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 16 May 2012 10:52:03 +0200 Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: References: Message-ID: <4FB36AB3.5090108@redhat.com> On 05/15/2012 10:15 PM, Adam Domurad wrote: > Hey, first try at a commit. > > I went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls. I have little bit more issues with this, see below and do not shoot me;) > > Changelog entry: > 2012-05-15 Adam Domurad > > Fixed uses of == to compare String objects to .equals where appropriate > noted a non-obvious use of == to compare a 'magic' String reference. > * netx/net/sourceforge/jnlp/JNLPFile.java: and > * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: and > * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: > changed calls that compare String contents from == to .equals > * netx/net/sourceforge/jnlp/Version.java: added comment explaining why > == was used vs .equals > > As Deepak already mentioned. > findbugs-assisted-string-equals-fix.patch > > > diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java > @@ -208,7 +208,7 @@ public class JNLPFile { > //(i.e. If the jnlp file being launched exist locally, but it > //originated from a website, then download the one from the website > //into the cache). > - if (sourceLocation != null&& location.getProtocol() == "file") { > + if (sourceLocation != null&& location.getProtocol().equals("file")) { > openURL(sourceLocation, version, policy); > } > definitely: if (sourceLocation != null && "file".equals(location.getProtocol())) { In your case NpE is possible, in my it will return false instead. And even if it is not possible to have null, then it is good habit to have constant ewuals variable and not vice versa. I would also recommend move "file" to constant. Not sure if there is some exact place for this. > diff --git a/netx/net/sourceforge/jnlp/SecurityDesc.java b/netx/net/sourceforge/jnlp/SecurityDesc.java > --- a/netx/net/sourceforge/jnlp/SecurityDesc.java > +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java > @@ -202,7 +202,7 @@ public class SecurityDesc { > PermissionCollection permissions = getSandBoxPermissions(); > > // discard sandbox, give all > - if (type == ALL_PERMISSIONS) { > + if (type.equals(ALL_PERMISSIONS)) { Same as above > permissions = new Permissions(); > if (customTrustedPolicy == null) { > permissions.add(new AllPermission()); > @@ -213,7 +213,7 @@ public class SecurityDesc { > } > > // add j2ee to sandbox if needed > - if (type == J2EE_PERMISSIONS) > + if (type.equals(J2EE_PERMISSIONS)) Same as above > for (int i = 0; i< j2eePermissions.length; i++) > permissions.add(j2eePermissions[i]); > > diff --git a/netx/net/sourceforge/jnlp/Version.java b/netx/net/sourceforge/jnlp/Version.java > --- a/netx/net/sourceforge/jnlp/Version.java > +++ b/netx/net/sourceforge/jnlp/Version.java > @@ -230,6 +230,7 @@ public class Version { > Integer number2 = Integer.valueOf(0); > > // compare as integers > + // for normalization key, compare exact object, not using .equals > try { > if (!(part1 == emptyString)) // compare to magic normalization key > number1 = Integer.valueOf(part1); > @@ -242,9 +243,9 @@ public class Version { > // means to compare as strings > } > > - if (part1 == emptyString) > + if (part1 == emptyString) // compare to magic normalization key > part1 = ""; well this is really funny :) > - if (part2 == emptyString) > + if (part2 == emptyString) // compare to magic normalization key > part2 = ""; > > return part1.compareTo(part2); > diff --git a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > --- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > +++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > @@ -50,7 +50,7 @@ public class GetMemberPluginCallRequest > String[] args = message.split(" "); > // FIXME: Is it even possible to distinguish between null and void > // here? > - if (args[3] != "null"&& args[3] != "void") > + if (args[3].equals("null")&& args[3].equals("void"))\ The same as (2x) above and the same with constant extraction. hmhm If those "null" "void" or "file" are too wide-spread then it will be probably better as separate patch - so as You wish! > object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[3])); > setDone(true); > } > diff --git a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > --- a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > +++ b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > @@ -41,15 +41,15 @@ public class PluginCallRequestFactory { > > public PluginCallRequest getPluginCallRequest(String id, String message, Long reference) { > > - if (id == "member") { > + if (id.equals("member")) { > return new GetMemberPluginCallRequest(message, reference); > - } else if (id == "void") { > + } else if (id.equals("void")) { > return new VoidPluginCallRequest(message, reference); > - } else if (id == "window") { > + } else if (id.equals("window")) { > return new GetWindowPluginCallRequest(message, reference); > - } else if (id == "proxyinfo") { > + } else if (id.equals("proxyinfo")) { > return new PluginProxyInfoRequest(message, reference); > - } else if (id == "cookieinfo") { > + } else if (id.equals("cookieinfo")) { > return new PluginCookieInfoRequest(message, reference); > } else { > throw new RuntimeException("Unknown plugin call request type requested from factory"); > Again - swap constant and variable. Deepak: >> - if (args[3] != "null" && args[3] != "void") >> + if (args[3].equals("null") && args[3].equals("void")) > >This changes the logic. Should be: > > if (!args[3].equals("null") && !args[3].equals("void")) . Again swap of constant x variable, and I would definitely like to see the final patch once more. > > Rest looks good. After the fixing the above, OK for HEAD/1.1/1.2 Are you sure with branches? Imho - I' m not against, although I think it is not necessary. It is not doing any harm in any of both ways. But I would like to wait a while before head and back-ports. eg week? Adam tahnx for running find bugs! No one wanted to do it (fear from bugs? :) Deepak - sorry partial contradiction :(( /me ashamed J. From ahughes at redhat.com Wed May 16 01:59:54 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 16 May 2012 09:59:54 +0100 Subject: [2.2 BRANCH] Fix broken BUILD_GCC/CXX support Message-ID: <20120516085954.GA10727@rivendell.middle-earth.co.uk> In merging in the u4 changes, some changes were made to the way the names of the C and C++ compiler binaries are set (due to integration of build-infra changes in HotSpot). The merge was done correctly for builds without BUILD_GCC/CXX set, but not with, as I discovered after when building via IcedTea. The following patch fixes this. Is it ok for the 2.2 branch? The build via IcedTea is broken without it. We need to look at the build-infra changes in more detail, but they make this local change (which allows something other than 'g++' or 'gcc' to be used as the compiler binary) unnecessary in 8 (the changes are only partially in 7u; they aren't in the jdk trees). (Note that BUILD_GCC/CXX replaces the need for GCC_SUFFIX with a more general solution. The fact that there was still a reference in there to GCC_SUFFIX was a mistake as it's no longer set). -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- # HG changeset patch # User andrew # Date 1335994552 -3600 # Node ID 5be91de8b779b6cf5a8236d4a2b51b5736da6852 # Parent 11f2ed4d21418f2fa9fc6cf520ff84b30c425c34 Make {HOST,BUILD}_{GCC,CPP} work again, post build-infra changes. Rename {HOST_BUILD}_CPP to {HOST_BUILD}_CXX. diff --git a/make/linux/makefiles/gcc.make b/make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make +++ b/make/linux/makefiles/gcc.make @@ -26,40 +26,40 @@ # CC, CXX & AS ifndef HOST_GCC +ifdef CROSS_COMPILE_ARCH HOST_GCC = gcc +else +HOST_GCC = $(CC) +endif endif -ifndef HOST_CPP -HOST_CPP = g++ +ifndef HOST_CXX +ifdef CROSS_COMPILE_ARCH +HOST_CXX = g++ +else +HOST_CXX = $(CXX) +endif endif ifndef BUILD_GCC ifdef CROSS_COMPILE_ARCH BUILD_GCC = $(ALT_COMPILER_PATH)/gcc -CXX = $(ALT_COMPILER_PATH)/g++ -CC = $(ALT_COMPILER_PATH)/gcc -HOSTCXX = g++ -HOSTCC = gcc else BUILD_GCC = gcc -CXX = g++ -CC = gcc -HOSTCXX = $(CXX) -HOSTCC = $(CC) endif endif -ifndef BUILD_CPP +ifndef BUILD_CXX ifdef CROSS_COMPILE_ARCH -BUILD_CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX) +BUILD_CXX = $(ALT_COMPILER_PATH)/g++ else -BUILD_CPP = g++ +BUILD_CXX = g++ endif endif -CPP = $(BUILD_CPP) +CXX = $(BUILD_CXX) CC = $(BUILD_GCC) -HOSTCPP = $(HOST_CPP) +HOSTCXX = $(HOST_CXX) HOSTCC = $(HOST_GCC) AS = $(CC) -c -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/f91ee17f/attachment.bin From ptisnovs at icedtea.classpath.org Wed May 16 02:04:11 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 16 May 2012 09:04:11 +0000 Subject: /hg/MauveTestCoverage: * src/ClassInfo.java: Message-ID: changeset b6c8372f5723 in /hg/MauveTestCoverage details: http://icedtea.classpath.org/hg/MauveTestCoverage?cmd=changeset;node=b6c8372f5723 author: Pavel Tisnovsky date: Wed May 16 10:59:45 2012 +0200 * src/ClassInfo.java: * src/FileUtils.java: * src/PrintClassList.java: * src/PrintPublicMethods.java: * src/PrintTestCoverage.java: * src/ReportGenerator.java: Minor changes - JavaDoc and refactoring. diffstat: ChangeLog | 10 +++++++ src/ClassInfo.java | 10 +++--- src/FileUtils.java | 10 ++++-- src/PrintClassList.java | 17 +++++++---- src/PrintPublicMethods.java | 41 +++++++++++++++++++--------- src/PrintTestCoverage.java | 64 ++++++++++++++++++++++++++++++++++++++++---- src/ReportGenerator.java | 21 +++++++++++--- 7 files changed, 134 insertions(+), 39 deletions(-) diffs (456 lines): diff -r ed99188fff20 -r b6c8372f5723 ChangeLog --- a/ChangeLog Tue May 15 17:50:12 2012 +0200 +++ b/ChangeLog Wed May 16 10:59:45 2012 +0200 @@ -1,3 +1,13 @@ +2012-05-16 Pavel Tisnovsky + + * src/ClassInfo.java: + * src/FileUtils.java: + * src/PrintClassList.java: + * src/PrintPublicMethods.java: + * src/PrintTestCoverage.java: + * src/ReportGenerator.java: + Minor changes - JavaDoc and refactoring. + 2012-05-15 Pavel Tisnovsky * src/ReportGenerator.java: diff -r ed99188fff20 -r b6c8372f5723 src/ClassInfo.java --- a/src/ClassInfo.java Tue May 15 17:50:12 2012 +0200 +++ b/src/ClassInfo.java Wed May 16 10:59:45 2012 +0200 @@ -44,10 +44,10 @@ /** - * Instances of this class contain information about one tested class. - * There are three sets of strings stored for each class: set of methods - * contained in standard API, set of methods called from tests and the - * union of previous two sets. These information are used by test reporter. + * Instances of this class contain information about one tested class. There are + * three sets of strings stored for each class: set of methods contained in + * standard API, set of methods called from tests and the union of previous two + * sets. These information are used by the test reporter. * * @author Pavel Tisnovsky */ @@ -64,7 +64,7 @@ private Set testedMethods; /** - * Union of apiMethods and testedMethods. + * Union of both apiMethods and testedMethods sets. */ private Set allMethods; diff -r ed99188fff20 -r b6c8372f5723 src/FileUtils.java --- a/src/FileUtils.java Tue May 15 17:50:12 2012 +0200 +++ b/src/FileUtils.java Wed May 16 10:59:45 2012 +0200 @@ -50,9 +50,11 @@ import java.util.LinkedList; import java.util.List; + + /** - * Basic file utilities to avoid boring file handling. - * + * Basic file utilities to avoid boring file handling using standard Java API. + * * @author Pavel Tisnovsky */ class FileUtils @@ -303,6 +305,7 @@ int i1 = readOneByte(fileInputStream); int i2 = readOneByte(fileInputStream); // combine all two read bytes into a word + // (we don't care about signed/unsigned differences at this moment) return (i1 << 8) | (i2); } @@ -322,7 +325,8 @@ int i2 = readOneByte(fileInputStream); int i3 = readOneByte(fileInputStream); int i4 = readOneByte(fileInputStream); - // combine all four read bytes into a word + // combine all four read bytes into a 32bit word + // (we don't care about signed/unsigned differences at this moment) return (i1 << 24) | (i2 << 16) | (i3 << 8) | (i4); } diff -r ed99188fff20 -r b6c8372f5723 src/PrintClassList.java --- a/src/PrintClassList.java Tue May 15 17:50:12 2012 +0200 +++ b/src/PrintClassList.java Wed May 16 10:59:45 2012 +0200 @@ -49,11 +49,12 @@ /** * This class is used to generate and print list of all public classes which are - * stored in specified JAR archive. This JAR archive should be accessible + * stored in a specified JAR archive. This JAR archive should be accessible * through classloader (this means that -cp should be used in certain * situations). * - * This tool could be used (and is plannet to be used) against "rt.jar" + * This tool could be used (and is planned to be used) against "rt.jar" + * which is usually stored in /usr/lib/jvm/java-{$version}/jre/lib/ * * @author Pavel Tisnovsky */ @@ -72,11 +73,11 @@ */ private static void generateClassList(String pathToJarArchive) { // it's better to print sorted class names - // and TreeSet sorted its elements by default + // and the collection type TreeSet sorted its elements by default Set setOfClassNames = new TreeSet(); // try to read all public classes from Java archive readAllPublicClassesFromJarFile(pathToJarArchive, setOfClassNames); - // now we have the list filled, time to print them + // now we have the list filled and sorted, time to print them printAllPublicClassNames(setOfClassNames); } @@ -95,7 +96,7 @@ // open the archive and acquire all its entries jarFile = new JarFile(pathToJarArchive); - // entries inside Java archive + // entries inside the Java archive Enumeration entries = jarFile.entries(); // test each JAR entry @@ -103,6 +104,7 @@ JarEntry entry = entries.nextElement(); String className = generateClassName(entry.getName()); // only public classes are interesting at this moment + // (private classes could not be tested) if (isPublicClass(className)) { setOfClassNames.add(className); } @@ -132,6 +134,7 @@ */ private static void printAllPublicClassNames(Set setOfClassNames) { + // print all names of public classes for (String className : setOfClassNames) { System.out.println(className); } @@ -190,7 +193,8 @@ { String out = name; int postfixIndex = out.indexOf(".class"); - // remove postfix if its present in name + // remove postfix if its present in a name + // (should be) if (postfixIndex > 0) { out = out.substring(0, postfixIndex); @@ -217,6 +221,7 @@ pathToRtJar = args[0]; } System.err.println("Path to Jar file is set to: " + pathToRtJar); + // generate and print sorted list of public all classes generateClassList(pathToRtJar); } diff -r ed99188fff20 -r b6c8372f5723 src/PrintPublicMethods.java --- a/src/PrintPublicMethods.java Tue May 15 17:50:12 2012 +0200 +++ b/src/PrintPublicMethods.java Wed May 16 10:59:45 2012 +0200 @@ -42,27 +42,33 @@ import java.util.Set; import java.util.TreeSet; + + /** * This class generates a list containing all public methods and its argument - * types and return type for all classes specified in a file "class_list.txt" - * or in a file specified by a command line parameter. + * types and return type for all classes stored in a test file "class_list.txt" + * or in a text file specified by a command line parameter. * * @author Pavel Tisnovsky */ public class PrintPublicMethods { /** - * Get a Class instance for a given class name or null if something goes - * wrong. + * Return a Class instance for a given class name or null value if something + * goes wrong. * * @param className * name of a class (including package name) - * @return Class instance + * @return Class instance for a given class name. Null value is returned if + * something goes wrong, ie. class could not be found or it's not a + * public class etc. */ @SuppressWarnings("unchecked") private static Class getClass(String className) { + // variable to be returned from this method Class clazz = null; try { + // try to get a class for given class name clazz = Class.forName(className); // we need to get a list of public classes only // (Interfaces and non public classes is not interesting ATM) @@ -84,19 +90,20 @@ return null; } catch (NoClassDefFoundError e) { - // it might happen + // it might also happen return null; } // it is not a class at all or the class is not public + // only null value is returned return null; } /** * Remove "public", "static", "final", "synchronized" and "native" prefixes - * from full method name; + * from full method name. * * @param methodName - * method name with all prefixes + * method name containing possibly some prefixes * @return method name without prefixes */ private static String acquireMethodName(String methodName) { @@ -108,6 +115,7 @@ // remove one prefix methodNameString = removePrefix(methodNameString, prefix); } + // "throws" declaration should be removed too return removeThrowsFromDeclaration(methodNameString); } @@ -118,7 +126,7 @@ * method name that could contains prefix. * @param prefix * prefix to be removed. - * @return method name without prefixes + * @return method name without the selected prefix */ private static String removePrefix(String methodName, String prefix) { String prefixStr = prefix + " "; @@ -138,9 +146,12 @@ * is changed to: * *
-     * void java.lang.Object.wait() throws java.lang.InterruptedException
+     * void java.lang.Object.wait()
      * 
- * + * + * When the method does not contain "throws" declaration, it's name is not + * changed. + * * @param methodName * method name which could contain throws declaration * @return method name without throws declaration @@ -168,6 +179,7 @@ if (clazz == null) { return out; } + // retrieve all declared methods Method[] methods = clazz.getDeclaredMethods(); // process all methods select add only public ones for (Method method : methods) { @@ -180,8 +192,7 @@ } /** - * Get all public methods from given class name (if such class exists). - * + * Get all public constructors from given class name (if such class exists). * * @param className * name of a class (including package name) @@ -195,6 +206,7 @@ if (clazz == null) { return out; } + // get all declared constructors Constructor[] constructors = clazz.getConstructors(); // process all constructors select add only public ones for (Constructor constructor : constructors) { @@ -214,7 +226,9 @@ */ private static void printAllPublicMethodsAndConstructors(String className) { + // get and print all public constructors printAllConstructors(className); + // get and print all public methods printAllPublicMethods(className); } @@ -263,6 +277,7 @@ } else { + // used did not specified class list System.err.println("Usage java PrintPublicMethods package.className"); } } diff -r ed99188fff20 -r b6c8372f5723 src/PrintTestCoverage.java --- a/src/PrintTestCoverage.java Tue May 15 17:50:12 2012 +0200 +++ b/src/PrintTestCoverage.java Wed May 16 10:59:45 2012 +0200 @@ -57,20 +57,53 @@ */ enum ConstantPoolTag { + /** + * Reference to a class name. + */ CONSTANT_Class(7), + /** + * Reference to a field. + */ CONSTANT_Fieldref(9), - CONSTANT_Methodref(10), + /** + * Reference to a method. + */ + CONSTANT_Methodref(10), + /** + * Reference to an interface method. + */ CONSTANT_InterfaceMethodref(11), + /** + * Reference to a string. + */ CONSTANT_String(8), + /** + * Integer constant. + */ CONSTANT_Integer(3), + /** + * Float constant. + */ CONSTANT_Float(4), + /** + * Long constants (it occupies two constant pool entries). + */ CONSTANT_Long(5), + /** + * Double constant (it occupies two constant pool entries). + */ CONSTANT_Double(6), + /** + * Name and type tuple. + */ CONSTANT_NameAndType(12), + /** + * UTF-8 encoded string. + */ CONSTANT_Utf8(1); /** - * Value represented one enumeration item. + * Value which represents one enumeration item. */ private int value; @@ -96,17 +129,23 @@ } /** - * Converts integer value to a enumeration item. - * - * @param value integer value + * Converts integer value to an enumeration item. Null is returned if the + * given value does not correspond to any constant pool type. + * + * @param value + * integer value * @return selected enumeration item or null */ public static ConstantPoolTag intToConstantPoolTag(int value) { + // loop over all known values + // and try to find the particular value for (ConstantPoolTag val : values()) { + // if value is found if (val.value == value) { + // return it return val; } } @@ -115,7 +154,7 @@ } /** - * Abstract class which represents any constant pool record. + * Abstract class which could represent any constant pool record. * * @author Pavel Tisnovsky */ @@ -177,14 +216,25 @@ } /** - * Class representing class record stored in constant pool. + * Class representing class record stored in a constant pool. * * @author Pavel Tisnovsky */ class ClassRecord extends ConstantPoolRecord { + /** + * Reference to a class name stored itself in constant pool. + */ private int classNameIndex; + /** + * Constructor with initialization code. + * + * @param tag + * tag associated with each constant pool record. + * @param classNameIndex + * reference to a class name stored itself in constant pool + */ public ClassRecord(ConstantPoolTag tag, int classNameIndex) { super(tag); diff -r ed99188fff20 -r b6c8372f5723 src/ReportGenerator.java --- a/src/ReportGenerator.java Tue May 15 17:50:12 2012 +0200 +++ b/src/ReportGenerator.java Wed May 16 10:59:45 2012 +0200 @@ -690,11 +690,7 @@ System.out.println("Report directory: " + reportDirectory); - Map classInfoMap = new HashMap(); - for (String className : allClasses) - { - classInfoMap.put(className, new ClassInfo(reportDirectory, className)); - } + Map classInfoMap = prepareClassInfoMap(reportDirectory, allClasses); printPackageListToFile(reportDirectory, allClasses, testedClasses, usedPackageNames, classInfoMap); printReportForAllClassesInOneFile(reportDirectory, usedPackageNames, testedClasses, classInfoMap); @@ -704,6 +700,21 @@ } /** + * @param reportDirectory + * @param allClasses + * @return + */ + private static Map prepareClassInfoMap(String reportDirectory, Set allClasses) + { + Map classInfoMap = new HashMap(); + for (String className : allClasses) + { + classInfoMap.put(className, new ClassInfo(reportDirectory, className)); + } + return classInfoMap; + } + + /** * Entry point to the report generator. * * @param args From andrew at icedtea.classpath.org Wed May 16 02:55:19 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 09:55:19 +0000 Subject: /hg/icedtea6: Add latest releases to NEWS. Message-ID: changeset aec65000349f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aec65000349f author: Andrew John Hughes date: Wed May 16 10:55:10 2012 +0100 Add latest releases to NEWS. 2012-05-16 Andrew John Hughes * NEWS: Add latest releases, 1.10.7 & 1.11.2 diffstat: ChangeLog | 4 ++++ NEWS | 32 ++++++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) diffs (61 lines): diff -r 6ae19889a9e0 -r aec65000349f ChangeLog --- a/ChangeLog Thu May 10 04:11:15 2012 +0100 +++ b/ChangeLog Wed May 16 10:55:10 2012 +0100 @@ -1,3 +1,7 @@ +2012-05-16 Andrew John Hughes + + * NEWS: Add latest releases, 1.10.7 & 1.11.2 + 2012-05-10 Andrew John Hughes * Makefile.am: Add new patches. diff -r 6ae19889a9e0 -r aec65000349f NEWS --- a/NEWS Thu May 10 04:11:15 2012 +0100 +++ b/NEWS Wed May 16 10:55:10 2012 +0100 @@ -12,20 +12,40 @@ New in release 1.12 (2012-XX-XX): -* Bug fixes - - PR865: Patching fails with patches/ecj/jaxws-getdtdtype.patch - - PR886: 6-1.11.1 fails to build CACAO on ppc - - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 - - RH789154: javac error messages no longer contain the full path to the offending file: - - PR797: Compiler error message does not display entire file name and path * Backports - S6706974: Add krb5 test infrastructure - S6764553: com.sun.org.apache.xml.internal.security.utils.IdResolver is not thread safe - S6761072: new krb5 tests fail on multiple platforms - S6883983: JarVerifier dependency on sun.security.pkcs should be removed - S4465490: Suspicious about double-check locking idiom being used in the code + +New in release 1.11.2 (2012-05-11): + +* Bug fixes + - RH789154: javac error messages no longer contain the full path to the offending file: + - PR797: Compiler error message does not display entire file name and path + - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - PR886: 6-1.11.1 fails to build CACAO on ppc + - Specify both source and target in IT_GET_DTDTYPE_CHECK. + - Install nss.cfg into j2re-image too. + - PR584: Don't use shared Eden in incremental mode. +* Backports - S6792400: Avoid loading of Normalizer resources for simple uses +New in release 1.10.7 (2012-05-11): + +* Fixed build with GCC 4.7 +* Bug fixes + - PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan + - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - Specify both source and target in IT_GET_DTDTYPE_CHECK. + - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' + - Install nss.cfg into j2re-image too. +* Backports + - S6792400: Avoid loading of Normalizer resources for simple uses + - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc + - S7140882: Don't return booleans from methods returning pointers + New in release 1.10.6 (2012-02-14): * Security fixes From andrew at icedtea.classpath.org Wed May 16 02:56:47 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 09:56:47 +0000 Subject: /hg/release/icedtea6-1.10: Prepare for 1.10.8. Message-ID: changeset d4b5430ea2c1 in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=d4b5430ea2c1 author: Andrew John Hughes date: Wed May 16 10:56:40 2012 +0100 Prepare for 1.10.8. 2012-05-16 Andrew John Hughes * NEWS: Add 1.10.8 section. * configure.ac: Set to 1.10.8pre. diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- 3 files changed, 8 insertions(+), 1 deletions(-) diffs (33 lines): diff -r 557de9e31159 -r d4b5430ea2c1 ChangeLog --- a/ChangeLog Fri May 11 16:48:48 2012 +0100 +++ b/ChangeLog Wed May 16 10:56:40 2012 +0100 @@ -1,3 +1,8 @@ +2012-05-16 Andrew John Hughes + + * NEWS: Add 1.10.8 section. + * configure.ac: Set to 1.10.8pre. + 2012-05-11 Andrew John Hughes * NEWS: Add NEWS entry for nss.cfg fix. diff -r 557de9e31159 -r d4b5430ea2c1 NEWS --- a/NEWS Fri May 11 16:48:48 2012 +0100 +++ b/NEWS Wed May 16 10:56:40 2012 +0100 @@ -9,6 +9,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 1.10.8 (2012-XX-XX): + New in release 1.10.7 (2012-05-11): * Fixed build with GCC 4.7 diff -r 557de9e31159 -r d4b5430ea2c1 configure.ac --- a/configure.ac Fri May 11 16:48:48 2012 +0100 +++ b/configure.ac Wed May 16 10:56:40 2012 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.10.7],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.10.8pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From andrew at icedtea.classpath.org Wed May 16 02:57:55 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 09:57:55 +0000 Subject: /hg/release/icedtea6-1.11: Prepare for 1.11.3 Message-ID: changeset 1d8518a44858 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=1d8518a44858 author: Andrew John Hughes date: Wed May 16 10:57:49 2012 +0100 Prepare for 1.11.3 2012-05-16 Andrew John Hughes * NEWS: Add latest releases, 1.10.7 & 1.11.2 diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- 3 files changed, 8 insertions(+), 1 deletions(-) diffs (33 lines): diff -r d58160b91191 -r 1d8518a44858 ChangeLog --- a/ChangeLog Fri May 11 16:49:04 2012 +0100 +++ b/ChangeLog Wed May 16 10:57:49 2012 +0100 @@ -1,3 +1,8 @@ +2012-05-16 Andrew John Hughes + + * NEWS: Add 1.11.3 section. + * configure.ac: Set to 1.11.3pre. + 2012-05-11 Andrew John Hughes * NEWS: Set release date, add missing entries. diff -r d58160b91191 -r 1d8518a44858 NEWS --- a/NEWS Fri May 11 16:49:04 2012 +0100 +++ b/NEWS Wed May 16 10:57:49 2012 +0100 @@ -10,6 +10,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 1.11.3 (2012-XX-XX): + New in release 1.11.2 (2012-05-11): * Bug fixes diff -r d58160b91191 -r 1d8518a44858 configure.ac --- a/configure.ac Fri May 11 16:49:04 2012 +0100 +++ b/configure.ac Wed May 16 10:57:49 2012 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.11.2],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.11.3pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From bugzilla-daemon at icedtea.classpath.org Wed May 16 03:10:28 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 10:10:28 +0000 Subject: [Bug 732] Use xsltproc for bootstrap xslt in place of Xerces/Xalan In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=732 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|6-1.11 |6-1.10.7 --- Comment #7 from Andrew John Hughes --- Released in 1.10.7. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/f369de2c/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 16 03:13:22 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 10:13:22 +0000 Subject: [Bug 797] Compiler error message does not display entire file name and path In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=797 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ahughes at redhat.com Target Milestone|--- |6-1.11.2 --- Comment #4 from Andrew John Hughes --- Released in 1.11.2. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/a01da0ac/attachment.html From ahughes at redhat.com Wed May 16 03:40:47 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 16 May 2012 11:40:47 +0100 Subject: [2.2 BRANCH] No strict aliasing Message-ID: <20120516104046.GA13103@rivendell.middle-earth.co.uk> The attached patch turns off strict aliasing when building ExtensionSubtables.cpp which otherwise produces the following warnings: ../../../src/share/native/sun/font/layout/ExtensionSubtables.cpp:57:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] Ok for the 2.2 branch? This is already in HEAD. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- # HG changeset patch # User andrew # Date 1336136728 -3600 # Node ID fd327c7e74dab7f24448aa21691c75411eaf5626 # Parent 5f96377cf55e0233ef502e77c29e5510ea8c5a4e Turn off strict aliasing for ExtensionSubtables.cpp diff --git a/make/sun/font/Makefile b/make/sun/font/Makefile --- a/make/sun/font/Makefile +++ b/make/sun/font/Makefile @@ -90,6 +90,11 @@ endif # PLATFORM +# Turn off aliasing with GCC for ExtensionSubtables.cpp +ifeq ($(PLATFORM), linux) + OTHER_CXXFLAGS += -fno-strict-aliasing +endif + #In the non-OpenJDK mode we need to build T2K ifndef OPENJDK t2k: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/6755607c/attachment.bin From ahughes at redhat.com Wed May 16 03:43:57 2012 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 16 May 2012 11:43:57 +0100 Subject: [2.2 BRANCH] Allow providers to pass TestAES even if they don't provide wrap mode Message-ID: <20120516104357.GA5730@rivendell.middle-earth.co.uk> If a cryptography provider doesn't support a particular mode or algorithm, it throws exception. At present, the tests added in u4 skip testing that function of such providers, with the exception of wrapping in TestAES, which instead throws the exception up to the user and causes the test to fail. This treats a request for wrap mode like the others, and skips the test if it's not available. Ok for 2.2 branch? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- # HG changeset patch # User andrew # Date 1336091783 -3600 # Node ID 5f96377cf55e0233ef502e77c29e5510ea8c5a4e # Parent 9b7558b91244fd890631aa8c150a9bc1d55dc37b Skip wrap mode tests if wrap mode is not available. diff --git a/test/com/oracle/security/ucrypto/TestAES.java b/test/com/oracle/security/ucrypto/TestAES.java --- a/test/com/oracle/security/ucrypto/TestAES.java +++ b/test/com/oracle/security/ucrypto/TestAES.java @@ -219,7 +219,12 @@ System.err.println("Skipping Unsupported CIP algo: " + algos[i]); continue; } - c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); + try { + c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); + } catch (InvalidAlgorithmParameterException e) { + System.err.println("Skipping due to lack of WRAP_MODE support."); + continue; + } AlgorithmParameters params = c1.getParameters(); Cipher c2 = Cipher.getInstance(algos[i], interopP); c2.init(Cipher.UNWRAP_MODE, key, params, null); -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/a208e056/attachment.bin From jvanek at redhat.com Wed May 16 03:56:32 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 16 May 2012 12:56:32 +0200 Subject: [2.2 BRANCH] No strict aliasing In-Reply-To: <20120516104046.GA13103@rivendell.middle-earth.co.uk> References: <20120516104046.GA13103@rivendell.middle-earth.co.uk> Message-ID: <4FB387E0.4090904@redhat.com> On 05/16/2012 12:40 PM, Dr Andrew John Hughes wrote: > The attached patch turns off strict aliasing when building > ExtensionSubtables.cpp which otherwise produces the following > warnings: > > ../../../src/share/native/sun/font/layout/ExtensionSubtables.cpp:57:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] > > Ok for the 2.2 branch? This is already in HEAD. There is missing changelog, after adding, ok to push. J. From ahughes at redhat.com Wed May 16 03:58:52 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 16 May 2012 06:58:52 -0400 (EDT) Subject: [2.2 BRANCH] No strict aliasing In-Reply-To: <4FB387E0.4090904@redhat.com> Message-ID: ----- Original Message ----- > On 05/16/2012 12:40 PM, Dr Andrew John Hughes wrote: > > The attached patch turns off strict aliasing when building > > ExtensionSubtables.cpp which otherwise produces the following > > warnings: > > > > ../../../src/share/native/sun/font/layout/ExtensionSubtables.cpp:57:31: > > warning: dereferencing type-punned pointer will break > > strict-aliasing rules [-Wstrict-aliasing] > > > > Ok for the 2.2 branch? This is already in HEAD. > > > There is missing changelog, after adding, ok to push. > This is the forest. We don't have a ChangeLog. > J. > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Wed May 16 04:00:47 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 16 May 2012 13:00:47 +0200 Subject: [2.2 BRANCH] No strict aliasing In-Reply-To: References: Message-ID: <4FB388DF.1090001@redhat.com> On 05/16/2012 12:58 PM, Andrew Hughes wrote: > > > ----- Original Message ----- >> On 05/16/2012 12:40 PM, Dr Andrew John Hughes wrote: >>> The attached patch turns off strict aliasing when building >>> ExtensionSubtables.cpp which otherwise produces the following >>> warnings: >>> >>> ../../../src/share/native/sun/font/layout/ExtensionSubtables.cpp:57:31: >>> warning: dereferencing type-punned pointer will break >>> strict-aliasing rules [-Wstrict-aliasing] >>> >>> Ok for the 2.2 branch? This is already in HEAD. >> >> >> There is missing changelog, after adding, ok to push. >> > > This is the forest. We don't have a ChangeLog. > yy. Sorry. I always forgot this fact. ok then. >> J. >> > From dbhole at redhat.com Wed May 16 04:50:50 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 16 May 2012 07:50:50 -0400 Subject: [2.2 BRANCH] Fix broken BUILD_GCC/CXX support In-Reply-To: <20120516085954.GA10727@rivendell.middle-earth.co.uk> References: <20120516085954.GA10727@rivendell.middle-earth.co.uk> Message-ID: <20120516115049.GB21272@redhat.com> * Dr Andrew John Hughes [2012-05-16 05:02]: > In merging in the u4 changes, some changes were made to the way the > names of the C and C++ compiler binaries are set (due to integration > of build-infra changes in HotSpot). The merge was done correctly for > builds without BUILD_GCC/CXX set, but not with, as I discovered after > when building via IcedTea. > > The following patch fixes this. Is it ok for the 2.2 branch? The build > via IcedTea is broken without it. > > We need to look at the build-infra changes in more detail, but they make > this local change (which allows something other than 'g++' or 'gcc' to be > used as the compiler binary) unnecessary in 8 (the changes are only partially > in 7u; they aren't in the jdk trees). > > (Note that BUILD_GCC/CXX replaces the need for GCC_SUFFIX with a more general > solution. The fact that there was still a reference in there to GCC_SUFFIX > was a mistake as it's no longer set). Looks fine to me. OK for 2.2 and HEAD Cheers, Deepak > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > # HG changeset patch > # User andrew > # Date 1335994552 -3600 > # Node ID 5be91de8b779b6cf5a8236d4a2b51b5736da6852 > # Parent 11f2ed4d21418f2fa9fc6cf520ff84b30c425c34 > Make {HOST,BUILD}_{GCC,CPP} work again, post build-infra changes. Rename {HOST_BUILD}_CPP to {HOST_BUILD}_CXX. > > diff --git a/make/linux/makefiles/gcc.make b/make/linux/makefiles/gcc.make > --- a/make/linux/makefiles/gcc.make > +++ b/make/linux/makefiles/gcc.make > @@ -26,40 +26,40 @@ > # CC, CXX & AS > > ifndef HOST_GCC > +ifdef CROSS_COMPILE_ARCH > HOST_GCC = gcc > +else > +HOST_GCC = $(CC) > +endif > endif > > -ifndef HOST_CPP > -HOST_CPP = g++ > +ifndef HOST_CXX > +ifdef CROSS_COMPILE_ARCH > +HOST_CXX = g++ > +else > +HOST_CXX = $(CXX) > +endif > endif > > ifndef BUILD_GCC > ifdef CROSS_COMPILE_ARCH > BUILD_GCC = $(ALT_COMPILER_PATH)/gcc > -CXX = $(ALT_COMPILER_PATH)/g++ > -CC = $(ALT_COMPILER_PATH)/gcc > -HOSTCXX = g++ > -HOSTCC = gcc > else > BUILD_GCC = gcc > -CXX = g++ > -CC = gcc > -HOSTCXX = $(CXX) > -HOSTCC = $(CC) > endif > endif > > -ifndef BUILD_CPP > +ifndef BUILD_CXX > ifdef CROSS_COMPILE_ARCH > -BUILD_CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX) > +BUILD_CXX = $(ALT_COMPILER_PATH)/g++ > else > -BUILD_CPP = g++ > +BUILD_CXX = g++ > endif > endif > > -CPP = $(BUILD_CPP) > +CXX = $(BUILD_CXX) > CC = $(BUILD_GCC) > -HOSTCPP = $(HOST_CPP) > +HOSTCXX = $(HOST_CXX) > HOSTCC = $(HOST_GCC) > > AS = $(CC) -c From dbhole at redhat.com Wed May 16 04:54:05 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 16 May 2012 07:54:05 -0400 Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: <4FB36AB3.5090108@redhat.com> References: <4FB36AB3.5090108@redhat.com> Message-ID: <20120516115403.GC21272@redhat.com> * Jiri Vanek [2012-05-16 04:51]: > On 05/15/2012 10:15 PM, Adam Domurad wrote: > >Hey, first try at a commit. > > > >I went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls. > > I have little bit more issues with this, see below and do not shoot me;) > > > >Changelog entry: > >2012-05-15 Adam Domurad > > > > Fixed uses of == to compare String objects to .equals where appropriate > > noted a non-obvious use of == to compare a 'magic' String reference. > > * netx/net/sourceforge/jnlp/JNLPFile.java: and > > * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: and > > * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: > > changed calls that compare String contents from == to .equals > > * netx/net/sourceforge/jnlp/Version.java: added comment explaining why > > == was used vs .equals > > > > > > As Deepak already mentioned. > >findbugs-assisted-string-equals-fix.patch > > > > > >diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java > >--- a/netx/net/sourceforge/jnlp/JNLPFile.java > >+++ b/netx/net/sourceforge/jnlp/JNLPFile.java > >@@ -208,7 +208,7 @@ public class JNLPFile { > > //(i.e. If the jnlp file being launched exist locally, but it > > //originated from a website, then download the one from the website > > //into the cache). > >- if (sourceLocation != null&& location.getProtocol() == "file") { > >+ if (sourceLocation != null&& location.getProtocol().equals("file")) { > > openURL(sourceLocation, version, policy); > > } > > > > definitely: if (sourceLocation != null && "file".equals(location.getProtocol())) { > > In your case NpE is possible, in my it will return false instead. > And even if it is not possible to have null, then it is good habit > to have constant ewuals variable and not vice versa. > > I would also recommend move "file" to constant. Not sure if there is some exact place for this. > > > >diff --git a/netx/net/sourceforge/jnlp/SecurityDesc.java b/netx/net/sourceforge/jnlp/SecurityDesc.java > >--- a/netx/net/sourceforge/jnlp/SecurityDesc.java > >+++ b/netx/net/sourceforge/jnlp/SecurityDesc.java > >@@ -202,7 +202,7 @@ public class SecurityDesc { > > PermissionCollection permissions = getSandBoxPermissions(); > > > > // discard sandbox, give all > >- if (type == ALL_PERMISSIONS) { > >+ if (type.equals(ALL_PERMISSIONS)) { > > Same as above > > > permissions = new Permissions(); > > if (customTrustedPolicy == null) { > > permissions.add(new AllPermission()); > >@@ -213,7 +213,7 @@ public class SecurityDesc { > > } > > > > // add j2ee to sandbox if needed > >- if (type == J2EE_PERMISSIONS) > >+ if (type.equals(J2EE_PERMISSIONS)) > > Same as above > > for (int i = 0; i< j2eePermissions.length; i++) > > permissions.add(j2eePermissions[i]); > > > >diff --git a/netx/net/sourceforge/jnlp/Version.java b/netx/net/sourceforge/jnlp/Version.java > >--- a/netx/net/sourceforge/jnlp/Version.java > >+++ b/netx/net/sourceforge/jnlp/Version.java > >@@ -230,6 +230,7 @@ public class Version { > > Integer number2 = Integer.valueOf(0); > > > > // compare as integers > >+ // for normalization key, compare exact object, not using .equals > > try { > > if (!(part1 == emptyString)) // compare to magic normalization key > > number1 = Integer.valueOf(part1); > >@@ -242,9 +243,9 @@ public class Version { > > // means to compare as strings > > } > > > >- if (part1 == emptyString) > >+ if (part1 == emptyString) // compare to magic normalization key > > part1 = ""; > > well this is really funny :) > > >- if (part2 == emptyString) > >+ if (part2 == emptyString) // compare to magic normalization key > > part2 = ""; > > > > return part1.compareTo(part2); > >diff --git a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > >--- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > >+++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > >@@ -50,7 +50,7 @@ public class GetMemberPluginCallRequest > > String[] args = message.split(" "); > > // FIXME: Is it even possible to distinguish between null and void > > // here? > >- if (args[3] != "null"&& args[3] != "void") > >+ if (args[3].equals("null")&& args[3].equals("void"))\ > > The same as (2x) above and the same with constant extraction. > > hmhm If those "null" "void" or "file" are too wide-spread then it > will be probably better as separate patch - so as You wish! > > > object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[3])); > > setDone(true); > > } > >diff --git a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > >--- a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > >+++ b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > >@@ -41,15 +41,15 @@ public class PluginCallRequestFactory { > > > > public PluginCallRequest getPluginCallRequest(String id, String message, Long reference) { > > > >- if (id == "member") { > >+ if (id.equals("member")) { > > return new GetMemberPluginCallRequest(message, reference); > >- } else if (id == "void") { > >+ } else if (id.equals("void")) { > > return new VoidPluginCallRequest(message, reference); > >- } else if (id == "window") { > >+ } else if (id.equals("window")) { > > return new GetWindowPluginCallRequest(message, reference); > >- } else if (id == "proxyinfo") { > >+ } else if (id.equals("proxyinfo")) { > > return new PluginProxyInfoRequest(message, reference); > >- } else if (id == "cookieinfo") { > >+ } else if (id.equals("cookieinfo")) { > > return new PluginCookieInfoRequest(message, reference); > > } else { > > throw new RuntimeException("Unknown plugin call request type requested from factory"); > > > Again - swap constant and variable. > > > Deepak: > > >> - if (args[3] != "null" && args[3] != "void") > >> + if (args[3].equals("null") && args[3].equals("void")) > > > >This changes the logic. Should be: > > > > if (!args[3].equals("null") && !args[3].equals("void")) . > > Again swap of constant x variable, and I would definitely like to see the final patch once more. > > > > > Rest looks good. After the fixing the above, OK for HEAD/1.1/1.2 > > Are you sure with branches? > > Imho - I' m not against, although I think it is not necessary. It is > not doing any harm in any of both ways. But I would like to wait a > while before head and back-ports. eg week? > > > Adam tahnx for running find bugs! No one wanted to do it (fear from bugs? :) > > Deepak - sorry partial contradiction :(( /me ashamed No worries. I had missed the NPE possibilities, glad you and Pavel reviewed it and caught them. Thanks! +1 on waiting for stable branches as this seems to be more risky than I had thought. Cheers, Deepak > > > J. From andrew at icedtea.classpath.org Wed May 16 05:00:13 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 12:00:13 +0000 Subject: /hg/icedtea6: 9 new changesets Message-ID: changeset 83369ea0f873 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=83369ea0f873 author: Andrew John Hughes date: Mon Nov 28 20:08:41 2011 +0000 Bump to b25 (next version in hg). 2011-11-28 Andrew John Hughes * Makefile.am: Bump to b25 (next version in hg). changeset e666624417d8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e666624417d8 author: Andrew John Hughes date: Wed Jan 18 14:42:49 2012 +0000 Merge changeset cab711386049 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cab711386049 author: Andrew John Hughes date: Thu Jan 19 12:04:08 2012 +0000 Fix build to work with current hg. 2012-01-18 Andrew John Hughes * patches/openjdk/6851973-kerberos.patch, * patches/openjdk/7091528-javadoc_class_files.patch, * patches/openjdk/7102369-7094468-rmiregistry.patch, * patches/openjdk/7103725-ssl_beast_regression.patch: Dropped; upstream. * Makefile.am: Remove dropped patches. * patches/ecj/icedtea.patch: Updated due to 6790292. * patches/openjdk/6633275-shaped_translucent_windows.patch, * patches/openjdk/6725214-direct3d-01.patch: Remove copyright notice changes broken as a result of the annoying 7128474 change. changeset 1543f51ced0d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1543f51ced0d author: Andrew John Hughes date: Wed Feb 15 15:52:18 2012 +0000 Merge changeset 3065aa2f9f1b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3065aa2f9f1b author: Andrew John Hughes date: Fri Mar 09 13:28:45 2012 +0000 Merge changeset d73113d5c0ba in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d73113d5c0ba author: Andrew John Hughes date: Fri Mar 09 15:26:58 2012 +0000 Drop upstreamed security patches. 2012-03-09 Andrew John Hughes * patches/security/20120214/7082299.patch, * patches/security/20120214/7088367.patch, * patches/security/20120214/7110683.patch, * patches/security/20120214/7110687.patch, * patches/security/20120214/7110700.patch, * patches/security/20120214/7110704.patch, * patches/security/20120214/7118283.patch, * patches/security/20120214/7126960.patch: Removed; upstream. * Makefile.am: Drop above patches. changeset b3f35e8bcccd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b3f35e8bcccd author: Andrew John Hughes date: Wed Mar 21 12:15:10 2012 +0000 Merge changeset 041afe1e0108 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=041afe1e0108 author: Andrew John Hughes date: Wed May 16 10:58:54 2012 +0100 Merge changeset aaefc2cbbc10 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aaefc2cbbc10 author: Andrew John Hughes date: Wed May 16 12:59:46 2012 +0100 Move to b25. 2012-05-16 Andrew John Hughes Move to released b25. * Makefile.am: (OPENJDK_DATE): Set to b25 release date. (OPENJDK_SHA256SUM): Set to b25 checksum. diffstat: .hgtags | 1 + ChangeLog | 2116 ++++ Makefile.am | 123 +- NEWS | 198 +- acinclude.m4 | 155 +- arm_port/hotspot/src/cpu/zero/vm/arm_cas.S | 31 + arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp | 4 +- arm_port/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 196 +- arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 968 +- arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp | 631 +- arm_port/hotspot/tools/mkbc.c | 6 +- configure.ac | 38 +- javac.in | 26 +- jconsole.desktop | 10 - jconsole.desktop.in | 10 + jtreg/JavaTest.cmdMgrs.lst | 34 - jtreg/JavaTest.toolMgrs.lst | 30 - jtreg/META-INF/MANIFEST.MF | 3 - jtreg/README | 33 - jtreg/com/sun/interview/AllFilesFileFilter.java | 60 - jtreg/com/sun/interview/Checklist.java | 124 - jtreg/com/sun/interview/ChoiceArrayQuestion.java | 385 - jtreg/com/sun/interview/ChoiceQuestion.java | 380 - jtreg/com/sun/interview/CompositeQuestion.java | 63 - jtreg/com/sun/interview/DirectoryFileFilter.java | 61 - jtreg/com/sun/interview/ErrorQuestion.java | 56 - jtreg/com/sun/interview/ExtensionFileFilter.java | 162 - jtreg/com/sun/interview/FileFilter.java | 53 - jtreg/com/sun/interview/FileListQuestion.java | 376 - jtreg/com/sun/interview/FileQuestion.java | 299 - jtreg/com/sun/interview/FilesAndDirectoriesFileFilter.java | 61 - jtreg/com/sun/interview/FinalQuestion.java | 63 - jtreg/com/sun/interview/FloatQuestion.java | 399 - jtreg/com/sun/interview/InetAddressQuestion.java | 408 - jtreg/com/sun/interview/IntQuestion.java | 376 - jtreg/com/sun/interview/Interview.java | 2397 ---- jtreg/com/sun/interview/InterviewQuestion.java | 126 - jtreg/com/sun/interview/InterviewSet.java | 262 - jtreg/com/sun/interview/ListQuestion.java | 637 - jtreg/com/sun/interview/NullQuestion.java | 174 - jtreg/com/sun/interview/Properties2.java | 346 - jtreg/com/sun/interview/PropertiesQuestion.java | 1420 -- jtreg/com/sun/interview/Question.java | 513 - jtreg/com/sun/interview/StringListQuestion.java | 284 - jtreg/com/sun/interview/StringQuestion.java | 230 - jtreg/com/sun/interview/TreeQuestion.java | 388 - jtreg/com/sun/interview/WizEdit.java | 346 - jtreg/com/sun/interview/WizPrint.java | 1091 -- jtreg/com/sun/interview/YesNoQuestion.java | 94 - jtreg/com/sun/interview/i18n.properties | 86 - jtreg/com/sun/interview/package.html | 142 - jtreg/com/sun/interview/wizard/ActionDocListener.java | 59 - jtreg/com/sun/interview/wizard/ActionListDataListener.java | 59 - jtreg/com/sun/interview/wizard/ChoiceArrayQuestionRenderer.java | 214 - jtreg/com/sun/interview/wizard/ChoiceQuestionRenderer.java | 246 - jtreg/com/sun/interview/wizard/EditableList.java | 368 - jtreg/com/sun/interview/wizard/Exporter.java | 74 - jtreg/com/sun/interview/wizard/FileList.java | 134 - jtreg/com/sun/interview/wizard/FileListQuestionRenderer.java | 113 - jtreg/com/sun/interview/wizard/FileQuestionRenderer.java | 163 - jtreg/com/sun/interview/wizard/FloatQuestionRenderer.java | 196 - jtreg/com/sun/interview/wizard/I18NResourceBundle.java | 185 - jtreg/com/sun/interview/wizard/InetAddressQuestionRenderer.java | 392 - jtreg/com/sun/interview/wizard/InfoPanel.java | 89 - jtreg/com/sun/interview/wizard/IntQuestionRenderer.java | 165 - jtreg/com/sun/interview/wizard/ListQuestionRenderer.java | 244 - jtreg/com/sun/interview/wizard/NullQuestionRenderer.java | 43 - jtreg/com/sun/interview/wizard/PathPanel.java | 1192 -- jtreg/com/sun/interview/wizard/PropertiesQuestionRenderer.java | 341 - jtreg/com/sun/interview/wizard/QuestionPanel.java | 668 - jtreg/com/sun/interview/wizard/QuestionRenderer.java | 70 - jtreg/com/sun/interview/wizard/RenderingUtilities.java | 460 - jtreg/com/sun/interview/wizard/SearchDialog.java | 330 - jtreg/com/sun/interview/wizard/StringListQuestionRenderer.java | 78 - jtreg/com/sun/interview/wizard/StringQuestionRenderer.java | 104 - jtreg/com/sun/interview/wizard/SwingFileFilter.java | 61 - jtreg/com/sun/interview/wizard/TreeQuestionRenderer.java | 701 - jtreg/com/sun/interview/wizard/TypeInPanel.java | 159 - jtreg/com/sun/interview/wizard/WizPane.java | 517 - jtreg/com/sun/interview/wizard/Wizard.java | 1095 -- jtreg/com/sun/interview/wizard/YesNoQuestionRenderer.java | 126 - jtreg/com/sun/interview/wizard/arrow.gif | Bin jtreg/com/sun/interview/wizard/back.gif | Bin jtreg/com/sun/interview/wizard/blank.gif | Bin jtreg/com/sun/interview/wizard/cancel.gif | Bin jtreg/com/sun/interview/wizard/check.gif | Bin jtreg/com/sun/interview/wizard/done.gif | Bin jtreg/com/sun/interview/wizard/find.gif | Bin jtreg/com/sun/interview/wizard/history.gif | Bin jtreg/com/sun/interview/wizard/i18n.properties | 294 - jtreg/com/sun/interview/wizard/info.gif | Bin jtreg/com/sun/interview/wizard/next.gif | Bin jtreg/com/sun/interview/wizard/package.html | 57 - jtreg/com/sun/javatest/AllTestsFilter.java | 52 - jtreg/com/sun/javatest/BasicParameters.java | 817 - jtreg/com/sun/javatest/Command.java | 72 - jtreg/com/sun/javatest/CompositeFilter.java | 234 - jtreg/com/sun/javatest/DefaultTestRunner.java | 254 - jtreg/com/sun/javatest/Deprecated.java | 45 - jtreg/com/sun/javatest/EditJTI.java | 713 - jtreg/com/sun/javatest/EditLinks.java | 564 - jtreg/com/sun/javatest/ExcludeList.java | 1212 -- jtreg/com/sun/javatest/ExcludeListFilter.java | 81 - jtreg/com/sun/javatest/ExcludeListUpdateHandler.java | 167 - jtreg/com/sun/javatest/FileParameters.java | 571 - jtreg/com/sun/javatest/Harness.java | 964 - jtreg/com/sun/javatest/HarnessHttpHandler.java | 590 - jtreg/com/sun/javatest/InitialUrlFilter.java | 170 - jtreg/com/sun/javatest/InterviewParameters.java | 1676 --- jtreg/com/sun/javatest/InterviewPropagator.java | 821 - jtreg/com/sun/javatest/JavaTestError.java | 224 - jtreg/com/sun/javatest/JavaTestSecurityManager.java | 204 - jtreg/com/sun/javatest/Keywords.java | 595 - jtreg/com/sun/javatest/KeywordsFilter.java | 80 - jtreg/com/sun/javatest/LastRunFilter.java | 145 - jtreg/com/sun/javatest/LastRunInfo.java | 176 - jtreg/com/sun/javatest/ObservableTestFilter.java | 82 - jtreg/com/sun/javatest/Parameters.java | 948 - jtreg/com/sun/javatest/ProductInfo.java | 200 - jtreg/com/sun/javatest/ResourceTable.java | 118 - jtreg/com/sun/javatest/Script.java | 1350 -- jtreg/com/sun/javatest/Status.java | 361 - jtreg/com/sun/javatest/StatusFilter.java | 124 - jtreg/com/sun/javatest/TRT_HttpHandler.java | 210 - jtreg/com/sun/javatest/TRT_Iterator.java | 954 - jtreg/com/sun/javatest/TRT_TreeNode.java | 1749 --- jtreg/com/sun/javatest/TemplateUtilities.java | 218 - jtreg/com/sun/javatest/Test.java | 64 - jtreg/com/sun/javatest/TestDescription.java | 576 - jtreg/com/sun/javatest/TestEnvContext.java | 356 - jtreg/com/sun/javatest/TestEnvironment.java | 692 - jtreg/com/sun/javatest/TestFilter.java | 139 - jtreg/com/sun/javatest/TestFinder.java | 738 - jtreg/com/sun/javatest/TestFinderQueue.java | 714 - jtreg/com/sun/javatest/TestResult.java | 2685 ----- jtreg/com/sun/javatest/TestResultCache.java | 815 - jtreg/com/sun/javatest/TestResultTable.java | 2938 ------ jtreg/com/sun/javatest/TestRunner.java | 227 - jtreg/com/sun/javatest/TestSuite.java | 1344 -- jtreg/com/sun/javatest/Trace.java | 175 - jtreg/com/sun/javatest/WorkDirectory.java | 942 - jtreg/com/sun/javatest/agent/ActiveAgentCommand.java | 117 - jtreg/com/sun/javatest/agent/ActiveAgentPool.java | 647 - jtreg/com/sun/javatest/agent/ActiveConnectionFactory.java | 88 - jtreg/com/sun/javatest/agent/ActiveModeOptions.java | 79 - jtreg/com/sun/javatest/agent/Agent.java | 1162 -- jtreg/com/sun/javatest/agent/AgentApplet.java | 304 - jtreg/com/sun/javatest/agent/AgentClassLoader.java | 88 - jtreg/com/sun/javatest/agent/AgentClassLoader2.java | 63 - jtreg/com/sun/javatest/agent/AgentFrame.java | 337 - jtreg/com/sun/javatest/agent/AgentMain.java | 556 - jtreg/com/sun/javatest/agent/AgentManager.java | 646 - jtreg/com/sun/javatest/agent/AgentMonitorCommandManager.java | 231 - jtreg/com/sun/javatest/agent/AgentMonitorTool.java | 516 - jtreg/com/sun/javatest/agent/AgentMonitorToolManager.java | 111 - jtreg/com/sun/javatest/agent/AgentPanel.java | 1048 -- jtreg/com/sun/javatest/agent/BadValue.java | 65 - jtreg/com/sun/javatest/agent/Connection.java | 83 - jtreg/com/sun/javatest/agent/ConnectionFactory.java | 88 - jtreg/com/sun/javatest/agent/Deck.java | 96 - jtreg/com/sun/javatest/agent/Deprecated.java | 52 - jtreg/com/sun/javatest/agent/Folder.java | 343 - jtreg/com/sun/javatest/agent/Icon.java | 114 - jtreg/com/sun/javatest/agent/InterruptableSocketConnection.java | 134 - jtreg/com/sun/javatest/agent/Map.java | 197 - jtreg/com/sun/javatest/agent/ModeOptions.java | 56 - jtreg/com/sun/javatest/agent/PassiveAgentCommand.java | 135 - jtreg/com/sun/javatest/agent/PassiveConnectionFactory.java | 91 - jtreg/com/sun/javatest/agent/PassiveModeOptions.java | 73 - jtreg/com/sun/javatest/agent/SocketConnection.java | 169 - jtreg/com/sun/javatest/agent/i18n.properties | 95 - jtreg/com/sun/javatest/agent/jticon.gif | Bin jtreg/com/sun/javatest/agent/package.html | 60 - jtreg/com/sun/javatest/audit/Audit.java | 739 - jtreg/com/sun/javatest/audit/AuditCommandManager.java | 140 - jtreg/com/sun/javatest/audit/AuditPane.java | 82 - jtreg/com/sun/javatest/audit/AuditTool.java | 373 - jtreg/com/sun/javatest/audit/AuditToolManager.java | 105 - jtreg/com/sun/javatest/audit/BadChecksumPane.java | 47 - jtreg/com/sun/javatest/audit/BadTestCaseTestsPane.java | 48 - jtreg/com/sun/javatest/audit/BadTestDescriptionPane.java | 47 - jtreg/com/sun/javatest/audit/BadTestsPane.java | 47 - jtreg/com/sun/javatest/audit/ListPane.java | 100 - jtreg/com/sun/javatest/audit/OptionsDialog.java | 371 - jtreg/com/sun/javatest/audit/SummaryPane.java | 287 - jtreg/com/sun/javatest/audit/i18n.properties | 189 - jtreg/com/sun/javatest/audit/images/dotdotdot.gif | Bin jtreg/com/sun/javatest/audit/package.html | 44 - jtreg/com/sun/javatest/batch/BatchManager.java | 119 - jtreg/com/sun/javatest/batch/ObserverCommand.java | 182 - jtreg/com/sun/javatest/batch/RunTestsCommand.java | 416 - jtreg/com/sun/javatest/batch/i18n.properties | 75 - jtreg/com/sun/javatest/batch/package.html | 44 - jtreg/com/sun/javatest/cof/COF1_0.xsd | 548 - jtreg/com/sun/javatest/cof/COF2_0_2.xsd | 779 - jtreg/com/sun/javatest/cof/COFApplication.java | 102 - jtreg/com/sun/javatest/cof/COFApplications.java | 69 - jtreg/com/sun/javatest/cof/COFData.java | 94 - jtreg/com/sun/javatest/cof/COFEnvironment.java | 584 - jtreg/com/sun/javatest/cof/COFEnvironments.java | 124 - jtreg/com/sun/javatest/cof/COFItem.java | 170 - jtreg/com/sun/javatest/cof/COFOS.java | 178 - jtreg/com/sun/javatest/cof/COFReportAnnotation.java | 160 - jtreg/com/sun/javatest/cof/COFReportAnnotations.java | 114 - jtreg/com/sun/javatest/cof/COFSWEntities.java | 114 - jtreg/com/sun/javatest/cof/COFSWEntity.java | 248 - jtreg/com/sun/javatest/cof/COFStatus.java | 193 - jtreg/com/sun/javatest/cof/COFTest.java | 594 - jtreg/com/sun/javatest/cof/COFTestAttribute.java | 181 - jtreg/com/sun/javatest/cof/COFTestAttributes.java | 116 - jtreg/com/sun/javatest/cof/COFTestCase.java | 346 - jtreg/com/sun/javatest/cof/COFTestCases.java | 133 - jtreg/com/sun/javatest/cof/COFTestSuite.java | 143 - jtreg/com/sun/javatest/cof/COFTestSuites.java | 126 - jtreg/com/sun/javatest/cof/ID.java | 56 - jtreg/com/sun/javatest/cof/Main.java | 377 - jtreg/com/sun/javatest/cof/Report.java | 424 - jtreg/com/sun/javatest/cof/i18n.properties | 54 - jtreg/com/sun/javatest/diff/Diff.java | 161 - jtreg/com/sun/javatest/diff/DiffReader.java | 40 - jtreg/com/sun/javatest/diff/Fault.java | 40 - jtreg/com/sun/javatest/diff/HTMLReporter.java | 351 - jtreg/com/sun/javatest/diff/HTMLWriter.java | 558 - jtreg/com/sun/javatest/diff/Help.java | 445 - jtreg/com/sun/javatest/diff/Main.java | 219 - jtreg/com/sun/javatest/diff/MultiMap.java | 173 - jtreg/com/sun/javatest/diff/ReportReader.java | 126 - jtreg/com/sun/javatest/diff/Reporter.java | 76 - jtreg/com/sun/javatest/diff/SimpleReporter.java | 163 - jtreg/com/sun/javatest/diff/StandardDiff.java | 42 - jtreg/com/sun/javatest/diff/StatusComparator.java | 79 - jtreg/com/sun/javatest/diff/SuperDiff.java | 342 - jtreg/com/sun/javatest/diff/WorkDirectoryReader.java | 113 - jtreg/com/sun/javatest/diff/i18n.properties | 153 - jtreg/com/sun/javatest/exec/AbstractCellEditor.java | 87 - jtreg/com/sun/javatest/exec/AccessWrapper.java | 73 - jtreg/com/sun/javatest/exec/BP_BranchSubpanel.java | 96 - jtreg/com/sun/javatest/exec/BP_DocumentationSubpanel.java | 107 - jtreg/com/sun/javatest/exec/BP_FilteredOutSubpanel.java | 926 - jtreg/com/sun/javatest/exec/BP_Model.java | 78 - jtreg/com/sun/javatest/exec/BP_SummarySubpanel.java | 980 -- jtreg/com/sun/javatest/exec/BP_TestListSubpanel.java | 1353 -- jtreg/com/sun/javatest/exec/BasicCustomTestFilter.java | 1077 -- jtreg/com/sun/javatest/exec/BranchPanel.java | 579 - jtreg/com/sun/javatest/exec/CE_EnvironmentPane.java | 276 - jtreg/com/sun/javatest/exec/CE_ExcludeListPane.java | 612 - jtreg/com/sun/javatest/exec/CE_ExecutionPane.java | 253 - jtreg/com/sun/javatest/exec/CE_FullView.java | 265 - jtreg/com/sun/javatest/exec/CE_KeywordsPane.java | 527 - jtreg/com/sun/javatest/exec/CE_PriorStatusPane.java | 203 - jtreg/com/sun/javatest/exec/CE_StdPane.java | 82 - jtreg/com/sun/javatest/exec/CE_StdView.java | 274 - jtreg/com/sun/javatest/exec/CE_TemplateDialog.java | 320 - jtreg/com/sun/javatest/exec/CE_TestsPane.java | 255 - jtreg/com/sun/javatest/exec/CE_View.java | 72 - jtreg/com/sun/javatest/exec/ChecklistBrowser.java | 296 - jtreg/com/sun/javatest/exec/ConfigEditor.java | 1401 -- jtreg/com/sun/javatest/exec/ConfigHandler.java | 1198 -- jtreg/com/sun/javatest/exec/ConfigurableTestFilter.java | 209 - jtreg/com/sun/javatest/exec/ContextManager.java | 583 - jtreg/com/sun/javatest/exec/CustomTestResultViewer.java | 104 - jtreg/com/sun/javatest/exec/DetailsBrowser.java | 154 - jtreg/com/sun/javatest/exec/ET_FilterHandler.java | 591 - jtreg/com/sun/javatest/exec/ElapsedTimeMonitor.java | 221 - jtreg/com/sun/javatest/exec/EnvironmentBrowser.java | 351 - jtreg/com/sun/javatest/exec/ExcludeListBrowser.java | 371 - jtreg/com/sun/javatest/exec/ExecModel.java | 93 - jtreg/com/sun/javatest/exec/ExecTool.java | 1471 --- jtreg/com/sun/javatest/exec/ExecToolManager.java | 815 - jtreg/com/sun/javatest/exec/FeatureManager.java | 89 - jtreg/com/sun/javatest/exec/FileSystemTableModel.java | 245 - jtreg/com/sun/javatest/exec/FileTable.java | 99 - jtreg/com/sun/javatest/exec/FileType.java | 85 - jtreg/com/sun/javatest/exec/FilesPane.java | 134 - jtreg/com/sun/javatest/exec/FilterConfig.java | 858 - jtreg/com/sun/javatest/exec/FilterSelectionHandler.java | 425 - jtreg/com/sun/javatest/exec/JavaTestContextMenu.java | 134 - jtreg/com/sun/javatest/exec/JavaTestMenuManager.java | 133 - jtreg/com/sun/javatest/exec/JavaTestToolBar.java | 236 - jtreg/com/sun/javatest/exec/LogViewer.java | 1349 -- jtreg/com/sun/javatest/exec/LogViewerTools.java | 191 - jtreg/com/sun/javatest/exec/MessageStrip.java | 383 - jtreg/com/sun/javatest/exec/Monitor.java | 60 - jtreg/com/sun/javatest/exec/MonitorState.java | 334 - jtreg/com/sun/javatest/exec/MultiFormatPane.java | 971 -- jtreg/com/sun/javatest/exec/MultiSelectPanel.java | 177 - jtreg/com/sun/javatest/exec/NavigationPane.java | 365 - jtreg/com/sun/javatest/exec/NewReportDialog.java | 1428 -- jtreg/com/sun/javatest/exec/ParameterFilter.java | 238 - jtreg/com/sun/javatest/exec/PrefsPane.java | 195 - jtreg/com/sun/javatest/exec/ProgressMeter.java | 343 - jtreg/com/sun/javatest/exec/ProgressMonitor.java | 632 - jtreg/com/sun/javatest/exec/PropertiesBrowser.java | 310 - jtreg/com/sun/javatest/exec/QuestionLogBrowser.java | 280 - jtreg/com/sun/javatest/exec/QuickStartWizard.java | 1263 -- jtreg/com/sun/javatest/exec/RenderingUtilities.java | 185 - jtreg/com/sun/javatest/exec/ReportBrowser.java | 164 - jtreg/com/sun/javatest/exec/ReportHandler.java | 311 - jtreg/com/sun/javatest/exec/RunProgressMonitor.java | 160 - jtreg/com/sun/javatest/exec/RunTestsHandler.java | 527 - jtreg/com/sun/javatest/exec/TP_CustomSubpanel.java | 53 - jtreg/com/sun/javatest/exec/TP_DescSubpanel.java | 62 - jtreg/com/sun/javatest/exec/TP_DocumentationSubpanel.java | 86 - jtreg/com/sun/javatest/exec/TP_EnvSubpanel.java | 124 - jtreg/com/sun/javatest/exec/TP_FilesSubpanel.java | 84 - jtreg/com/sun/javatest/exec/TP_OutputSubpanel.java | 806 - jtreg/com/sun/javatest/exec/TP_PropertySubpanel.java | 415 - jtreg/com/sun/javatest/exec/TP_ResultsSubpanel.java | 138 - jtreg/com/sun/javatest/exec/TP_Subpanel.java | 78 - jtreg/com/sun/javatest/exec/TT_NodeCache.java | 871 - jtreg/com/sun/javatest/exec/TT_Renderer.java | 329 - jtreg/com/sun/javatest/exec/TU_ViewManager.java | 395 - jtreg/com/sun/javatest/exec/TemplateParameterFilter.java | 119 - jtreg/com/sun/javatest/exec/TestPanel.java | 423 - jtreg/com/sun/javatest/exec/TestSuiteErrorsDialog.java | 124 - jtreg/com/sun/javatest/exec/TestTree.java | 252 - jtreg/com/sun/javatest/exec/TestTreeModel.java | 1243 -- jtreg/com/sun/javatest/exec/TestTreePanel.java | 1832 --- jtreg/com/sun/javatest/exec/ToolBarManager.java | 259 - jtreg/com/sun/javatest/exec/ToolBarPanel.java | 162 - jtreg/com/sun/javatest/exec/TreePanelModel.java | 97 - jtreg/com/sun/javatest/exec/WorkDirChooseTool.java | 1088 -- jtreg/com/sun/javatest/exec/i18n.properties | 1837 --- jtreg/com/sun/javatest/exec/images/Back16.gif | Bin jtreg/com/sun/javatest/exec/images/Back24.gif | Bin jtreg/com/sun/javatest/exec/images/Dir.gif | Bin jtreg/com/sun/javatest/exec/images/Down16.gif | Bin jtreg/com/sun/javatest/exec/images/Down24.gif | Bin jtreg/com/sun/javatest/exec/images/Edit16.gif | Bin jtreg/com/sun/javatest/exec/images/Edit24.gif | Bin jtreg/com/sun/javatest/exec/images/FastForward16.gif | Bin jtreg/com/sun/javatest/exec/images/Find16.gif | Bin jtreg/com/sun/javatest/exec/images/Find24.gif | Bin jtreg/com/sun/javatest/exec/images/FindAgain16.gif | Bin jtreg/com/sun/javatest/exec/images/FindAgain24.gif | Bin jtreg/com/sun/javatest/exec/images/Forward16.gif | Bin jtreg/com/sun/javatest/exec/images/Forward24.gif | Bin jtreg/com/sun/javatest/exec/images/Help16.gif | Bin jtreg/com/sun/javatest/exec/images/Help24.gif | Bin jtreg/com/sun/javatest/exec/images/Home16.gif | Bin jtreg/com/sun/javatest/exec/images/Home24.gif | Bin jtreg/com/sun/javatest/exec/images/Last16.gif | Bin jtreg/com/sun/javatest/exec/images/Pause16.gif | Bin jtreg/com/sun/javatest/exec/images/Pause24.gif | Bin jtreg/com/sun/javatest/exec/images/Play16.gif | Bin jtreg/com/sun/javatest/exec/images/Play24.gif | Bin jtreg/com/sun/javatest/exec/images/Preferences16.gif | Bin jtreg/com/sun/javatest/exec/images/Preferences24.gif | Bin jtreg/com/sun/javatest/exec/images/Print16.gif | Bin jtreg/com/sun/javatest/exec/images/Print24.gif | Bin jtreg/com/sun/javatest/exec/images/Save16.gif | Bin jtreg/com/sun/javatest/exec/images/Save24.gif | Bin jtreg/com/sun/javatest/exec/images/SaveAs16.gif | Bin jtreg/com/sun/javatest/exec/images/SaveAs24.gif | Bin jtreg/com/sun/javatest/exec/images/Stop16.gif | Bin jtreg/com/sun/javatest/exec/images/Stop24.gif | Bin jtreg/com/sun/javatest/exec/images/Up16.gif | Bin jtreg/com/sun/javatest/exec/images/Up24.gif | Bin jtreg/com/sun/javatest/exec/images/UpDir.gif | Bin jtreg/com/sun/javatest/exec/images/drop-down.gif | Bin jtreg/com/sun/javatest/exec/images/fullView.gif | Bin jtreg/com/sun/javatest/exec/images/magnify.gif | Bin jtreg/com/sun/javatest/exec/images/question.gif | Bin jtreg/com/sun/javatest/exec/images/snooze.sm.gif | Bin jtreg/com/sun/javatest/exec/images/stdView.gif | Bin jtreg/com/sun/javatest/exec/images/stream.gif | Bin jtreg/com/sun/javatest/exec/package.html | 43 - jtreg/com/sun/javatest/finder/BinaryTestFinder.java | 547 - jtreg/com/sun/javatest/finder/BinaryTestWriter.java | 860 - jtreg/com/sun/javatest/finder/ChameleonTestFinder.java | 450 - jtreg/com/sun/javatest/finder/CommentStream.java | 85 - jtreg/com/sun/javatest/finder/ExpandTestFinder.java | 348 - jtreg/com/sun/javatest/finder/HTMLCommentStream.java | 84 - jtreg/com/sun/javatest/finder/HTMLTestFinder.java | 627 - jtreg/com/sun/javatest/finder/JavaCommentStream.java | 161 - jtreg/com/sun/javatest/finder/ReverseTestFinder.java | 121 - jtreg/com/sun/javatest/finder/ShScriptCommentStream.java | 83 - jtreg/com/sun/javatest/finder/ShowTests.java | 291 - jtreg/com/sun/javatest/finder/TagTestFinder.java | 388 - jtreg/com/sun/javatest/finder/i18n.properties | 69 - jtreg/com/sun/javatest/finder/package.html | 45 - jtreg/com/sun/javatest/httpd/HttpdServer.java | 194 - jtreg/com/sun/javatest/httpd/JThttpProvider.java | 148 - jtreg/com/sun/javatest/httpd/PageGenerator.java | 252 - jtreg/com/sun/javatest/httpd/ProviderRegistry.java | 494 - jtreg/com/sun/javatest/httpd/RequestHandler.java | 178 - jtreg/com/sun/javatest/httpd/RootRegistry.java | 136 - jtreg/com/sun/javatest/httpd/httpURL.java | 318 - jtreg/com/sun/javatest/httpd/i18n.properties | 45 - jtreg/com/sun/javatest/i18n.properties | 460 - jtreg/com/sun/javatest/interview/BasicInterviewParameters.java | 433 - jtreg/com/sun/javatest/interview/ConcurrencyInterview.java | 104 - jtreg/com/sun/javatest/interview/DefaultInterviewParameters.java | 63 - jtreg/com/sun/javatest/interview/EnvironmentInterview.java | 385 - jtreg/com/sun/javatest/interview/ExcludeListInterview.java | 605 - jtreg/com/sun/javatest/interview/KeywordsInterview.java | 304 - jtreg/com/sun/javatest/interview/LegacyParameters.java | 88 - jtreg/com/sun/javatest/interview/PriorStatusInterview.java | 225 - jtreg/com/sun/javatest/interview/SimpleInterviewParameters.java | 270 - jtreg/com/sun/javatest/interview/TestsInterview.java | 434 - jtreg/com/sun/javatest/interview/TimeoutFactorInterview.java | 106 - jtreg/com/sun/javatest/interview/i18n.properties | 176 - jtreg/com/sun/javatest/interview/package.html | 46 - jtreg/com/sun/javatest/lib/APIScript.java | 114 - jtreg/com/sun/javatest/lib/Deprecated.java | 52 - jtreg/com/sun/javatest/lib/ExecStdTestOtherJVMCmd.java | 77 - jtreg/com/sun/javatest/lib/ExecStdTestSameJVMCmd.java | 155 - jtreg/com/sun/javatest/lib/JavaCompileCommand.java | 317 - jtreg/com/sun/javatest/lib/KeywordScript.java | 235 - jtreg/com/sun/javatest/lib/MultiStatus.java | 246 - jtreg/com/sun/javatest/lib/MultiTest.java | 314 - jtreg/com/sun/javatest/lib/ProcessCommand.java | 462 - jtreg/com/sun/javatest/lib/ReportScript.java | 59 - jtreg/com/sun/javatest/lib/StdTestScript.java | 223 - jtreg/com/sun/javatest/lib/TestCases.java | 275 - jtreg/com/sun/javatest/logging/ErrorDialogHandler.java | 217 - jtreg/com/sun/javatest/logging/FileEvent.java | 51 - jtreg/com/sun/javatest/logging/FileListener.java | 34 - jtreg/com/sun/javatest/logging/FilteredLogModel.java | 392 - jtreg/com/sun/javatest/logging/JTFormatter.java | 104 - jtreg/com/sun/javatest/logging/LogModel.java | 502 - jtreg/com/sun/javatest/logging/LoggerFactory.java | 58 - jtreg/com/sun/javatest/logging/ObservedFile.java | 194 - jtreg/com/sun/javatest/logging/WorkDirLogHandler.java | 148 - jtreg/com/sun/javatest/logging/i18n.properties | 51 - jtreg/com/sun/javatest/mrep/BrowserPane.java | 585 - jtreg/com/sun/javatest/mrep/ConflictResolutionDialog.java | 263 - jtreg/com/sun/javatest/mrep/ConflictResolver.java | 38 - jtreg/com/sun/javatest/mrep/FilesPane.java | 472 - jtreg/com/sun/javatest/mrep/Merger.java | 127 - jtreg/com/sun/javatest/mrep/OptionsDialog.java | 204 - jtreg/com/sun/javatest/mrep/OptionsPane.java | 504 - jtreg/com/sun/javatest/mrep/ReportDirChooser.java | 298 - jtreg/com/sun/javatest/mrep/ReportTool.java | 697 - jtreg/com/sun/javatest/mrep/ReportToolManager.java | 91 - jtreg/com/sun/javatest/mrep/Scheme.java | 100 - jtreg/com/sun/javatest/mrep/TestResultDescr.java | 78 - jtreg/com/sun/javatest/mrep/XMLReportReader.java | 95 - jtreg/com/sun/javatest/mrep/XMLReportWriter.java | 279 - jtreg/com/sun/javatest/mrep/i18n.properties | 200 - jtreg/com/sun/javatest/mrep/images/Back16.gif | Bin jtreg/com/sun/javatest/mrep/images/Forward16.gif | Bin jtreg/com/sun/javatest/mrep/images/Home16.gif | Bin jtreg/com/sun/javatest/mrep/images/dotdotdot.gif | Bin jtreg/com/sun/javatest/package.html | 61 - jtreg/com/sun/javatest/regtest/Action.java | 550 - jtreg/com/sun/javatest/regtest/AntOptionDecoder.java | 93 - jtreg/com/sun/javatest/regtest/AppletAction.java | 631 - jtreg/com/sun/javatest/regtest/AppletWrapper.java | 650 - jtreg/com/sun/javatest/regtest/BadArgs.java | 38 - jtreg/com/sun/javatest/regtest/BuildAction.java | 226 - jtreg/com/sun/javatest/regtest/CheckFiles.java | 150 - jtreg/com/sun/javatest/regtest/CleanAction.java | 146 - jtreg/com/sun/javatest/regtest/CompileAction.java | 701 - jtreg/com/sun/javatest/regtest/GetSystemProperty.java | 40 - jtreg/com/sun/javatest/regtest/Help.java | 490 - jtreg/com/sun/javatest/regtest/IgnoreAction.java | 111 - jtreg/com/sun/javatest/regtest/IgnoreKind.java | 35 - jtreg/com/sun/javatest/regtest/JDK.java | 88 - jtreg/com/sun/javatest/regtest/Main.java | 1842 --- jtreg/com/sun/javatest/regtest/MainAction.java | 730 - jtreg/com/sun/javatest/regtest/MainWrapper.java | 186 - jtreg/com/sun/javatest/regtest/Option.java | 97 - jtreg/com/sun/javatest/regtest/OptionDecoder.java | 184 - jtreg/com/sun/javatest/regtest/ParseException.java | 51 - jtreg/com/sun/javatest/regtest/Path.java | 164 - jtreg/com/sun/javatest/regtest/RegressionEnvironment.java | 49 - jtreg/com/sun/javatest/regtest/RegressionObserver.java | 327 - jtreg/com/sun/javatest/regtest/RegressionParameters.java | 619 - jtreg/com/sun/javatest/regtest/RegressionScript.java | 964 - jtreg/com/sun/javatest/regtest/RegressionSecurityManager.java | 149 - jtreg/com/sun/javatest/regtest/RegressionTestFinder.java | 569 - jtreg/com/sun/javatest/regtest/RegressionTestSuite.java | 180 - jtreg/com/sun/javatest/regtest/ShellAction.java | 282 - jtreg/com/sun/javatest/regtest/StringArray.java | 182 - jtreg/com/sun/javatest/regtest/StringUtils.java | 45 - jtreg/com/sun/javatest/regtest/TestRunException.java | 52 - jtreg/com/sun/javatest/regtest/Verbose.java | 130 - jtreg/com/sun/javatest/regtest/i18n.properties | 327 - jtreg/com/sun/javatest/report/ConfigSection.java | 510 - jtreg/com/sun/javatest/report/CustomReport.java | 390 - jtreg/com/sun/javatest/report/HTMLReport.java | 292 - jtreg/com/sun/javatest/report/HTMLSection.java | 92 - jtreg/com/sun/javatest/report/PlainTextReport.java | 112 - jtreg/com/sun/javatest/report/Report.java | 1096 -- jtreg/com/sun/javatest/report/ReportDirChooser.java | 289 - jtreg/com/sun/javatest/report/ReportFormat.java | 45 - jtreg/com/sun/javatest/report/ReportManager.java | 265 - jtreg/com/sun/javatest/report/ReportModel.java | 34 - jtreg/com/sun/javatest/report/ReportWriter.java | 191 - jtreg/com/sun/javatest/report/ResultSection.java | 263 - jtreg/com/sun/javatest/report/StatisticsSection.java | 228 - jtreg/com/sun/javatest/report/StringArrayComparator.java | 55 - jtreg/com/sun/javatest/report/TestResultsByFileComparator.java | 73 - jtreg/com/sun/javatest/report/TestResultsByStatusAndTitleComparator.java | 58 - jtreg/com/sun/javatest/report/TestResultsByTitleComparator.java | 53 - jtreg/com/sun/javatest/report/XMLReport.java | 471 - jtreg/com/sun/javatest/report/XMLReportMaker.java | 609 - jtreg/com/sun/javatest/report/i18n.properties | 135 - jtreg/com/sun/javatest/report/package.html | 39 - jtreg/com/sun/javatest/stylesheet.css | 33 - jtreg/com/sun/javatest/tool/Command.java | 280 - jtreg/com/sun/javatest/tool/CommandContext.java | 1028 -- jtreg/com/sun/javatest/tool/CommandManager.java | 107 - jtreg/com/sun/javatest/tool/CommandParser.java | 343 - jtreg/com/sun/javatest/tool/ConfigManager.java | 1435 -- jtreg/com/sun/javatest/tool/CustomPropagationController.java | 113 - jtreg/com/sun/javatest/tool/Deck.java | 127 - jtreg/com/sun/javatest/tool/DeskView.java | 833 - jtreg/com/sun/javatest/tool/Desktop.java | 1507 --- jtreg/com/sun/javatest/tool/DesktopManager.java | 88 - jtreg/com/sun/javatest/tool/DesktopPrefsPane.java | 404 - jtreg/com/sun/javatest/tool/EditableFileList.java | 146 - jtreg/com/sun/javatest/tool/EditableList.java | 466 - jtreg/com/sun/javatest/tool/EnvironmentManager.java | 145 - jtreg/com/sun/javatest/tool/FileChooser.java | 129 - jtreg/com/sun/javatest/tool/FileHistory.java | 398 - jtreg/com/sun/javatest/tool/FileOpener.java | 90 - jtreg/com/sun/javatest/tool/FocusMonitor.java | 711 - jtreg/com/sun/javatest/tool/HelpLink.java | 195 - jtreg/com/sun/javatest/tool/HelpLinkBeanInfo.java | 59 - jtreg/com/sun/javatest/tool/HelpManager.java | 278 - jtreg/com/sun/javatest/tool/HelpMenu.java | 306 - jtreg/com/sun/javatest/tool/HttpManager.java | 99 - jtreg/com/sun/javatest/tool/I18NUtils.java | 265 - jtreg/com/sun/javatest/tool/IconFactory.java | 770 - jtreg/com/sun/javatest/tool/IconLabel.java | 131 - jtreg/com/sun/javatest/tool/IconLabelBeanInfo.java | 57 - jtreg/com/sun/javatest/tool/LogManager.java | 112 - jtreg/com/sun/javatest/tool/MDIDeskView.java | 587 - jtreg/com/sun/javatest/tool/Main.java | 506 - jtreg/com/sun/javatest/tool/ManagerLoader.java | 148 - jtreg/com/sun/javatest/tool/PieChart.java | 231 - jtreg/com/sun/javatest/tool/Preferences.java | 770 - jtreg/com/sun/javatest/tool/SDIDeskView.java | 494 - jtreg/com/sun/javatest/tool/SelectedWorkDirApprover.java | 298 - jtreg/com/sun/javatest/tool/Startup.java | 207 - jtreg/com/sun/javatest/tool/TabDeskView.java | 528 - jtreg/com/sun/javatest/tool/TestSuiteChooser.java | 261 - jtreg/com/sun/javatest/tool/TestTreeSelectionPane.java | 125 - jtreg/com/sun/javatest/tool/Tool.java | 361 - jtreg/com/sun/javatest/tool/ToolAction.java | 243 - jtreg/com/sun/javatest/tool/ToolDialog.java | 719 - jtreg/com/sun/javatest/tool/ToolManager.java | 232 - jtreg/com/sun/javatest/tool/TreeSelectionPane.java | 995 -- jtreg/com/sun/javatest/tool/UIFactory.java | 2972 ------ jtreg/com/sun/javatest/tool/VerboseCommand.java | 159 - jtreg/com/sun/javatest/tool/WDC_FileFilter.java | 48 - jtreg/com/sun/javatest/tool/WDC_FileView.java | 66 - jtreg/com/sun/javatest/tool/WorkDirChooser.java | 352 - jtreg/com/sun/javatest/tool/i18n.properties | 538 - jtreg/com/sun/javatest/tool/images/jticon.gif | Bin jtreg/com/sun/javatest/tool/images/jtlogo.gif | Bin jtreg/com/sun/javatest/tool/images/splash.gif | Bin jtreg/com/sun/javatest/tool/package.html | 49 - jtreg/com/sun/javatest/util/BackupPolicy.java | 262 - jtreg/com/sun/javatest/util/BackupUtil.java | 340 - jtreg/com/sun/javatest/util/Debug.java | 492 - jtreg/com/sun/javatest/util/DirectoryClassLoader.java | 226 - jtreg/com/sun/javatest/util/DynamicArray.java | 273 - jtreg/com/sun/javatest/util/ExitCount.java | 77 - jtreg/com/sun/javatest/util/Fifo.java | 144 - jtreg/com/sun/javatest/util/FileFilter.java | 43 - jtreg/com/sun/javatest/util/FileInfoCache.java | 134 - jtreg/com/sun/javatest/util/HTMLWriter.java | 558 - jtreg/com/sun/javatest/util/HelpTree.java | 510 - jtreg/com/sun/javatest/util/I18NResourceBundle.java | 171 - jtreg/com/sun/javatest/util/LineParser.java | 288 - jtreg/com/sun/javatest/util/LogFile.java | 172 - jtreg/com/sun/javatest/util/MainAppletContext.java | 133 - jtreg/com/sun/javatest/util/MainFrame.java | 251 - jtreg/com/sun/javatest/util/OrderedTwoWayTable.java | 135 - jtreg/com/sun/javatest/util/PathClassLoader.java | 208 - jtreg/com/sun/javatest/util/PrefixMap.java | 169 - jtreg/com/sun/javatest/util/Properties.java | 395 - jtreg/com/sun/javatest/util/PropertyArray.java | 723 - jtreg/com/sun/javatest/util/ReadAheadIterator.java | 350 - jtreg/com/sun/javatest/util/SortedProperties.java | 58 - jtreg/com/sun/javatest/util/StringArray.java | 203 - jtreg/com/sun/javatest/util/SysEnv.java | 176 - jtreg/com/sun/javatest/util/TextStream.java | 97 - jtreg/com/sun/javatest/util/TextWriter.java | 281 - jtreg/com/sun/javatest/util/Timer.java | 219 - jtreg/com/sun/javatest/util/WrapWriter.java | 191 - jtreg/com/sun/javatest/util/WriterStream.java | 159 - jtreg/com/sun/javatest/util/XMLWriter.java | 358 - jtreg/com/sun/javatest/util/i18n.properties | 32 - jtreg/com/sun/javatest/util/package.html | 39 - jtreg/excludelist.jdk.jtx | 29 - jtreg/legal/copyright.txt | 22 - jtreg/legal/license.txt | 347 - jvm.cacao.cfg.in | 44 + jvm.jamvm.cfg.in | 44 + overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile | 37 - overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile | 40 - overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile | 50 - overlays/nio2/openjdk/jdk/make/mksample/nio/file/Makefile | 56 - overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java | 43 - overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java | 50 - overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java | 43 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/File.java | 450 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/FilePermission.java | 852 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Inputs.java | 391 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Outputs.java | 362 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java | 40 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java | 56 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java | 46 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java | 370 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousByteChannel.java | 206 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannel.java | 118 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java | 317 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java | 707 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java | 777 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java | 305 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java | 672 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/Channels.java | 214 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/CompletionHandler.java | 78 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java | 223 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java | 404 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java | 321 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java | 183 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java | 216 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/NetworkChannel.java | 165 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java | 170 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions | 68 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/package-info.java | 293 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java | 284 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java | 199 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/package.html | 46 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessDeniedException.java | 69 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessMode.java | 50 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AtomicMoveNotSupportedException.java | 57 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedDirectoryStreamException.java | 46 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedFileSystemException.java | 44 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedWatchServiceException.java | 44 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/CopyOption.java | 42 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryNotEmptyException.java | 50 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStream.java | 139 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStreamFilters.java | 211 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAction.java | 65 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAlreadyExistsException.java | 64 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileRef.java | 425 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileStore.java | 173 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystem.java | 426 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemAlreadyExistsException.java | 54 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemException.java | 126 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemNotFoundException.java | 53 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java | 415 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java | 247 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitOption.java | 46 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitResult.java | 63 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java | 177 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java | 405 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/InvalidPathException.java | 131 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkOption.java | 44 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkPermission.java | 108 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NoSuchFileException.java | 64 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotDirectoryException.java | 50 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotLinkException.java | 64 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/OpenOption.java | 46 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java | 1575 --- overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/PathMatcher.java | 50 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java | 126 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderMismatchException.java | 54 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderNotFoundException.java | 53 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ReadOnlyFileSystemException.java | 44 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java | 327 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java | 123 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardCopyOption.java | 48 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardOpenOption.java | 126 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardWatchEventKind.java | 95 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchEvent.java | 117 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchKey.java | 138 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchService.java | 179 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Watchable.java | 128 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntry.java | 395 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryFlag.java | 66 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryPermission.java | 131 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryType.java | 57 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java | 211 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AttributeView.java | 119 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java | 714 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView.java | 185 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributes.java | 164 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView.java | 180 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributes.java | 85 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttribute.java | 51 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttributeView.java | 44 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileOwnerAttributeView.java | 102 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView.java | 39 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java | 94 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributes.java | 67 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/GroupPrincipal.java | 43 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java | 231 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java | 196 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributes.java | 78 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermission.java | 87 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java | 190 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipal.java | 55 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalLookupService.java | 105 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalNotFoundException.java | 65 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/package-info.java | 120 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/package-info.java | 116 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java | 542 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java | 441 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java | 102 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/package-info.java | 39 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/Scanner.java | 2657 ----- overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java | 1371 -- overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java | 43 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java | 46 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java | 58 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java | 102 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java | 64 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java | 359 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java | 169 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java | 68 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java | 222 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 546 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Cancellable.java | 39 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java | 114 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java | 44 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java | 287 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Groupable.java | 35 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java | 274 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java | 224 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java | 132 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/OptionKey.java | 48 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java | 259 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java | 425 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java | 437 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java | 168 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java | 113 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java | 210 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java | 121 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java | 70 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java | 125 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java | 296 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java | 179 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java | 166 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java | 137 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java | 116 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Globs.java | 155 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/MimeType.java | 73 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffer.java | 87 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffers.java | 140 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java | 454 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Reflect.java | 63 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider | 1 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt | 29 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java | 44 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java | 76 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java | 57 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java | 76 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java | 154 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributes.java | 93 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributeView.java | 187 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributes.java | 125 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFilePath.java | 1027 -- overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStore.java | 230 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStream.java | 166 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java | 319 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystemProvider.java | 243 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipHeaderConstants.java | 75 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipPathParser.java | 308 - overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipUtils.java | 481 - overlays/nio2/openjdk/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c | 129 - overlays/nio2/openjdk/jdk/src/share/sample/nio/aio/EchoServer.java | 165 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/AclEdit.java | 301 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Chmod.java | 363 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Copy.java | 227 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/DiskUsage.java | 78 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/FileType.java | 62 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/WatchDir.java | 204 - overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Xdd.java | 119 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java | 57 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java | 362 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java | 100 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java | 170 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java | 103 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java | 243 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java | 320 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java | 685 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java | 74 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java | 36 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java | 99 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java | 300 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java | 102 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java | 186 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java | 41 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java | 344 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java | 126 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java | 469 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java | 408 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileStore.java | 102 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java | 178 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java | 41 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java | 293 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java | 56 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java | 771 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java | 289 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java | 615 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java | 270 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java | 117 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java | 401 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java | 312 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileKey.java | 60 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java | 86 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java | 289 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java | 59 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java | 375 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java | 151 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java | 82 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java | 556 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java | 1201 -- overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java | 664 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java | 216 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java | 179 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/EPollPort.c | 173 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/SolarisEventPort.c | 155 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c | 47 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c | 53 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c | 205 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c | 160 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c | 156 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c | 70 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisWatchService.c | 141 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixCopyFile.c | 85 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 1059 -- overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c | 104 - overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c | 129 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java | 43 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/Iocp.java | 435 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java | 161 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java | 96 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java | 736 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java | 367 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java | 911 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java | 38 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java | 36 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java | 82 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java | 226 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java | 348 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java | 191 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java | 225 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsException.java | 109 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java | 296 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributes.java | 296 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java | 527 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java | 324 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java | 318 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java | 148 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java | 466 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java | 342 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java | 1131 -- overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java | 1312 -- overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathParser.java | 225 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathType.java | 38 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java | 123 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java | 392 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUriSupport.java | 167 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java | 169 - overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java | 581 - overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/Iocp.c | 144 - overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c | 132 - overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c | 142 - overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c | 222 - overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c | 62 - overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c | 1328 -- overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/Sanity.java | 168 - overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/sanity.sh | 71 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/io/Inputs/Basic.java | 218 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java | 84 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Attack.java | 63 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Basic.java | 261 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java | 137 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Identity.java | 167 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java | 50 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Restart.java | 134 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Unbounded.java | 120 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh | 52 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel/Basic.java | 377 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Basic.java | 585 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java | 67 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Lock.java | 340 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java | 49 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/Basic.java | 136 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java | 76 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow | 3 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny | 3 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Basic.java | 805 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Leaky.java | 104 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/Channels/Basic2.java | 172 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java | 38 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider | 1 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java | 62 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java | 62 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh | 71 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Basic.java | 153 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Filters.java | 241 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/SecureDS.java | 370 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileStore/Basic.java | 79 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileSystem/Basic.java | 82 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ContentType.java | 91 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/CreateFileTree.java | 96 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ForceLoad.java | 38 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector | 1 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/Misc.java | 126 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/PrintFileTree.java | 78 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SimpleFileTypeDetector.java | 47 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SkipSiblings.java | 85 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/TerminateWalk.java | 70 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/content_type.sh | 70 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/walk_file_tree.sh | 86 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/CopyAndMove.java | 983 -- overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/DeleteOnClose.java | 77 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java | 119 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Links.java | 143 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Misc.java | 349 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/PathOps.java | 646 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/SBC.java | 468 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/TemporaryFiles.java | 76 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/UriImportExport.java | 80 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/delete_on_close.sh | 61 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/temporary_files.sh | 65 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/PathMatcher/Basic.java | 163 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/TestUtil.java | 117 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/Basic.java | 493 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/FileTreeModifier.java | 148 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/WithSecurityManager.java | 83 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/denyAll.policy | 3 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndOneLevel.policy | 5 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndTree.policy | 5 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirOnly.policy | 4 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView/Basic.java | 166 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/Attributes/Basic.java | 254 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView/Basic.java | 150 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView/Basic.java | 155 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView/Basic.java | 170 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java | 273 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView/Basic.java | 398 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/SetDefaultProvider.java | 44 - overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/TestProvider.java | 128 - patches/ScriptEngineManager-doc.patch | 29 + patches/apache-xml-internal-fix-bug-38655.patch | 11 + patches/arm-hsdis.patch | 90 + patches/arm.patch | 54 + patches/ecj/icedtea.patch | 134 +- patches/ecj/jaxws-getdtdtype.patch | 4 +- patches/generalise_crypto_tests.patch | 847 + patches/idresolver_fix.patch | 194 + patches/nio2.patch | 2818 ----- patches/openjdk/4465490-Suspicious_double-check_locking_idiom.patch | 21 + patches/openjdk/6633275-shaped_translucent_windows.patch | 7 - patches/openjdk/6706974-krb5_test_infrastructure.patch | 2090 ++++ patches/openjdk/6725214-direct3d-01.patch | 7 - patches/openjdk/6761072-new_krb5_tests_fail_on_multiple_platforms.patch | 94 + patches/openjdk/6764553-IdResolver_is_not_thread_safe.patch | 41 + patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch | 50 + patches/openjdk/683768-System-tray-icon.patch | 82 - patches/openjdk/6883983-JarVerifier_removed_dependency_sun_security_pkcs.patch | 23 + patches/openjdk/7088989-ucrypto_tests.patch | 1022 ++ patches/openjdk/7103610-_NET_WM_PID_and_WM_CLIENT_MACHINE_are_not_set.patch | 96 + patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch | 12 + patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch | 1176 ++ patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch | 615 + patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch | 60 + patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch | 22 + patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch | 172 + patches/openjdk/p11cipher-6812738-native_cleanup.patch | 4849 ++++++++++ patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch | 328 + patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch | 102 + patches/openjdk/remove-mimpure-option-to-gcc.patch | 162 + patches/pr600-arm-jvm.cfg.patch | 44 - patches/remove-gcm-test.patch | 77 + patches/remove_multicatch_in_testrsa.patch | 109 + patches/revert-6885123.patch | 567 - patches/security/20120214/7112642.patch | 750 + patches/skip_wrap_mode.patch | 24 + policytool.desktop | 10 - policytool.desktop.in | 10 + src/jtreg/JavaTest.cmdMgrs.lst | 34 + src/jtreg/JavaTest.toolMgrs.lst | 30 + src/jtreg/META-INF/MANIFEST.MF | 3 + src/jtreg/README | 33 + src/jtreg/com/sun/interview/AllFilesFileFilter.java | 60 + src/jtreg/com/sun/interview/Checklist.java | 124 + src/jtreg/com/sun/interview/ChoiceArrayQuestion.java | 385 + src/jtreg/com/sun/interview/ChoiceQuestion.java | 380 + src/jtreg/com/sun/interview/CompositeQuestion.java | 63 + src/jtreg/com/sun/interview/DirectoryFileFilter.java | 61 + src/jtreg/com/sun/interview/ErrorQuestion.java | 56 + src/jtreg/com/sun/interview/ExtensionFileFilter.java | 162 + src/jtreg/com/sun/interview/FileFilter.java | 53 + src/jtreg/com/sun/interview/FileListQuestion.java | 376 + src/jtreg/com/sun/interview/FileQuestion.java | 299 + src/jtreg/com/sun/interview/FilesAndDirectoriesFileFilter.java | 61 + src/jtreg/com/sun/interview/FinalQuestion.java | 63 + src/jtreg/com/sun/interview/FloatQuestion.java | 399 + src/jtreg/com/sun/interview/InetAddressQuestion.java | 408 + src/jtreg/com/sun/interview/IntQuestion.java | 376 + src/jtreg/com/sun/interview/Interview.java | 2397 ++++ src/jtreg/com/sun/interview/InterviewQuestion.java | 126 + src/jtreg/com/sun/interview/InterviewSet.java | 262 + src/jtreg/com/sun/interview/ListQuestion.java | 637 + src/jtreg/com/sun/interview/NullQuestion.java | 174 + src/jtreg/com/sun/interview/Properties2.java | 346 + src/jtreg/com/sun/interview/PropertiesQuestion.java | 1420 ++ src/jtreg/com/sun/interview/Question.java | 513 + src/jtreg/com/sun/interview/StringListQuestion.java | 284 + src/jtreg/com/sun/interview/StringQuestion.java | 230 + src/jtreg/com/sun/interview/TreeQuestion.java | 388 + src/jtreg/com/sun/interview/WizEdit.java | 346 + src/jtreg/com/sun/interview/WizPrint.java | 1091 ++ src/jtreg/com/sun/interview/YesNoQuestion.java | 94 + src/jtreg/com/sun/interview/i18n.properties | 86 + src/jtreg/com/sun/interview/package.html | 142 + src/jtreg/com/sun/interview/wizard/ActionDocListener.java | 59 + src/jtreg/com/sun/interview/wizard/ActionListDataListener.java | 59 + src/jtreg/com/sun/interview/wizard/ChoiceArrayQuestionRenderer.java | 214 + src/jtreg/com/sun/interview/wizard/ChoiceQuestionRenderer.java | 246 + src/jtreg/com/sun/interview/wizard/EditableList.java | 368 + src/jtreg/com/sun/interview/wizard/Exporter.java | 74 + src/jtreg/com/sun/interview/wizard/FileList.java | 134 + src/jtreg/com/sun/interview/wizard/FileListQuestionRenderer.java | 113 + src/jtreg/com/sun/interview/wizard/FileQuestionRenderer.java | 163 + src/jtreg/com/sun/interview/wizard/FloatQuestionRenderer.java | 196 + src/jtreg/com/sun/interview/wizard/I18NResourceBundle.java | 185 + src/jtreg/com/sun/interview/wizard/InetAddressQuestionRenderer.java | 392 + src/jtreg/com/sun/interview/wizard/InfoPanel.java | 89 + src/jtreg/com/sun/interview/wizard/IntQuestionRenderer.java | 165 + src/jtreg/com/sun/interview/wizard/ListQuestionRenderer.java | 244 + src/jtreg/com/sun/interview/wizard/NullQuestionRenderer.java | 43 + src/jtreg/com/sun/interview/wizard/PathPanel.java | 1192 ++ src/jtreg/com/sun/interview/wizard/PropertiesQuestionRenderer.java | 341 + src/jtreg/com/sun/interview/wizard/QuestionPanel.java | 668 + src/jtreg/com/sun/interview/wizard/QuestionRenderer.java | 70 + src/jtreg/com/sun/interview/wizard/RenderingUtilities.java | 460 + src/jtreg/com/sun/interview/wizard/SearchDialog.java | 330 + src/jtreg/com/sun/interview/wizard/StringListQuestionRenderer.java | 78 + src/jtreg/com/sun/interview/wizard/StringQuestionRenderer.java | 104 + src/jtreg/com/sun/interview/wizard/SwingFileFilter.java | 61 + src/jtreg/com/sun/interview/wizard/TreeQuestionRenderer.java | 701 + src/jtreg/com/sun/interview/wizard/TypeInPanel.java | 159 + src/jtreg/com/sun/interview/wizard/WizPane.java | 517 + src/jtreg/com/sun/interview/wizard/Wizard.java | 1095 ++ src/jtreg/com/sun/interview/wizard/YesNoQuestionRenderer.java | 126 + src/jtreg/com/sun/interview/wizard/arrow.gif | Bin src/jtreg/com/sun/interview/wizard/back.gif | Bin src/jtreg/com/sun/interview/wizard/blank.gif | Bin src/jtreg/com/sun/interview/wizard/cancel.gif | Bin src/jtreg/com/sun/interview/wizard/check.gif | Bin src/jtreg/com/sun/interview/wizard/done.gif | Bin src/jtreg/com/sun/interview/wizard/find.gif | Bin src/jtreg/com/sun/interview/wizard/history.gif | Bin src/jtreg/com/sun/interview/wizard/i18n.properties | 294 + src/jtreg/com/sun/interview/wizard/info.gif | Bin src/jtreg/com/sun/interview/wizard/next.gif | Bin src/jtreg/com/sun/interview/wizard/package.html | 57 + src/jtreg/com/sun/javatest/AllTestsFilter.java | 52 + src/jtreg/com/sun/javatest/BasicParameters.java | 817 + src/jtreg/com/sun/javatest/Command.java | 72 + src/jtreg/com/sun/javatest/CompositeFilter.java | 234 + src/jtreg/com/sun/javatest/DefaultTestRunner.java | 254 + src/jtreg/com/sun/javatest/Deprecated.java | 45 + src/jtreg/com/sun/javatest/EditJTI.java | 713 + src/jtreg/com/sun/javatest/EditLinks.java | 564 + src/jtreg/com/sun/javatest/ExcludeList.java | 1212 ++ src/jtreg/com/sun/javatest/ExcludeListFilter.java | 81 + src/jtreg/com/sun/javatest/ExcludeListUpdateHandler.java | 167 + src/jtreg/com/sun/javatest/FileParameters.java | 571 + src/jtreg/com/sun/javatest/Harness.java | 964 + src/jtreg/com/sun/javatest/HarnessHttpHandler.java | 590 + src/jtreg/com/sun/javatest/InitialUrlFilter.java | 170 + src/jtreg/com/sun/javatest/InterviewParameters.java | 1676 +++ src/jtreg/com/sun/javatest/InterviewPropagator.java | 821 + src/jtreg/com/sun/javatest/JavaTestError.java | 224 + src/jtreg/com/sun/javatest/JavaTestSecurityManager.java | 204 + src/jtreg/com/sun/javatest/Keywords.java | 595 + src/jtreg/com/sun/javatest/KeywordsFilter.java | 80 + src/jtreg/com/sun/javatest/LastRunFilter.java | 145 + src/jtreg/com/sun/javatest/LastRunInfo.java | 176 + src/jtreg/com/sun/javatest/ObservableTestFilter.java | 82 + src/jtreg/com/sun/javatest/Parameters.java | 948 + src/jtreg/com/sun/javatest/ProductInfo.java | 200 + src/jtreg/com/sun/javatest/ResourceTable.java | 118 + src/jtreg/com/sun/javatest/Script.java | 1350 ++ src/jtreg/com/sun/javatest/Status.java | 361 + src/jtreg/com/sun/javatest/StatusFilter.java | 124 + src/jtreg/com/sun/javatest/TRT_HttpHandler.java | 210 + src/jtreg/com/sun/javatest/TRT_Iterator.java | 954 + src/jtreg/com/sun/javatest/TRT_TreeNode.java | 1749 +++ src/jtreg/com/sun/javatest/TemplateUtilities.java | 218 + src/jtreg/com/sun/javatest/Test.java | 64 + src/jtreg/com/sun/javatest/TestDescription.java | 576 + src/jtreg/com/sun/javatest/TestEnvContext.java | 356 + src/jtreg/com/sun/javatest/TestEnvironment.java | 692 + src/jtreg/com/sun/javatest/TestFilter.java | 139 + src/jtreg/com/sun/javatest/TestFinder.java | 738 + src/jtreg/com/sun/javatest/TestFinderQueue.java | 714 + src/jtreg/com/sun/javatest/TestResult.java | 2685 +++++ src/jtreg/com/sun/javatest/TestResultCache.java | 815 + src/jtreg/com/sun/javatest/TestResultTable.java | 2938 ++++++ src/jtreg/com/sun/javatest/TestRunner.java | 227 + src/jtreg/com/sun/javatest/TestSuite.java | 1344 ++ src/jtreg/com/sun/javatest/Trace.java | 175 + src/jtreg/com/sun/javatest/WorkDirectory.java | 942 + src/jtreg/com/sun/javatest/agent/ActiveAgentCommand.java | 117 + src/jtreg/com/sun/javatest/agent/ActiveAgentPool.java | 647 + src/jtreg/com/sun/javatest/agent/ActiveConnectionFactory.java | 88 + src/jtreg/com/sun/javatest/agent/ActiveModeOptions.java | 79 + src/jtreg/com/sun/javatest/agent/Agent.java | 1162 ++ src/jtreg/com/sun/javatest/agent/AgentApplet.java | 304 + src/jtreg/com/sun/javatest/agent/AgentClassLoader.java | 88 + src/jtreg/com/sun/javatest/agent/AgentClassLoader2.java | 63 + src/jtreg/com/sun/javatest/agent/AgentFrame.java | 337 + src/jtreg/com/sun/javatest/agent/AgentMain.java | 556 + src/jtreg/com/sun/javatest/agent/AgentManager.java | 646 + src/jtreg/com/sun/javatest/agent/AgentMonitorCommandManager.java | 231 + src/jtreg/com/sun/javatest/agent/AgentMonitorTool.java | 516 + src/jtreg/com/sun/javatest/agent/AgentMonitorToolManager.java | 111 + src/jtreg/com/sun/javatest/agent/AgentPanel.java | 1048 ++ src/jtreg/com/sun/javatest/agent/BadValue.java | 65 + src/jtreg/com/sun/javatest/agent/Connection.java | 83 + src/jtreg/com/sun/javatest/agent/ConnectionFactory.java | 88 + src/jtreg/com/sun/javatest/agent/Deck.java | 96 + src/jtreg/com/sun/javatest/agent/Deprecated.java | 52 + src/jtreg/com/sun/javatest/agent/Folder.java | 343 + src/jtreg/com/sun/javatest/agent/Icon.java | 114 + src/jtreg/com/sun/javatest/agent/InterruptableSocketConnection.java | 134 + src/jtreg/com/sun/javatest/agent/Map.java | 197 + src/jtreg/com/sun/javatest/agent/ModeOptions.java | 56 + src/jtreg/com/sun/javatest/agent/PassiveAgentCommand.java | 135 + src/jtreg/com/sun/javatest/agent/PassiveConnectionFactory.java | 91 + src/jtreg/com/sun/javatest/agent/PassiveModeOptions.java | 73 + src/jtreg/com/sun/javatest/agent/SocketConnection.java | 169 + src/jtreg/com/sun/javatest/agent/i18n.properties | 95 + src/jtreg/com/sun/javatest/agent/jticon.gif | Bin src/jtreg/com/sun/javatest/agent/package.html | 60 + src/jtreg/com/sun/javatest/audit/Audit.java | 739 + src/jtreg/com/sun/javatest/audit/AuditCommandManager.java | 140 + src/jtreg/com/sun/javatest/audit/AuditPane.java | 82 + src/jtreg/com/sun/javatest/audit/AuditTool.java | 373 + src/jtreg/com/sun/javatest/audit/AuditToolManager.java | 105 + src/jtreg/com/sun/javatest/audit/BadChecksumPane.java | 47 + src/jtreg/com/sun/javatest/audit/BadTestCaseTestsPane.java | 48 + src/jtreg/com/sun/javatest/audit/BadTestDescriptionPane.java | 47 + src/jtreg/com/sun/javatest/audit/BadTestsPane.java | 47 + src/jtreg/com/sun/javatest/audit/ListPane.java | 100 + src/jtreg/com/sun/javatest/audit/OptionsDialog.java | 371 + src/jtreg/com/sun/javatest/audit/SummaryPane.java | 287 + src/jtreg/com/sun/javatest/audit/i18n.properties | 189 + src/jtreg/com/sun/javatest/audit/images/dotdotdot.gif | Bin src/jtreg/com/sun/javatest/audit/package.html | 44 + src/jtreg/com/sun/javatest/batch/BatchManager.java | 119 + src/jtreg/com/sun/javatest/batch/ObserverCommand.java | 182 + src/jtreg/com/sun/javatest/batch/RunTestsCommand.java | 416 + src/jtreg/com/sun/javatest/batch/i18n.properties | 75 + src/jtreg/com/sun/javatest/batch/package.html | 44 + src/jtreg/com/sun/javatest/cof/COF1_0.xsd | 548 + src/jtreg/com/sun/javatest/cof/COF2_0_2.xsd | 779 + src/jtreg/com/sun/javatest/cof/COFApplication.java | 102 + src/jtreg/com/sun/javatest/cof/COFApplications.java | 69 + src/jtreg/com/sun/javatest/cof/COFData.java | 94 + src/jtreg/com/sun/javatest/cof/COFEnvironment.java | 584 + src/jtreg/com/sun/javatest/cof/COFEnvironments.java | 124 + src/jtreg/com/sun/javatest/cof/COFItem.java | 170 + src/jtreg/com/sun/javatest/cof/COFOS.java | 178 + src/jtreg/com/sun/javatest/cof/COFReportAnnotation.java | 160 + src/jtreg/com/sun/javatest/cof/COFReportAnnotations.java | 114 + src/jtreg/com/sun/javatest/cof/COFSWEntities.java | 114 + src/jtreg/com/sun/javatest/cof/COFSWEntity.java | 248 + src/jtreg/com/sun/javatest/cof/COFStatus.java | 193 + src/jtreg/com/sun/javatest/cof/COFTest.java | 594 + src/jtreg/com/sun/javatest/cof/COFTestAttribute.java | 181 + src/jtreg/com/sun/javatest/cof/COFTestAttributes.java | 116 + src/jtreg/com/sun/javatest/cof/COFTestCase.java | 346 + src/jtreg/com/sun/javatest/cof/COFTestCases.java | 133 + src/jtreg/com/sun/javatest/cof/COFTestSuite.java | 143 + src/jtreg/com/sun/javatest/cof/COFTestSuites.java | 126 + src/jtreg/com/sun/javatest/cof/ID.java | 56 + src/jtreg/com/sun/javatest/cof/Main.java | 377 + src/jtreg/com/sun/javatest/cof/Report.java | 424 + src/jtreg/com/sun/javatest/cof/i18n.properties | 54 + src/jtreg/com/sun/javatest/diff/Diff.java | 161 + src/jtreg/com/sun/javatest/diff/DiffReader.java | 40 + src/jtreg/com/sun/javatest/diff/Fault.java | 40 + src/jtreg/com/sun/javatest/diff/HTMLReporter.java | 351 + src/jtreg/com/sun/javatest/diff/HTMLWriter.java | 558 + src/jtreg/com/sun/javatest/diff/Help.java | 445 + src/jtreg/com/sun/javatest/diff/Main.java | 219 + src/jtreg/com/sun/javatest/diff/MultiMap.java | 173 + src/jtreg/com/sun/javatest/diff/ReportReader.java | 126 + src/jtreg/com/sun/javatest/diff/Reporter.java | 76 + src/jtreg/com/sun/javatest/diff/SimpleReporter.java | 163 + src/jtreg/com/sun/javatest/diff/StandardDiff.java | 42 + src/jtreg/com/sun/javatest/diff/StatusComparator.java | 79 + src/jtreg/com/sun/javatest/diff/SuperDiff.java | 342 + src/jtreg/com/sun/javatest/diff/WorkDirectoryReader.java | 113 + src/jtreg/com/sun/javatest/diff/i18n.properties | 153 + src/jtreg/com/sun/javatest/exec/AbstractCellEditor.java | 87 + src/jtreg/com/sun/javatest/exec/AccessWrapper.java | 73 + src/jtreg/com/sun/javatest/exec/BP_BranchSubpanel.java | 96 + src/jtreg/com/sun/javatest/exec/BP_DocumentationSubpanel.java | 107 + src/jtreg/com/sun/javatest/exec/BP_FilteredOutSubpanel.java | 926 + src/jtreg/com/sun/javatest/exec/BP_Model.java | 78 + src/jtreg/com/sun/javatest/exec/BP_SummarySubpanel.java | 980 ++ src/jtreg/com/sun/javatest/exec/BP_TestListSubpanel.java | 1353 ++ src/jtreg/com/sun/javatest/exec/BasicCustomTestFilter.java | 1077 ++ src/jtreg/com/sun/javatest/exec/BranchPanel.java | 579 + src/jtreg/com/sun/javatest/exec/CE_EnvironmentPane.java | 276 + src/jtreg/com/sun/javatest/exec/CE_ExcludeListPane.java | 612 + src/jtreg/com/sun/javatest/exec/CE_ExecutionPane.java | 253 + src/jtreg/com/sun/javatest/exec/CE_FullView.java | 265 + src/jtreg/com/sun/javatest/exec/CE_KeywordsPane.java | 527 + src/jtreg/com/sun/javatest/exec/CE_PriorStatusPane.java | 203 + src/jtreg/com/sun/javatest/exec/CE_StdPane.java | 82 + src/jtreg/com/sun/javatest/exec/CE_StdView.java | 274 + src/jtreg/com/sun/javatest/exec/CE_TemplateDialog.java | 320 + src/jtreg/com/sun/javatest/exec/CE_TestsPane.java | 255 + src/jtreg/com/sun/javatest/exec/CE_View.java | 72 + src/jtreg/com/sun/javatest/exec/ChecklistBrowser.java | 296 + src/jtreg/com/sun/javatest/exec/ConfigEditor.java | 1401 ++ src/jtreg/com/sun/javatest/exec/ConfigHandler.java | 1198 ++ src/jtreg/com/sun/javatest/exec/ConfigurableTestFilter.java | 209 + src/jtreg/com/sun/javatest/exec/ContextManager.java | 583 + src/jtreg/com/sun/javatest/exec/CustomTestResultViewer.java | 104 + src/jtreg/com/sun/javatest/exec/DetailsBrowser.java | 154 + src/jtreg/com/sun/javatest/exec/ET_FilterHandler.java | 591 + src/jtreg/com/sun/javatest/exec/ElapsedTimeMonitor.java | 221 + src/jtreg/com/sun/javatest/exec/EnvironmentBrowser.java | 351 + src/jtreg/com/sun/javatest/exec/ExcludeListBrowser.java | 371 + src/jtreg/com/sun/javatest/exec/ExecModel.java | 93 + src/jtreg/com/sun/javatest/exec/ExecTool.java | 1471 +++ src/jtreg/com/sun/javatest/exec/ExecToolManager.java | 815 + src/jtreg/com/sun/javatest/exec/FeatureManager.java | 89 + src/jtreg/com/sun/javatest/exec/FileSystemTableModel.java | 245 + src/jtreg/com/sun/javatest/exec/FileTable.java | 99 + src/jtreg/com/sun/javatest/exec/FileType.java | 85 + src/jtreg/com/sun/javatest/exec/FilesPane.java | 134 + src/jtreg/com/sun/javatest/exec/FilterConfig.java | 858 + src/jtreg/com/sun/javatest/exec/FilterSelectionHandler.java | 425 + src/jtreg/com/sun/javatest/exec/JavaTestContextMenu.java | 134 + src/jtreg/com/sun/javatest/exec/JavaTestMenuManager.java | 133 + src/jtreg/com/sun/javatest/exec/JavaTestToolBar.java | 236 + src/jtreg/com/sun/javatest/exec/LogViewer.java | 1349 ++ src/jtreg/com/sun/javatest/exec/LogViewerTools.java | 191 + src/jtreg/com/sun/javatest/exec/MessageStrip.java | 383 + src/jtreg/com/sun/javatest/exec/Monitor.java | 60 + src/jtreg/com/sun/javatest/exec/MonitorState.java | 334 + src/jtreg/com/sun/javatest/exec/MultiFormatPane.java | 971 ++ src/jtreg/com/sun/javatest/exec/MultiSelectPanel.java | 177 + src/jtreg/com/sun/javatest/exec/NavigationPane.java | 365 + src/jtreg/com/sun/javatest/exec/NewReportDialog.java | 1428 ++ src/jtreg/com/sun/javatest/exec/ParameterFilter.java | 238 + src/jtreg/com/sun/javatest/exec/PrefsPane.java | 195 + src/jtreg/com/sun/javatest/exec/ProgressMeter.java | 343 + src/jtreg/com/sun/javatest/exec/ProgressMonitor.java | 632 + src/jtreg/com/sun/javatest/exec/PropertiesBrowser.java | 310 + src/jtreg/com/sun/javatest/exec/QuestionLogBrowser.java | 280 + src/jtreg/com/sun/javatest/exec/QuickStartWizard.java | 1263 ++ src/jtreg/com/sun/javatest/exec/RenderingUtilities.java | 185 + src/jtreg/com/sun/javatest/exec/ReportBrowser.java | 164 + src/jtreg/com/sun/javatest/exec/ReportHandler.java | 311 + src/jtreg/com/sun/javatest/exec/RunProgressMonitor.java | 160 + src/jtreg/com/sun/javatest/exec/RunTestsHandler.java | 527 + src/jtreg/com/sun/javatest/exec/TP_CustomSubpanel.java | 53 + src/jtreg/com/sun/javatest/exec/TP_DescSubpanel.java | 62 + src/jtreg/com/sun/javatest/exec/TP_DocumentationSubpanel.java | 86 + src/jtreg/com/sun/javatest/exec/TP_EnvSubpanel.java | 124 + src/jtreg/com/sun/javatest/exec/TP_FilesSubpanel.java | 84 + src/jtreg/com/sun/javatest/exec/TP_OutputSubpanel.java | 806 + src/jtreg/com/sun/javatest/exec/TP_PropertySubpanel.java | 415 + src/jtreg/com/sun/javatest/exec/TP_ResultsSubpanel.java | 138 + src/jtreg/com/sun/javatest/exec/TP_Subpanel.java | 78 + src/jtreg/com/sun/javatest/exec/TT_NodeCache.java | 871 + src/jtreg/com/sun/javatest/exec/TT_Renderer.java | 329 + src/jtreg/com/sun/javatest/exec/TU_ViewManager.java | 395 + src/jtreg/com/sun/javatest/exec/TemplateParameterFilter.java | 119 + src/jtreg/com/sun/javatest/exec/TestPanel.java | 423 + src/jtreg/com/sun/javatest/exec/TestSuiteErrorsDialog.java | 124 + src/jtreg/com/sun/javatest/exec/TestTree.java | 252 + src/jtreg/com/sun/javatest/exec/TestTreeModel.java | 1243 ++ src/jtreg/com/sun/javatest/exec/TestTreePanel.java | 1832 +++ src/jtreg/com/sun/javatest/exec/ToolBarManager.java | 259 + src/jtreg/com/sun/javatest/exec/ToolBarPanel.java | 162 + src/jtreg/com/sun/javatest/exec/TreePanelModel.java | 97 + src/jtreg/com/sun/javatest/exec/WorkDirChooseTool.java | 1088 ++ src/jtreg/com/sun/javatest/exec/i18n.properties | 1837 +++ src/jtreg/com/sun/javatest/exec/images/Back16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Back24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Dir.gif | Bin src/jtreg/com/sun/javatest/exec/images/Down16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Down24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Edit16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Edit24.gif | Bin src/jtreg/com/sun/javatest/exec/images/FastForward16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Find16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Find24.gif | Bin src/jtreg/com/sun/javatest/exec/images/FindAgain16.gif | Bin src/jtreg/com/sun/javatest/exec/images/FindAgain24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Forward16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Forward24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Help16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Help24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Home16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Home24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Last16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Pause16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Pause24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Play16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Play24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Preferences16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Preferences24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Print16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Print24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Save16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Save24.gif | Bin src/jtreg/com/sun/javatest/exec/images/SaveAs16.gif | Bin src/jtreg/com/sun/javatest/exec/images/SaveAs24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Stop16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Stop24.gif | Bin src/jtreg/com/sun/javatest/exec/images/Up16.gif | Bin src/jtreg/com/sun/javatest/exec/images/Up24.gif | Bin src/jtreg/com/sun/javatest/exec/images/UpDir.gif | Bin src/jtreg/com/sun/javatest/exec/images/drop-down.gif | Bin src/jtreg/com/sun/javatest/exec/images/fullView.gif | Bin src/jtreg/com/sun/javatest/exec/images/magnify.gif | Bin src/jtreg/com/sun/javatest/exec/images/question.gif | Bin src/jtreg/com/sun/javatest/exec/images/snooze.sm.gif | Bin src/jtreg/com/sun/javatest/exec/images/stdView.gif | Bin src/jtreg/com/sun/javatest/exec/images/stream.gif | Bin src/jtreg/com/sun/javatest/exec/package.html | 43 + src/jtreg/com/sun/javatest/finder/BinaryTestFinder.java | 547 + src/jtreg/com/sun/javatest/finder/BinaryTestWriter.java | 860 + src/jtreg/com/sun/javatest/finder/ChameleonTestFinder.java | 450 + src/jtreg/com/sun/javatest/finder/CommentStream.java | 85 + src/jtreg/com/sun/javatest/finder/ExpandTestFinder.java | 348 + src/jtreg/com/sun/javatest/finder/HTMLCommentStream.java | 84 + src/jtreg/com/sun/javatest/finder/HTMLTestFinder.java | 627 + src/jtreg/com/sun/javatest/finder/JavaCommentStream.java | 161 + src/jtreg/com/sun/javatest/finder/ReverseTestFinder.java | 121 + src/jtreg/com/sun/javatest/finder/ShScriptCommentStream.java | 83 + src/jtreg/com/sun/javatest/finder/ShowTests.java | 291 + src/jtreg/com/sun/javatest/finder/TagTestFinder.java | 388 + src/jtreg/com/sun/javatest/finder/i18n.properties | 69 + src/jtreg/com/sun/javatest/finder/package.html | 45 + src/jtreg/com/sun/javatest/httpd/HttpdServer.java | 194 + src/jtreg/com/sun/javatest/httpd/JThttpProvider.java | 148 + src/jtreg/com/sun/javatest/httpd/PageGenerator.java | 252 + src/jtreg/com/sun/javatest/httpd/ProviderRegistry.java | 494 + src/jtreg/com/sun/javatest/httpd/RequestHandler.java | 178 + src/jtreg/com/sun/javatest/httpd/RootRegistry.java | 136 + src/jtreg/com/sun/javatest/httpd/httpURL.java | 318 + src/jtreg/com/sun/javatest/httpd/i18n.properties | 45 + src/jtreg/com/sun/javatest/i18n.properties | 460 + src/jtreg/com/sun/javatest/interview/BasicInterviewParameters.java | 433 + src/jtreg/com/sun/javatest/interview/ConcurrencyInterview.java | 104 + src/jtreg/com/sun/javatest/interview/DefaultInterviewParameters.java | 63 + src/jtreg/com/sun/javatest/interview/EnvironmentInterview.java | 385 + src/jtreg/com/sun/javatest/interview/ExcludeListInterview.java | 605 + src/jtreg/com/sun/javatest/interview/KeywordsInterview.java | 304 + src/jtreg/com/sun/javatest/interview/LegacyParameters.java | 88 + src/jtreg/com/sun/javatest/interview/PriorStatusInterview.java | 225 + src/jtreg/com/sun/javatest/interview/SimpleInterviewParameters.java | 270 + src/jtreg/com/sun/javatest/interview/TestsInterview.java | 434 + src/jtreg/com/sun/javatest/interview/TimeoutFactorInterview.java | 106 + src/jtreg/com/sun/javatest/interview/i18n.properties | 176 + src/jtreg/com/sun/javatest/interview/package.html | 46 + src/jtreg/com/sun/javatest/lib/APIScript.java | 114 + src/jtreg/com/sun/javatest/lib/Deprecated.java | 52 + src/jtreg/com/sun/javatest/lib/ExecStdTestOtherJVMCmd.java | 77 + src/jtreg/com/sun/javatest/lib/ExecStdTestSameJVMCmd.java | 155 + src/jtreg/com/sun/javatest/lib/JavaCompileCommand.java | 317 + src/jtreg/com/sun/javatest/lib/KeywordScript.java | 235 + src/jtreg/com/sun/javatest/lib/MultiStatus.java | 246 + src/jtreg/com/sun/javatest/lib/MultiTest.java | 314 + src/jtreg/com/sun/javatest/lib/ProcessCommand.java | 462 + src/jtreg/com/sun/javatest/lib/ReportScript.java | 59 + src/jtreg/com/sun/javatest/lib/StdTestScript.java | 223 + src/jtreg/com/sun/javatest/lib/TestCases.java | 275 + src/jtreg/com/sun/javatest/logging/ErrorDialogHandler.java | 217 + src/jtreg/com/sun/javatest/logging/FileEvent.java | 51 + src/jtreg/com/sun/javatest/logging/FileListener.java | 34 + src/jtreg/com/sun/javatest/logging/FilteredLogModel.java | 392 + src/jtreg/com/sun/javatest/logging/JTFormatter.java | 104 + src/jtreg/com/sun/javatest/logging/LogModel.java | 502 + src/jtreg/com/sun/javatest/logging/LoggerFactory.java | 58 + src/jtreg/com/sun/javatest/logging/ObservedFile.java | 194 + src/jtreg/com/sun/javatest/logging/WorkDirLogHandler.java | 148 + src/jtreg/com/sun/javatest/logging/i18n.properties | 51 + src/jtreg/com/sun/javatest/mrep/BrowserPane.java | 585 + src/jtreg/com/sun/javatest/mrep/ConflictResolutionDialog.java | 263 + src/jtreg/com/sun/javatest/mrep/ConflictResolver.java | 38 + src/jtreg/com/sun/javatest/mrep/FilesPane.java | 472 + src/jtreg/com/sun/javatest/mrep/Merger.java | 127 + src/jtreg/com/sun/javatest/mrep/OptionsDialog.java | 204 + src/jtreg/com/sun/javatest/mrep/OptionsPane.java | 504 + src/jtreg/com/sun/javatest/mrep/ReportDirChooser.java | 298 + src/jtreg/com/sun/javatest/mrep/ReportTool.java | 697 + src/jtreg/com/sun/javatest/mrep/ReportToolManager.java | 91 + src/jtreg/com/sun/javatest/mrep/Scheme.java | 100 + src/jtreg/com/sun/javatest/mrep/TestResultDescr.java | 78 + src/jtreg/com/sun/javatest/mrep/XMLReportReader.java | 95 + src/jtreg/com/sun/javatest/mrep/XMLReportWriter.java | 279 + src/jtreg/com/sun/javatest/mrep/i18n.properties | 200 + src/jtreg/com/sun/javatest/mrep/images/Back16.gif | Bin src/jtreg/com/sun/javatest/mrep/images/Forward16.gif | Bin src/jtreg/com/sun/javatest/mrep/images/Home16.gif | Bin src/jtreg/com/sun/javatest/mrep/images/dotdotdot.gif | Bin src/jtreg/com/sun/javatest/package.html | 61 + src/jtreg/com/sun/javatest/regtest/Action.java | 550 + src/jtreg/com/sun/javatest/regtest/AntOptionDecoder.java | 93 + src/jtreg/com/sun/javatest/regtest/AppletAction.java | 631 + src/jtreg/com/sun/javatest/regtest/AppletWrapper.java | 650 + src/jtreg/com/sun/javatest/regtest/BadArgs.java | 38 + src/jtreg/com/sun/javatest/regtest/BuildAction.java | 226 + src/jtreg/com/sun/javatest/regtest/CheckFiles.java | 150 + src/jtreg/com/sun/javatest/regtest/CleanAction.java | 146 + src/jtreg/com/sun/javatest/regtest/CompileAction.java | 701 + src/jtreg/com/sun/javatest/regtest/GetSystemProperty.java | 40 + src/jtreg/com/sun/javatest/regtest/Help.java | 490 + src/jtreg/com/sun/javatest/regtest/IgnoreAction.java | 111 + src/jtreg/com/sun/javatest/regtest/IgnoreKind.java | 35 + src/jtreg/com/sun/javatest/regtest/JDK.java | 88 + src/jtreg/com/sun/javatest/regtest/Main.java | 1842 +++ src/jtreg/com/sun/javatest/regtest/MainAction.java | 730 + src/jtreg/com/sun/javatest/regtest/MainWrapper.java | 186 + src/jtreg/com/sun/javatest/regtest/Option.java | 97 + src/jtreg/com/sun/javatest/regtest/OptionDecoder.java | 184 + src/jtreg/com/sun/javatest/regtest/ParseException.java | 51 + src/jtreg/com/sun/javatest/regtest/Path.java | 164 + src/jtreg/com/sun/javatest/regtest/RegressionEnvironment.java | 49 + src/jtreg/com/sun/javatest/regtest/RegressionObserver.java | 327 + src/jtreg/com/sun/javatest/regtest/RegressionParameters.java | 619 + src/jtreg/com/sun/javatest/regtest/RegressionScript.java | 964 + src/jtreg/com/sun/javatest/regtest/RegressionSecurityManager.java | 149 + src/jtreg/com/sun/javatest/regtest/RegressionTestFinder.java | 569 + src/jtreg/com/sun/javatest/regtest/RegressionTestSuite.java | 180 + src/jtreg/com/sun/javatest/regtest/ShellAction.java | 282 + src/jtreg/com/sun/javatest/regtest/StringArray.java | 182 + src/jtreg/com/sun/javatest/regtest/StringUtils.java | 45 + src/jtreg/com/sun/javatest/regtest/TestRunException.java | 52 + src/jtreg/com/sun/javatest/regtest/Verbose.java | 130 + src/jtreg/com/sun/javatest/regtest/i18n.properties | 327 + src/jtreg/com/sun/javatest/report/ConfigSection.java | 510 + src/jtreg/com/sun/javatest/report/CustomReport.java | 390 + src/jtreg/com/sun/javatest/report/HTMLReport.java | 292 + src/jtreg/com/sun/javatest/report/HTMLSection.java | 92 + src/jtreg/com/sun/javatest/report/PlainTextReport.java | 112 + src/jtreg/com/sun/javatest/report/Report.java | 1096 ++ src/jtreg/com/sun/javatest/report/ReportDirChooser.java | 289 + src/jtreg/com/sun/javatest/report/ReportFormat.java | 45 + src/jtreg/com/sun/javatest/report/ReportManager.java | 265 + src/jtreg/com/sun/javatest/report/ReportModel.java | 34 + src/jtreg/com/sun/javatest/report/ReportWriter.java | 191 + src/jtreg/com/sun/javatest/report/ResultSection.java | 263 + src/jtreg/com/sun/javatest/report/StatisticsSection.java | 228 + src/jtreg/com/sun/javatest/report/StringArrayComparator.java | 55 + src/jtreg/com/sun/javatest/report/TestResultsByFileComparator.java | 73 + src/jtreg/com/sun/javatest/report/TestResultsByStatusAndTitleComparator.java | 58 + src/jtreg/com/sun/javatest/report/TestResultsByTitleComparator.java | 53 + src/jtreg/com/sun/javatest/report/XMLReport.java | 471 + src/jtreg/com/sun/javatest/report/XMLReportMaker.java | 609 + src/jtreg/com/sun/javatest/report/i18n.properties | 135 + src/jtreg/com/sun/javatest/report/package.html | 39 + src/jtreg/com/sun/javatest/stylesheet.css | 33 + src/jtreg/com/sun/javatest/tool/Command.java | 280 + src/jtreg/com/sun/javatest/tool/CommandContext.java | 1028 ++ src/jtreg/com/sun/javatest/tool/CommandManager.java | 107 + src/jtreg/com/sun/javatest/tool/CommandParser.java | 343 + src/jtreg/com/sun/javatest/tool/ConfigManager.java | 1435 ++ src/jtreg/com/sun/javatest/tool/CustomPropagationController.java | 113 + src/jtreg/com/sun/javatest/tool/Deck.java | 127 + src/jtreg/com/sun/javatest/tool/DeskView.java | 833 + src/jtreg/com/sun/javatest/tool/Desktop.java | 1507 +++ src/jtreg/com/sun/javatest/tool/DesktopManager.java | 88 + src/jtreg/com/sun/javatest/tool/DesktopPrefsPane.java | 404 + src/jtreg/com/sun/javatest/tool/EditableFileList.java | 146 + src/jtreg/com/sun/javatest/tool/EditableList.java | 466 + src/jtreg/com/sun/javatest/tool/EnvironmentManager.java | 145 + src/jtreg/com/sun/javatest/tool/FileChooser.java | 129 + src/jtreg/com/sun/javatest/tool/FileHistory.java | 398 + src/jtreg/com/sun/javatest/tool/FileOpener.java | 90 + src/jtreg/com/sun/javatest/tool/FocusMonitor.java | 711 + src/jtreg/com/sun/javatest/tool/HelpLink.java | 195 + src/jtreg/com/sun/javatest/tool/HelpLinkBeanInfo.java | 59 + src/jtreg/com/sun/javatest/tool/HelpManager.java | 278 + src/jtreg/com/sun/javatest/tool/HelpMenu.java | 306 + src/jtreg/com/sun/javatest/tool/HttpManager.java | 99 + src/jtreg/com/sun/javatest/tool/I18NUtils.java | 265 + src/jtreg/com/sun/javatest/tool/IconFactory.java | 770 + src/jtreg/com/sun/javatest/tool/IconLabel.java | 131 + src/jtreg/com/sun/javatest/tool/IconLabelBeanInfo.java | 57 + src/jtreg/com/sun/javatest/tool/LogManager.java | 112 + src/jtreg/com/sun/javatest/tool/MDIDeskView.java | 587 + src/jtreg/com/sun/javatest/tool/Main.java | 506 + src/jtreg/com/sun/javatest/tool/ManagerLoader.java | 148 + src/jtreg/com/sun/javatest/tool/PieChart.java | 231 + src/jtreg/com/sun/javatest/tool/Preferences.java | 770 + src/jtreg/com/sun/javatest/tool/SDIDeskView.java | 494 + src/jtreg/com/sun/javatest/tool/SelectedWorkDirApprover.java | 298 + src/jtreg/com/sun/javatest/tool/Startup.java | 207 + src/jtreg/com/sun/javatest/tool/TabDeskView.java | 528 + src/jtreg/com/sun/javatest/tool/TestSuiteChooser.java | 261 + src/jtreg/com/sun/javatest/tool/TestTreeSelectionPane.java | 125 + src/jtreg/com/sun/javatest/tool/Tool.java | 361 + src/jtreg/com/sun/javatest/tool/ToolAction.java | 243 + src/jtreg/com/sun/javatest/tool/ToolDialog.java | 719 + src/jtreg/com/sun/javatest/tool/ToolManager.java | 232 + src/jtreg/com/sun/javatest/tool/TreeSelectionPane.java | 995 ++ src/jtreg/com/sun/javatest/tool/UIFactory.java | 2972 ++++++ src/jtreg/com/sun/javatest/tool/VerboseCommand.java | 159 + src/jtreg/com/sun/javatest/tool/WDC_FileFilter.java | 48 + src/jtreg/com/sun/javatest/tool/WDC_FileView.java | 66 + src/jtreg/com/sun/javatest/tool/WorkDirChooser.java | 352 + src/jtreg/com/sun/javatest/tool/i18n.properties | 538 + src/jtreg/com/sun/javatest/tool/images/jticon.gif | Bin src/jtreg/com/sun/javatest/tool/images/jtlogo.gif | Bin src/jtreg/com/sun/javatest/tool/images/splash.gif | Bin src/jtreg/com/sun/javatest/tool/package.html | 49 + src/jtreg/com/sun/javatest/util/BackupPolicy.java | 262 + src/jtreg/com/sun/javatest/util/BackupUtil.java | 340 + src/jtreg/com/sun/javatest/util/Debug.java | 492 + src/jtreg/com/sun/javatest/util/DirectoryClassLoader.java | 226 + src/jtreg/com/sun/javatest/util/DynamicArray.java | 273 + src/jtreg/com/sun/javatest/util/ExitCount.java | 77 + src/jtreg/com/sun/javatest/util/Fifo.java | 144 + src/jtreg/com/sun/javatest/util/FileFilter.java | 43 + src/jtreg/com/sun/javatest/util/FileInfoCache.java | 134 + src/jtreg/com/sun/javatest/util/HTMLWriter.java | 558 + src/jtreg/com/sun/javatest/util/HelpTree.java | 510 + src/jtreg/com/sun/javatest/util/I18NResourceBundle.java | 171 + src/jtreg/com/sun/javatest/util/LineParser.java | 288 + src/jtreg/com/sun/javatest/util/LogFile.java | 172 + src/jtreg/com/sun/javatest/util/MainAppletContext.java | 133 + src/jtreg/com/sun/javatest/util/MainFrame.java | 251 + src/jtreg/com/sun/javatest/util/OrderedTwoWayTable.java | 135 + src/jtreg/com/sun/javatest/util/PathClassLoader.java | 208 + src/jtreg/com/sun/javatest/util/PrefixMap.java | 169 + src/jtreg/com/sun/javatest/util/Properties.java | 395 + src/jtreg/com/sun/javatest/util/PropertyArray.java | 723 + src/jtreg/com/sun/javatest/util/ReadAheadIterator.java | 350 + src/jtreg/com/sun/javatest/util/SortedProperties.java | 58 + src/jtreg/com/sun/javatest/util/StringArray.java | 203 + src/jtreg/com/sun/javatest/util/SysEnv.java | 176 + src/jtreg/com/sun/javatest/util/TextStream.java | 97 + src/jtreg/com/sun/javatest/util/TextWriter.java | 281 + src/jtreg/com/sun/javatest/util/Timer.java | 219 + src/jtreg/com/sun/javatest/util/WrapWriter.java | 191 + src/jtreg/com/sun/javatest/util/WriterStream.java | 159 + src/jtreg/com/sun/javatest/util/XMLWriter.java | 358 + src/jtreg/com/sun/javatest/util/i18n.properties | 32 + src/jtreg/com/sun/javatest/util/package.html | 39 + src/jtreg/excludelist.jdk.jtx | 29 + src/jtreg/legal/copyright.txt | 22 + src/jtreg/legal/license.txt | 347 + tapset/hotspot_jni.stp.in | 20 +- tapset/jstack.stp.in | 287 +- test/tapset/ClassUnloadedProbeTester.java | 38 + test/tapset/JNIStapTest.c | 2107 ++++ test/tapset/JNITestClass.c | 7 + test/tapset/JNITestClass.h | 21 + test/tapset/JNITestClass.java | 121 + test/tapset/RunWrapper.java | 21 + test/tapset/StapJNIClassLoader.java | 64 + test/tapset/StapURLClassLoader.java | 24 + test/tapset/SystemtapTester.java | 202 + test/tapset/TestingRunner.java | 82 + test/tapset/jstaptest.pl | 1009 ++ 1570 files changed, 195435 insertions(+), 254725 deletions(-) diffs (truncated from 458157 to 500 lines): diff -r 0a0072170876 -r aaefc2cbbc10 .hgtags --- a/.hgtags Mon Nov 28 20:06:41 2011 +0000 +++ b/.hgtags Wed May 16 12:59:46 2012 +0100 @@ -20,3 +20,4 @@ 1188b1a313b9e968d57ff44eb879d70f543b20fd icedtea6-1.8-branchpoint cb463b94b82da269ea089c481ed5e39700525a8a icedtea6-1.9-branchpoint 21f2a8d158545a161ba0d997c13bdba1e6166394 icedtea6-1.10-branchpoint +24c5bd2e7d574441813bfb8f9e4636e50c5d7c28 icedtea6-1.11-branchpoint diff -r 0a0072170876 -r aaefc2cbbc10 ChangeLog --- a/ChangeLog Mon Nov 28 20:06:41 2011 +0000 +++ b/ChangeLog Wed May 16 12:59:46 2012 +0100 @@ -1,3 +1,2119 @@ +2012-05-16 Andrew John Hughes + + Move to released b25. + * Makefile.am: + (OPENJDK_DATE): Set to b25 release date. + (OPENJDK_SHA256SUM): Set to b25 checksum. + +2012-05-16 Andrew John Hughes + + * NEWS: Add latest releases, 1.10.7 & 1.11.2 + +2012-05-10 Andrew John Hughes + + * Makefile.am: Add new patches. + * patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch, + * patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch, + * patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch, + * patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch, + * patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch, + * patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch, + * patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch: + Backports from 7 to improve P11Cipher. + +2012-05-09 Andrew John Hughes + + * Makefile.am: + (MEMORY_LIMIT): Always set this. + * javac.in: + Split out '-J' prefixed options and pass them + to the VM rather than ecj. Filter out + '-J-Xbootclasspath/p:', which makes no sense + as there's nothing to prepend, and confuses + the VM. + +2012-05-09 Pavel Tisnovsky + + * patches/remove_multicatch_in_testrsa.patch: + Make the test TestRSA compatible with JDK6 syntax. + * Makefile.am: Updated. + +2012-05-09 Andrew John Hughes + + * Makefile.am: + (add-nss): Copy nss.cfg to j2re-image as well. + (clean-add-nss): Remove nss.cfg from j2re-image. + (add-nss-debug): Same as for add-nss. + (clean-add-nss-debug): Same as for clean-add-nss. + (add-nss-ecj): Same as for add-nss. + (clean-add-nss-ecj): Same as for clean-add-nss. + +2012-05-04 Andrew John Hughes + + Backport cryptography tests from 7. + * Makefile.am: Add new patches. + * patches/generalise_crypto_tests.patch: + IcedTea7 patch to generalise crypto tests. + * patches/openjdk/7088989-ucrypto_tests.patch: + Backport of 7088989. + * patches/remove-gcm-test.patch: + Remove GCM testing as not part of 6. + * patches/skip_wrap_mode.patch: + IcedTea7 patch to skip wrap mode tests when mode + is not available. + +2012-04-20 Pavel Tisnovsky + + * NEWS: Mention bugfix PR797 (the same as bugfig RH789154). + +2012-03-29 Pavel Tisnovsky + + * patches/revert-6885123.patch: Removed to fix + RH bug #789154 - javac error messages no longer + contain the full path to the offending file. + * NEWS: Mention bugfix. + * Makefile.am: Updated. + +2012-03-27 Pavel Tisnovsky + + * patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch: + Backport of: 6792400: Avoid loading of Normalizer resources + for simple uses + * NEWS: Mention backport. + * Makefile.am: Updated + +2012-03-21 Pavel Tisnovsky + + * patches/apache-xml-internal-fix-bug-38655.patch: + Added patch which fixes the Apache XML security bug #38655 + * Makefile.am: Updated + +2012-03-21 Pavel Tisnovsky + + PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + * Makefile.am: Updated + * patches/idresolver_fix.patch: added patch for a class + IdResolver. + +2012-03-26 Mark Wielaard + + * test/tapset/jstaptest.pl: thread_start and thread_stop thread id + can be any positive number. + +2012-03-23 Mark Wielaard + + * test/tapset/jstaptest.pl: Add jstack tests. + +2012-03-23 Jon VanAlten + + * Makefile.am: + Add target to run tapset tests. + * tapset/hotspot_jni.stp.in: + Add notes regarding required JVM option to GetField + family of probe aliases. + * test/tapset/ClassUnloadedProbeTester.java: + Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. + * test/tapset/JNIStapTest.c: + Likewise. + * test/tapset/JNITestClass.c: + Likewise. + * test/tapset/JNITestClass.h: + Likewise. + * test/tapset/JNITestClass.java: + Likewise. + * test/tapset/RunWrapper.java: + Likewise. + * test/tapset/StapJNIClassLoader.java: + Likewise. + * test/tapset/StapURLClassLoader.java: + Likewise. + * test/tapset/SystemtapTester.java: + Likewise. + * test/tapset/TestingRunner.java: + Likewise. + * test/tapset/jstaptest.pl: + Wrapper script, compiles and runs tests for tapsets. + +2012-03-20 Mark Wielaard + + * Makefile.am (clean-jtreg): Depend on clean-jtreg-reports. + +2012-03-20 Andrew John Hughes + + * acinclude.m4: + (IT_FIND_COMPILER): Define only once and + rename from IT_FIND_JAVAC. + (IT_FIND_ECJ): Use same form as detection + for java, javah, jar and rmic. + (IT_FIND_JAVAC): Likewise. + (IT_CHECK_JAVA_AND_JAVAC_WORK): New macro to check + java and javac actually work together to compile code + before running other tests such as the dtdtype one. + (IT_CHECK_FOR_CLASS): Depend on java/javac working. + (IT_CHECK_IF_INSTANTIABLE): Likewise. + (IT_GETDTDTYPE_CHECK): Likewise. Add -target 5. + (IT_JAVAH): Depend on java/javac working. + * configure.ac: Invoke IT_FIND_COMPILER rather than + IT_FIND_JAVAC. + +2012-03-19 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_JDK): Update JDK home directory + check list, adding some missing 1.6 entries + and removing generic ones which may now pick + up an unwanted 1.7 installation. + +2012-03-16 Andrew John Hughes + + PR600, 886: + * Makefile.am: + (extract-openjdk): Copy jvm.cfg over if building JamVM. + * acinclude.m4: + (IT_ENABLE_JAMVM): Generate jvm.jamvm.cfg. + * jvm.jamvm.cfg.in: Copied from jvm.cfg.in. + +2012-03-16 Andrew John Hughes + + PR600, 886: + * patches/pr600-arm-jvm.cfg.patch: Removed. + * Makefile.am: + (extract-openjdk): Copy jvm.cfg over if building cacao. + * acinclude.m4: + (IT_ENABLE_CACAO): Generate jvm.cacao.cfg. + * jvm.cacao.cfg.in: Copied from jvm.cfg.in. + +2012-03-16 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/arm_cas.S: Use unified syntax + for thumb code. + +2012-03-15 Andrew Haley + + * openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp (it): Add code to + handle negated conditions. + (handle_special_method): Use blx_reg rather than blx in case the + target is thumb code. + (IT_MASK_TE, IT_MASK_TT, IT_MASK_TTT): Delete. + (IT_MASK_TEE): Correct. + +2012-03-14 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/bytecodes_arm.def (ldc, ldc_w): + Replace numeric constants for constant pool with symbols. + * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S (build_frame): + Likewise. + (fast_native_entry): Likewise. + +2012-03-02 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/arm_cas.S: New file. + * patches/arm.patch (void get_processor_features): New function + that enables compareAndSwap on jlongs. + (atomic_linux_zero.inline.hpp: arm_val_compare_and_swap): New + function. + (atomic_linux_zero.inline.hpp: Atomic::store): Use + arm_val_compare_and_swap. + + * openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp (IT_MASK_TT) + (IT_MASK_TE, IT_MASK_TTT, IT_MASK_TEE): Add a few new IT + encodings. + (Thumb2_dUnaryOp): Generalize Thumb2_dNeg. + (Thumb2_dNeg, Thumb2_dAbs): Specializations of Thumb2_dUnaryOp. + (handle_special_method): Use intrinsic_id instead of method_kind. + Add handlers for _compareAndSwapInt and _compareAndSwapLong. + (Thumb2_codegen): Call handle_special_method() for invokevirtual. + Pass stackdepth to handle_special_method(). + +2012-03-14 Mark Wielaard + + * Makefile.am (EXTRA_DIST): Add tapset/jstack.stp.in. + +2012-03-13 Mark Wielaard + + * tapset/jstack.stp.in: Wrap heap accessors in try-catch block to be + able to report unusual frames. + +2012-03-13 Mark Wielaard + + * tapset/jstack.stp.in: Use @var construct if available to pick + target variable from the right CU (needed by newer DWARF/gcc + versions). + +2012-03-13 Mark Wielaard + + * tapset/jstack.stp.in: Index globals on pid() to support multiple + running hotspot jstacks at the same time. + +2012-03-13 Mark Wielaard + + * tapset/jstack.stp.in: Don't hard code constantPoolOopDesc_size. + +2012-03-09 Andrew John Hughes + + * patches/security/20120214/7082299.patch, + * patches/security/20120214/7088367.patch, + * patches/security/20120214/7110683.patch, + * patches/security/20120214/7110687.patch, + * patches/security/20120214/7110700.patch, + * patches/security/20120214/7110704.patch, + * patches/security/20120214/7118283.patch, + * patches/security/20120214/7126960.patch: + Removed; upstream. + * Makefile.am: Drop above patches. + +2012-03-02 Xerxes R??nby + Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp: + (handle_special_method): Fix a off by one byte SIGILL crash + during BLX call to thumb compiled StrictMath intrinsics for + --with-float=hard --with-mode=thumb ARM builds. + +2012-02-27 Pavel Tisnovsky + + * Makefile.am: Add new patch. + * NEWS: Mention backport. + * patches/openjdk/4465490-Suspicious_double-check_locking_idiom.patch: + Backport of S4465490: Suspicious about double-check locking idiom being + used in the code. + +2012-02-27 Pavel Tisnovsky + + * Makefile.am: Add new patch. + * NEWS: Mention backport. + * patches/openjdk/6883983-JarVerifier_removed_dependency_sun_security_pkcs.patch: + Backport of S6883983: JarVerifier dependency on + sun.security.pkcs should be removed + +2012-02-24 Pavel Tisnovsky + + * patches/ScriptEngineManager-doc.patch: + Added patch with JavaDoc fixes for ScriptEngineManager class. + * Makefile.am: updated + +2012-02-22 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp + (handle_special_method, jstack_to_vfp, vfp_to_jstack): New + functions. + (Thumb2_codegen): Call handle_special_method. + (t_vop_ops): Add VSQRT. + (T_VMOVD_VFP_TOVFP): New macro. + (vmov_reg_d_VFP_to_VFP): New function. + +2012-02-20 Andrew Haley + + PR584: + * arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp (Helper_new): + Don't use shared Eden in incremental mode. + +2012-02-15 Andrew John Hughes + + * NEWS: Bring in 1.8.13, 1.9.13 and 1.10.6 + release notes. + +2012-02-08 Omair Majid + + * NEWS: Update with security fixes. + * Makefile.am + (SECURITY_PATCHES): Add security patches. + (SPECIAL_SECURITY_PATCH): Add new variable. + (ICEDTEA_PATCHES): Add security patch that epends on backport. + * patches/security/20120214/7082299.patch, + * patches/security/20120214/7088367.patch, + * patches/security/20120214/7110683.patch, + * patches/security/20120214/7110687.patch, + * patches/security/20120214/7110700.patch, + * patches/security/20120214/7110704.patch, + * patches/security/20120214/7112642.patch, + * patches/security/20120214/7118283.patch, + * patches/security/20120214/7126960.patch: New security fixes. + +2012-02-14 Omair Majid + + * NEWS: Update with 1.11.1 changes. + +2012-02-02 Omair Majid + + PR865 - Patching fails with patches/ecj/jaxws-getdtdtype.patch + * NEWS: Update with fix. + * patches/ecj/jaxws-getdtdtype.patch: Update to apply correctly. + +2012-02-01 Andrew John Hughes + + * NEWS: Sync with 1.11 branch. + +2012-01-31 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S + (return_check_monitors): DECACHE_JPC so that the saved bytecode + pointer is correct for the GC. + +2012-01-30 Deepak Bhole + + Added patches to fix building with GCC 4.7 + * patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch: + New patch. Makes methods return NULL instead of boolean when they return a + pointer. + * patches/openjdk/remove-mimpure-option-to-gcc.patch: New patch. Removes + the invalid -mimpure-text option to GCC. + +2012-01-27 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp (class Hsdis): Set + decode_instructions = NULL. + +2012-01-25 Andrew Haley + + * openjdk-ecj/hotspot/src/cpu/zero/vm/thumb2.cpp (Thumb2_Branch): + Remove safepoint code. + (Thumb2_Cond_Safepoint): New function. + (Thumb2_codegen): Call Thumb2_Cond_Safepoint() from two places. + +2012-01-23 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp (print_address): Add + cast to silence warning. + +2012-01-19 Xerxes R??nby + Andrew Haley + + * openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp + (Thumb2_Compile): Disable T2-JIT on unsupported targets like armv5. + +2012-01-23 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp (Thumb2_disass): + Minor tidying. + * patches/arm-hsdis.patch: Make test for ARM more generic. + +2012-01-20 Andrew Haley + + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp (print_address): + Return NULL; + +2012-01-20 Andrew Haley + + * openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp + (Whole file): use PrintAssembly rather than t2ee_print_disass. + (t2ee_print_disass): Delete. + (class Hsdis):Rename. (Was class Opcodes.) + Rewrite to use the OpenJDK hsdis framework. + (Thumb2_disass): move Hsdis here from global scope. + Rewrite to use the OpenJDK hsdis framework. + * patches/arm-hsdis.patch: New file. + * Makefile.am (ICEDTEA_PATCHES): Add patches/arm-hsdis.patch. + +2012-01-19 Andrew Haley + + * openjdk-ecj/hotspot/src/cpu/zero/vm/thumb2.cpp + (Thumb2_Safepoint): Add comment. + (Thumb2_Return): Pass stackdepth to Thumb2_Safepoint. + (Thumb2_codegen): Pass stackdepth to Thumb2_Return. + +2012-01-18 Andrew John Hughes + + * patches/openjdk/6851973-kerberos.patch, + * patches/openjdk/7091528-javadoc_class_files.patch, + * patches/openjdk/7102369-7094468-rmiregistry.patch, + * patches/openjdk/7103725-ssl_beast_regression.patch: + Dropped; upstream. + * Makefile.am: Remove dropped patches. + * patches/ecj/icedtea.patch: Updated due to 6790292. + * patches/openjdk/6633275-shaped_translucent_windows.patch, + * patches/openjdk/6725214-direct3d-01.patch: + Remove copyright notice changes broken as a result of the annoying + 7128474 change. + +2012-01-18 Xerxes R??nby + + * openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S + (putstatic_volatile_dw): Re-order register operands to silence + warning. + +2012-01-17 Andrew Haley + + * openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S + (vm_fatal_error): Add an extra entry point at vm_fatal_error + + CODE_ALIGN_SIZE to allow vm_fatal_error to be used as an entry + point in asm_method_table. + + (putstatic_volatile_dw): Re-order register operands to silence warning. + +2012-01-16 Andrew Haley + + * openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S (asm_method_table): + Add entry for java.dyn.MethodHandles::invoke. + (asm_generate_method_entry): Replace constant 14 with calculation + based on the size of asm_method_table. + Add some comments. + +2012-01-16 Andrew Haley + + * Makefile.am (check-jdk): Restore the --samevm line that was + deleted by mistake in an earlier merge. + +2012-01-13 Andrew Haley + + * arm_port/hotspot/tools/mkbc.c (writeouttable): Add numbering + comments to bytecode output. + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp (Thumb2_Return): + Move safepoint before monitor is unlocked. + * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S + (safe_dispatch_table): Add comment. + Correct order of do_return_register_finalizer. + Add numbering comments. + * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S (TRACE): + New macro. + +2012-01-17 Pavel Tisnovsky + + * Makefile.am: Add new patch. + * NEWS: Mention backport. + * patches/openjdk/6761072-new_krb5_tests_fail_on_multiple_platforms.patch: + Backport of 6761072: new krb5 tests fail on multiple platforms + +2012-01-12 Danesh Dadachanji + + * Makefile.am: + (ICEDTEA_PATCHES): Replace patches/openjdk/683768-System-tray-icon.patch with + patches/openjdk/7103610-_NET_WM_PID_and_WM_CLIENT_MACHINE_are_not_set.patch + * NEWS: Moved RH683768 from Bug fixes to 1.11 Backports, added S7103610 to it. + * patches/openjdk/683768-System-tray-icon.patch: Removed. + * patches/openjdk/7103610-_NET_WM_PID_and_WM_CLIENT_MACHINE_are_not_set.patch: + New file. Sets XAtoms _NET_WM_PID and WM_CLIENT_MACHINE for X windows. + +2012-01-12 Andrew John Hughes From andrew at icedtea.classpath.org Wed May 16 05:02:00 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 12:02:00 +0000 Subject: /hg/icedtea6-hg: 19 new changesets Message-ID: changeset a45c40af1f42 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a45c40af1f42 author: ptisnovs date: Wed Mar 21 18:22:22 2012 +0100 PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 changeset ab91daaad8e2 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ab91daaad8e2 author: ptisnovs date: Wed Mar 21 19:00:28 2012 +0100 Added patch which fixes the Apache XML security bug #38655 changeset 55b21736fe19 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=55b21736fe19 author: Jon VanAlten date: Fri Mar 23 14:11:00 2012 +0100 Add tapset tests. * Makefile.am: Add target to run tapset tests. * tapset/hotspot_jni.stp.in: Add notes regarding required JVM option to GetField family of probe aliases. * test/tapset/ClassUnloadedProbeTester.java: Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. * test/tapset/JNIStapTest.c: Likewise. * test/tapset/JNITestClass.c: Likewise. * test/tapset/JNITestClass.h: Likewise. * test/tapset/JNITestClass.java: Likewise. * test/tapset/RunWrapper.java: Likewise. * test/tapset/StapJNIClassLoader.java: Likewise. * test/tapset/StapURLClassLoader.java: Likewise. * test/tapset/SystemtapTester.java: Likewise. * test/tapset/TestingRunner.java: Likewise. * test/tapset/jstaptest.pl: Wrapper script, compiles and runs tests for tapsets. changeset 393ad37b0c83 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=393ad37b0c83 author: Mark Wielaard date: Fri Mar 23 22:39:35 2012 +0100 Add jstack tests to test/tapset/jstaptest.pl. changeset 5491f5a5175a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=5491f5a5175a author: Mark Wielaard date: Mon Mar 26 22:07:22 2012 +0200 jstaptest.pl: thread_start and stop thread id can be any positive number. tid was hard coded as being '8', but newer hotspot might start more than 7 background threads before the first user thread is started. So allow tid to be any positive number. changeset e5b8981cf2ab in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=e5b8981cf2ab author: Mark Wielaard date: Mon Mar 26 23:45:05 2012 +0200 Merge changeset 86fa5b8eb7a9 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=86fa5b8eb7a9 author: ptisnovs date: Tue Mar 27 15:30:53 2012 +0200 Backport of: 6792400: Avoid loading of Normalizer resources for simple uses * patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch: Added new patch * NEWS: Mention backport. * Makefile.am: Updated changeset 4826fae07d72 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4826fae07d72 author: ptisnovs date: Thu Mar 29 18:18:31 2012 +0200 Removed revert-6885123.patch to fix RH bug #789154 - javac error messages no longer contain the full path to the offending file. changeset e611555d93cb in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=e611555d93cb author: ptisnovs date: Fri Apr 20 17:30:17 2012 +0200 NEWS: Mention bugfix PR797 (the same as bugfig RH789154). changeset 2e70726c57bb in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=2e70726c57bb author: Andrew John Hughes date: Fri May 04 17:42:29 2012 +0100 Backport cryptography tests from OpenJDK7. 2012-05-04 Andrew John Hughes Backport cryptography tests from 7. * Makefile.am: Add new patches. * patches/generalise_crypto_tests.patch: IcedTea7 patch to generalise crypto tests. * patches/openjdk/7088989-ucrypto_tests.patch: Backport of 7088989. * patches/remove-gcm-test.patch: Remove GCM testing as not part of 6. * patches/skip_wrap_mode.patch: IcedTea7 patch to skip wrap mode tests when mode is not available. changeset 6adf4cd96962 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=6adf4cd96962 author: Andrew John Hughes date: Wed May 09 13:38:18 2012 +0100 Add nss.cfg to j2re-image as well. 2012-05-09 Andrew John Hughes * Makefile.am: (add-nss): Copy nss.cfg to j2re-image as well. (clean-add-nss): Remove nss.cfg from j2re-image. (add-nss-debug): Same as for add-nss. (clean-add-nss-debug): Same as for clean-add-nss. (add-nss-ecj): Same as for add-nss. (clean-add-nss-ecj): Same as for clean-add-nss. changeset ad292421658b in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ad292421658b author: ptisnovs date: Wed May 09 18:34:17 2012 +0200 Make the test TestRSA compatible with JDK6 syntax. changeset 643fb6254e80 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=643fb6254e80 author: ptisnovs date: Wed May 09 18:39:35 2012 +0200 Added missing patch. changeset fe14de44c8a8 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fe14de44c8a8 author: Andrew John Hughes date: Wed May 09 23:31:43 2012 +0100 Allow builds where the memory limit of the VM needs to be increased to run javac. 2012-05-09 Andrew John Hughes * Makefile.am: (MEMORY_LIMIT): Always set this. * javac.in: Split out '-J' prefixed options and pass them to the VM rather than ecj. Filter out '-J-Xbootclasspath/p:', which makes no sense as there's nothing to prepend, and confuses the VM. changeset 6ae19889a9e0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=6ae19889a9e0 author: Andrew John Hughes date: Thu May 10 04:11:15 2012 +0100 Backport patches from OpenJDK7 to improve NSS/PKCS11 provider. 2012-05-10 Andrew John Hughes * Makefile.am: Add new patches. * patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch, * patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch, * patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch, * patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch, * patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch, * patches/openjdk/p11cipher-6812738-native_cleanup.patch, * patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch, * patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch: Backports from 7 to improve P11Cipher. changeset aec65000349f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=aec65000349f author: Andrew John Hughes date: Wed May 16 10:55:10 2012 +0100 Add latest releases to NEWS. 2012-05-16 Andrew John Hughes * NEWS: Add latest releases, 1.10.7 & 1.11.2 changeset 041afe1e0108 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=041afe1e0108 author: Andrew John Hughes date: Wed May 16 10:58:54 2012 +0100 Merge changeset aaefc2cbbc10 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=aaefc2cbbc10 author: Andrew John Hughes date: Wed May 16 12:59:46 2012 +0100 Move to b25. 2012-05-16 Andrew John Hughes Move to released b25. * Makefile.am: (OPENJDK_DATE): Set to b25 release date. (OPENJDK_SHA256SUM): Set to b25 checksum. changeset dc9ce5c9dbc1 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=dc9ce5c9dbc1 author: Andrew John Hughes date: Wed May 16 13:01:42 2012 +0100 Move hg tree to b26, ready for next release. 2012-05-16 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Move to b26, ready for next release. diffstat: ChangeLog | 175 + Makefile.am | 87 +- NEWS | 30 +- javac.in | 26 +- patches/apache-xml-internal-fix-bug-38655.patch | 11 + patches/ecj/icedtea.patch | 134 +- patches/generalise_crypto_tests.patch | 847 + patches/idresolver_fix.patch | 194 + patches/openjdk/6633275-shaped_translucent_windows.patch | 7 - patches/openjdk/6725214-direct3d-01.patch | 7 - patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch | 50 + patches/openjdk/6851973-kerberos.patch | 202 - patches/openjdk/7088989-ucrypto_tests.patch | 1022 ++ patches/openjdk/7091528-javadoc_class_files.patch | 191 - patches/openjdk/7102369-7094468-rmiregistry.patch | 473 - patches/openjdk/7103725-ssl_beast_regression.patch | 22 - patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch | 1176 ++ patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch | 615 + patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch | 60 + patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch | 22 + patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch | 172 + patches/openjdk/p11cipher-6812738-native_cleanup.patch | 4849 ++++++++++ patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch | 328 + patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch | 102 + patches/remove-gcm-test.patch | 77 + patches/remove_multicatch_in_testrsa.patch | 109 + patches/revert-6885123.patch | 567 - patches/security/20120214/7082299.patch | 201 - patches/security/20120214/7088367.patch | 45 - patches/security/20120214/7110683.patch | 170 - patches/security/20120214/7110687.patch | 237 - patches/security/20120214/7110700.patch | 42 - patches/security/20120214/7110704.patch | 63 - patches/security/20120214/7118283.patch | 27 - patches/security/20120214/7126960.patch | 82 - patches/skip_wrap_mode.patch | 24 + tapset/hotspot_jni.stp.in | 20 +- test/tapset/ClassUnloadedProbeTester.java | 38 + test/tapset/JNIStapTest.c | 2107 ++++ test/tapset/JNITestClass.c | 7 + test/tapset/JNITestClass.h | 21 + test/tapset/JNITestClass.java | 121 + test/tapset/RunWrapper.java | 21 + test/tapset/StapJNIClassLoader.java | 64 + test/tapset/StapURLClassLoader.java | 24 + test/tapset/SystemtapTester.java | 202 + test/tapset/TestingRunner.java | 82 + test/tapset/jstaptest.pl | 1009 ++ 48 files changed, 13713 insertions(+), 2449 deletions(-) diffs (truncated from 16881 to 500 lines): diff -r f4bcb05229c9 -r dc9ce5c9dbc1 ChangeLog --- a/ChangeLog Tue Mar 20 13:35:23 2012 +0000 +++ b/ChangeLog Wed May 16 13:01:42 2012 +0100 @@ -1,3 +1,146 @@ +2012-05-16 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Move to b26, ready + for next release. + +2012-05-16 Andrew John Hughes + + Move to released b25. + * Makefile.am: + (OPENJDK_DATE): Set to b25 release date. + (OPENJDK_SHA256SUM): Set to b25 checksum. + +2012-05-16 Andrew John Hughes + + * NEWS: Add latest releases, 1.10.7 & 1.11.2 + +2012-05-10 Andrew John Hughes + + * Makefile.am: Add new patches. + * patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch, + * patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch, + * patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch, + * patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch, + * patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch, + * patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch, + * patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch: + Backports from 7 to improve P11Cipher. + +2012-05-09 Andrew John Hughes + + * Makefile.am: + (MEMORY_LIMIT): Always set this. + * javac.in: + Split out '-J' prefixed options and pass them + to the VM rather than ecj. Filter out + '-J-Xbootclasspath/p:', which makes no sense + as there's nothing to prepend, and confuses + the VM. + +2012-05-09 Pavel Tisnovsky + + * patches/remove_multicatch_in_testrsa.patch: + Make the test TestRSA compatible with JDK6 syntax. + * Makefile.am: Updated. + +2012-05-09 Andrew John Hughes + + * Makefile.am: + (add-nss): Copy nss.cfg to j2re-image as well. + (clean-add-nss): Remove nss.cfg from j2re-image. + (add-nss-debug): Same as for add-nss. + (clean-add-nss-debug): Same as for clean-add-nss. + (add-nss-ecj): Same as for add-nss. + (clean-add-nss-ecj): Same as for clean-add-nss. + +2012-05-04 Andrew John Hughes + + Backport cryptography tests from 7. + * Makefile.am: Add new patches. + * patches/generalise_crypto_tests.patch: + IcedTea7 patch to generalise crypto tests. + * patches/openjdk/7088989-ucrypto_tests.patch: + Backport of 7088989. + * patches/remove-gcm-test.patch: + Remove GCM testing as not part of 6. + * patches/skip_wrap_mode.patch: + IcedTea7 patch to skip wrap mode tests when mode + is not available. + +2012-04-20 Pavel Tisnovsky + + * NEWS: Mention bugfix PR797 (the same as bugfig RH789154). + +2012-03-29 Pavel Tisnovsky + + * patches/revert-6885123.patch: Removed to fix + RH bug #789154 - javac error messages no longer + contain the full path to the offending file. + * NEWS: Mention bugfix. + * Makefile.am: Updated. + +2012-03-27 Pavel Tisnovsky + + * patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch: + Backport of: 6792400: Avoid loading of Normalizer resources + for simple uses + * NEWS: Mention backport. + * Makefile.am: Updated + +2012-03-21 Pavel Tisnovsky + + * patches/apache-xml-internal-fix-bug-38655.patch: + Added patch which fixes the Apache XML security bug #38655 + * Makefile.am: Updated + +2012-03-21 Pavel Tisnovsky + + PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + * Makefile.am: Updated + * patches/idresolver_fix.patch: added patch for a class + IdResolver. + +2012-03-26 Mark Wielaard + + * test/tapset/jstaptest.pl: thread_start and thread_stop thread id + can be any positive number. + +2012-03-23 Mark Wielaard + + * test/tapset/jstaptest.pl: Add jstack tests. + +2012-03-23 Jon VanAlten + + * Makefile.am: + Add target to run tapset tests. + * tapset/hotspot_jni.stp.in: + Add notes regarding required JVM option to GetField + family of probe aliases. + * test/tapset/ClassUnloadedProbeTester.java: + Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. + * test/tapset/JNIStapTest.c: + Likewise. + * test/tapset/JNITestClass.c: + Likewise. + * test/tapset/JNITestClass.h: + Likewise. + * test/tapset/JNITestClass.java: + Likewise. + * test/tapset/RunWrapper.java: + Likewise. + * test/tapset/StapJNIClassLoader.java: + Likewise. + * test/tapset/StapURLClassLoader.java: + Likewise. + * test/tapset/SystemtapTester.java: + Likewise. + * test/tapset/TestingRunner.java: + Likewise. + * test/tapset/jstaptest.pl: + Wrapper script, compiles and runs tests for tapsets. + 2012-03-20 Mark Wielaard * Makefile.am (clean-jtreg): Depend on clean-jtreg-reports. @@ -113,6 +256,19 @@ * tapset/jstack.stp.in: Don't hard code constantPoolOopDesc_size. +2012-03-09 Andrew John Hughes + + * patches/security/20120214/7082299.patch, + * patches/security/20120214/7088367.patch, + * patches/security/20120214/7110683.patch, + * patches/security/20120214/7110687.patch, + * patches/security/20120214/7110700.patch, + * patches/security/20120214/7110704.patch, + * patches/security/20120214/7118283.patch, + * patches/security/20120214/7126960.patch: + Removed; upstream. + * Makefile.am: Drop above patches. + 2012-03-02 Xerxes R??nby Andrew Haley @@ -263,6 +419,20 @@ (Thumb2_Return): Pass stackdepth to Thumb2_Safepoint. (Thumb2_codegen): Pass stackdepth to Thumb2_Return. +2012-01-18 Andrew John Hughes + + * patches/openjdk/6851973-kerberos.patch, + * patches/openjdk/7091528-javadoc_class_files.patch, + * patches/openjdk/7102369-7094468-rmiregistry.patch, + * patches/openjdk/7103725-ssl_beast_regression.patch: + Dropped; upstream. + * Makefile.am: Remove dropped patches. + * patches/ecj/icedtea.patch: Updated due to 6790292. + * patches/openjdk/6633275-shaped_translucent_windows.patch, + * patches/openjdk/6725214-direct3d-01.patch: + Remove copyright notice changes broken as a result of the annoying + 7128474 change. + 2012-01-18 Xerxes R??nby * openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S @@ -1947,6 +2117,11 @@ 2011-11-28 Andrew John Hughes + * Makefile.am: + Bump to b25 (next version in hg). + +2011-11-28 Andrew John Hughes + * NEWS: Remove inaccurate line about ARM assembler. diff -r f4bcb05229c9 -r dc9ce5c9dbc1 Makefile.am --- a/Makefile.am Tue Mar 20 13:35:23 2012 +0000 +++ b/Makefile.am Wed May 16 13:01:42 2012 +0100 @@ -1,8 +1,8 @@ # Dependencies -OPENJDK_DATE = 14_nov_2011 -OPENJDK_SHA256SUM = f84e7f0938f4939660ff8f9c2aa164d301faa8a519f2324ceb05ad34b2e09227 -OPENJDK_VERSION = b24 +OPENJDK_DATE = 01_may_2012 +OPENJDK_SHA256SUM = 42db988b436593017e29d6543ac09168a901027817e41dc1be5c795b85d53b05 +OPENJDK_VERSION = b26 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ CACAO_VERSION = cff92704c4e0 @@ -89,6 +89,7 @@ $(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java # Flags +MEMORY_LIMIT = -J-Xmx1024m IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) IT_LANGUAGE_SOURCE_VERSION=6 @@ -120,15 +121,6 @@ PULSE_JAVA_CLEAN_TARGET = clean-pulse-java endif -# FIXME: This should not depend on bootstrapping -# but on whether MEMORY_LIMIT is accepted -# as an argument to javac -if BOOTSTRAPPING - MEMORY_LIMIT = -else - MEMORY_LIMIT = -J-Xmx1024m -endif - if ENABLE_CACAO ICEDTEA_BUILD_TARGET=jdk_only ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only @@ -201,15 +193,7 @@ ICEDTEA_FSG_PATCHES = -SECURITY_PATCHES = \ - patches/security/20120214/7082299.patch \ - patches/security/20120214/7088367.patch \ - patches/security/20120214/7110683.patch \ - patches/security/20120214/7110687.patch \ - patches/security/20120214/7110700.patch \ - patches/security/20120214/7110704.patch \ - patches/security/20120214/7118283.patch \ - patches/security/20120214/7126960.patch +SECURITY_PATCHES = SPECIAL_SECURITY_PATCH = patches/security/20120214/7112642.patch @@ -345,7 +329,6 @@ patches/openjdk/7027667-AAShapePipeRegTest.patch \ patches/openjdk/7019861-AA-regression-fix.patch \ patches/g356743-libpng-1.5.patch \ - patches/revert-6885123.patch \ patches/openjdk/7032388-work_without_cmov_instruction.patch \ patches/openjdk/7031385-gcc-register-allocation-fix.patch \ patches/openjdk/6986968-crash_on_xim_restart.patch \ @@ -411,10 +394,6 @@ patches/arm-debug.patch \ patches/arm-hsdis.patch \ patches/openjdk/7103610-_NET_WM_PID_and_WM_CLIENT_MACHINE_are_not_set.patch \ - patches/openjdk/7102369-7094468-rmiregistry.patch \ - patches/openjdk/6851973-kerberos.patch \ - patches/openjdk/7091528-javadoc_class_files.patch \ - patches/openjdk/7103725-ssl_beast_regression.patch \ patches/openjdk/6706974-krb5_test_infrastructure.patch \ patches/openjdk/6764553-IdResolver_is_not_thread_safe.patch \ patches/openjdk/6761072-new_krb5_tests_fail_on_multiple_platforms.patch \ @@ -422,7 +401,23 @@ patches/openjdk/remove-mimpure-option-to-gcc.patch \ patches/ScriptEngineManager-doc.patch \ patches/openjdk/6883983-JarVerifier_removed_dependency_sun_security_pkcs.patch \ - patches/openjdk/4465490-Suspicious_double-check_locking_idiom.patch + patches/openjdk/4465490-Suspicious_double-check_locking_idiom.patch \ + patches/idresolver_fix.patch \ + patches/apache-xml-internal-fix-bug-38655.patch \ + patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch \ + patches/openjdk/7088989-ucrypto_tests.patch \ + patches/generalise_crypto_tests.patch \ + patches/remove-gcm-test.patch \ + patches/skip_wrap_mode.patch \ + patches/remove_multicatch_in_testrsa.patch \ + patches/openjdk/p11cipher-4898461-support_ecb_and_cbc.patch \ + patches/openjdk/p11cipher-6682411-fix_indexoutofboundsexception.patch \ + patches/openjdk/p11cipher-6682417-fix_decrypted_data_not_multiple_of_blocks.patch \ + patches/openjdk/p11cipher-6812738-native_cleanup.patch \ + patches/openjdk/p11cipher-6867345-turkish_regional_options_cause_npe_in_algoid.patch \ + patches/openjdk/p11cipher-6687725-throw_illegalblocksizeexception.patch \ + patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch \ + patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -654,9 +649,16 @@ all-local: icedtea-against-icedtea -check-local: jtregcheck +check-local: jtregcheck check-tapset -clean-local: clean-jtreg clean-jtreg-reports $(PULSE_JAVA_CLEAN_TARGET) \ +clean-tests: clean-jtreg clean-tapset-report + if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ + if [ -e test ] ; then \ + rmdir test ; \ + fi \ + fi + +clean-local: clean-tests $(PULSE_JAVA_CLEAN_TARGET) \ clean-icedtea clean-icedtea-debug clean-icedtea-ecj clean-extract clean-ports \ clean-overlay clean-native-ecj clean-icedtea-against-icedtea clean-icedtea-debug-against-icedtea \ clean-icedtea-against-ecj clean-extract-ecj clean-generated clean-replace-hotspot \ @@ -700,7 +702,7 @@ clean-add-pulseaudio clean-add-pulseaudio-debug clean-add-nss clean-add-nss-debug \ clean-add-tzdata-support clean-add-tzdata-support-debug clean-add-systemtap-ecj \ clean-add-pulseaudio-ecj clean-add-nss-ecj clean-add-tzdata-support-ecj clean-fonts \ - clean-download-hotspot jtregcheck + clean-download-hotspot clean-tests clean-tapset-report jtregcheck env: @echo 'unset JAVA_HOME' @@ -1592,19 +1594,25 @@ stamps/add-nss.stamp: stamps/icedtea.stamp cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib/security touch stamps/add-nss.stamp clean-add-nss: rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss.stamp stamps/add-nss-debug.stamp: stamps/icedtea-debug.stamp cp $(abs_top_builddir)/nss.cfg \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-debug.stamp clean-add-nss-debug: rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-debug.stamp stamps/add-tzdata-support.stamp: stamps/icedtea.stamp @@ -1709,10 +1717,13 @@ stamps/add-nss-ecj.stamp: stamps/icedtea-ecj.stamp cp $(abs_top_builddir)/nss.cfg \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + cp $(abs_top_builddir)/nss.cfg \ + $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security; touch stamps/add-nss-ecj.stamp clean-add-nss-ecj: rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/nss.cfg + rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/security/nss.cfg rm -f stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp: stamps/icedtea-ecj.stamp @@ -2163,9 +2174,6 @@ rmdir test/jtreg ; \ fi rm -f test/jtreg.jar - if [ -e test ] ; then \ - rmdir test ; \ - fi rm -f stamps/jtreg.stamp check-hotspot: stamps/jtreg.stamp @@ -2246,6 +2254,19 @@ $(jtreg_processes); \ fi +check-tapset: +if ENABLE_SYSTEMTAP + $(abs_top_srcdir)/test/tapset/jstaptest.pl \ + -B $(BUILD_OUTPUT_DIR) -A $(BUILD_ARCH_DIR) \ + -S $(abs_top_srcdir)/test/tapset \ + -o test/check-stap.log +endif + +clean-tapset-report: +if ENABLE_SYSTEMTAP + rm -f test/check-stap.log +endif + # Support classes for non-OpenJDK bootstraps # rt.jar additional class files. diff -r f4bcb05229c9 -r dc9ce5c9dbc1 NEWS --- a/NEWS Tue Mar 20 13:35:23 2012 +0000 +++ b/NEWS Wed May 16 13:01:42 2012 +0100 @@ -12,9 +12,6 @@ New in release 1.12 (2012-XX-XX): -* Bug fixes - - PR865: Patching fails with patches/ecj/jaxws-getdtdtype.patch - - PR886: 6-1.11.1 fails to build CACAO on ppc * Backports - S6706974: Add krb5 test infrastructure - S6764553: com.sun.org.apache.xml.internal.security.utils.IdResolver is not thread safe @@ -22,6 +19,33 @@ - S6883983: JarVerifier dependency on sun.security.pkcs should be removed - S4465490: Suspicious about double-check locking idiom being used in the code +New in release 1.11.2 (2012-05-11): + +* Bug fixes + - RH789154: javac error messages no longer contain the full path to the offending file: + - PR797: Compiler error message does not display entire file name and path + - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - PR886: 6-1.11.1 fails to build CACAO on ppc + - Specify both source and target in IT_GET_DTDTYPE_CHECK. + - Install nss.cfg into j2re-image too. + - PR584: Don't use shared Eden in incremental mode. +* Backports + - S6792400: Avoid loading of Normalizer resources for simple uses + +New in release 1.10.7 (2012-05-11): + +* Fixed build with GCC 4.7 +* Bug fixes + - PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan + - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6 + - Specify both source and target in IT_GET_DTDTYPE_CHECK. + - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' + - Install nss.cfg into j2re-image too. +* Backports + - S6792400: Avoid loading of Normalizer resources for simple uses + - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc + - S7140882: Don't return booleans from methods returning pointers + New in release 1.10.6 (2012-02-14): * Security fixes diff -r f4bcb05229c9 -r dc9ce5c9dbc1 javac.in --- a/javac.in Tue Mar 20 13:35:23 2012 +0000 +++ b/javac.in Wed May 16 13:01:42 2012 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; use constant NO_DUP_ARGS => qw(-source -target -d -encoding); -use constant STRIP_ARGS => qw(-Werror -implicit:none); +use constant STRIP_ARGS => qw(-Werror -implicit:none -J-Xbootclasspath/p:); my $ECJ_WARNINGS="-nowarn"; @@ -31,24 +31,34 @@ splice @new_args, $_, 1 for @indices; } - return @new_args; + return \@new_args; +} + +sub split_vm_args +{ + my @new_args = @{$_[0]}; + + my @vm_args = map { substr $_, 2 } grep $_ =~ /^-J/, @new_args; + my @javac_args = grep $_ !~ /^-J/, @new_args; + + return (\@vm_args, \@javac_args); } if ( -e "@abs_top_builddir@/native-ecj" ) { - my @ecj_args = gen_ecj_opts( \@ARGV ); - exec '@abs_top_builddir@/native-ecj', @ecj_parms, @ecj_args ; + my $ecj_args = gen_ecj_opts( \@ARGV ); + exec '@abs_top_builddir@/native-ecj', @ecj_parms, @$ecj_args ; } elsif ( -e "@ECJ_JAR@" ) { - my @ecj_args = gen_ecj_opts( \@ARGV ); + my ($vm_args, $javac_args) = split_vm_args (gen_ecj_opts( \@ARGV )); my @CLASSPATH = ('@ECJ_JAR@'); push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"}; $ENV{"CLASSPATH"} = join ':', @CLASSPATH; - exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args; + exec '@JAVA@', @$vm_args, 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @$javac_args; } else { - my @ecj_args = gen_ecj_opts( \@ARGV ); - exec '@ECJ@', @ecj_parms, @ecj_args ; + my $ecj_args = gen_ecj_opts( \@ARGV ); From bugzilla-daemon at icedtea.classpath.org Wed May 16 05:02:14 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 12:02:14 +0000 Subject: [Bug 797] Compiler error message does not display entire file name and path In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=797 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=e611555d93cb author: ptisnovs date: Fri Apr 20 17:30:17 2012 +0200 NEWS: Mention bugfix PR797 (the same as bugfig RH789154). -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/72a54690/attachment.html From ptisnovs at icedtea.classpath.org Wed May 16 05:14:58 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 16 May 2012 12:14:58 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/ClippingPathByEllipse... Message-ID: changeset acbba33950fb in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=acbba33950fb author: Pavel Tisnovsky date: Wed May 16 14:17:39 2012 +0200 * src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java | 142 ++++++++++++- 2 files changed, 146 insertions(+), 1 deletions(-) diffs (185 lines): diff -r fe2ac03939d3 -r acbba33950fb ChangeLog --- a/ChangeLog Tue May 15 11:48:01 2012 +0200 +++ b/ChangeLog Wed May 16 14:17:39 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-16 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java: + Added new tests to this test suite. + 2012-05-15 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java: diff -r fe2ac03939d3 -r acbba33950fb src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java --- a/src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java Tue May 15 11:48:01 2012 +0200 +++ b/src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java Wed May 16 14:17:39 2012 +0200 @@ -74,6 +74,8 @@ @Zoom(1) public class ClippingPathByEllipseShape extends GfxTest { + private static final float[] DOTTED_PATTERN = new float[] {1,40}; + /** * Prepare canvas for the rendering. * @@ -650,7 +652,7 @@ */ public TestResult testClipLinePathByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) { - // render clip ellipse + // render clip ellipse shape CommonClippingOperations.renderClipEllipse(image, graphics2d); // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); @@ -661,6 +663,72 @@ } /** + * Check if cubic path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCubicPathByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCubicPathClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if quadratic path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipQuadraticPathByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawQuadraticPathClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed crossed path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCrossedPathClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** * Check if closed path could be clipped by an ellipse shape. Path is * rendered using stroke paint with default stroke width. * @@ -707,6 +775,78 @@ } /** + * Check if cubic path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCubicPathByEllipseShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCubicPathClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if quadratic path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipQuadraticPathByEllipseShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawQuadraticPathClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed crossed path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathByEllipseShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCrossedPathClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** * Check if closed path could be clipped by an ellipse shape. Path is * rendered using stroke paint with thick stroke width. * From adinn at icedtea.classpath.org Wed May 16 06:22:39 2012 From: adinn at icedtea.classpath.org (adinn at icedtea.classpath.org) Date: Wed, 16 May 2012 13:22:39 +0000 Subject: /hg/release/icedtea7-forest-2.1/hotspot: modified safepoint chec... Message-ID: changeset 85de6921e39e in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=85de6921e39e author: "Andrew Dinn " date: Wed May 16 11:21:07 2012 +0100 modified safepoint check to rely on memory protect signal instead of polling diffstat: src/cpu/zero/vm/thumb2.cpp | 155 +++++++++++++++++++++++++--- src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 17 ++- 2 files changed, 151 insertions(+), 21 deletions(-) diffs (239 lines): diff -r 6576fc644297 -r 85de6921e39e src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Fri May 04 15:46:04 2012 +0100 +++ b/src/cpu/zero/vm/thumb2.cpp Wed May 16 11:21:07 2012 +0100 @@ -56,7 +56,7 @@ #define THUMB2_MAXLOCALS 1000 #include - +#include #include "precompiled.hpp" #include "interpreter/bytecodes.hpp" @@ -434,6 +434,9 @@ #define BYTESEX_REVERSE(v) (((v)<<24) | (((v)<<8) & 0xff0000) | (((v)>>8) & 0xff00) | ((v)>>24)) #define BYTESEX_REVERSE_U2(v) (((v)<<8) | ((v)>>8)) +// n.b. this value is chosen because it is an illegal thumb2 instruction +#define THUMB2_POLLING_PAGE_MAGIC 0xdead + typedef struct Thumb2_CodeBuf { unsigned size; char *sp; @@ -4496,26 +4499,134 @@ void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start); +// called from the SEGV handling code to see if a polling page read +// is from a legitimate safepoint address +int Thumb2_Install_Safepoint_PC(ucontext_t *uc, int magicByteOffset) +{ + mcontext_t *mc = &uc->uc_mcontext; + unsigned long arm_pc = mc->arm_pc; + // ensure the faulting instruction lies in JITted code + if (arm_pc < (unsigned long)(thumb2_codebuf + 1)) { + return false; + } + if (arm_pc >= (unsigned long)thumb2_codebuf->sp) { + return false; + } + // skip to the MAGIC word and check it is valid + arm_pc +=magicByteOffset; + if (*((short*)arm_pc) != (short)THUMB2_POLLING_PAGE_MAGIC) { + return false; + } + + // skip the magic word + arm_pc += 2; + mc->arm_pc = arm_pc; + + return true; +} + // Insert code to poll the SafepointSynchronize state and call // Helper_SafePoint. -void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci) +// -- if offset is negative it identifies a bytecode index which +// should be jumped to via an unconditional backward branch +// taken either before or after executing the safepoint check +// -- if offset is zero or positive then a return or conditional +// branch, respectively, needs to be compiled so control should +// flow to end of the safepoint check whether or not it is executed + +void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci, int offset) { Thumb2_Flush(jinfo); + // normal case: read the polling page and branch to skip + // the safepoint test + // abnormal case: read the polling page, trap to handler + // which resets return address into the safepoint check code + // + // with a negative offset the generated code will look like + // movw r_tmp, #polling_page + // movt r_tmp, #polling_page + // ldr r_tmp, [r_tmp, #K] ; K == 2 * byte offset to the magic word + // b.n #branchtarget + // #POLLING_PAGE_MAGIC ; magic data word + // < + // safepoint check code + // > + // b.n #branchtarget + // + // i.e. the generated code includes the branch backwards twice + // and relies on a fault at the ldr to skip into the safepoint code + // + // with a zero or positive offset the caller will plant the return + // (zero) or conditional branch (positive) code after the check so + // the normal path skips round the safepoint check code and the + // abnormal path just drops through. the generated code will look + // like + // + // movw r_tmp, #polling_page + // movt r_tmp, #polling_page + // ldr r_tmp, [r_tmp, #0] + // b.n L1 + // POLLING_PAGE_MAGIC ; data + // < + // safepoint check code + // > + // L1: + // + // + // n.b. for a return there is no need save or restore locals + int r_tmp = Thumb2_Tmp(jinfo, 0); - mov_imm(jinfo->codebuf, r_tmp, (u32)SafepointSynchronize::address_of_state()); - ldr_imm(jinfo->codebuf, r_tmp, r_tmp, 0, 0, 0); - cmp_imm(jinfo->codebuf, r_tmp, SafepointSynchronize::_synchronizing); - { - // FIXME: If we are at a return instruction there is no point - // saving and restoring locals: no-one cares about them any more - // and we could safely ignore them. However, this generic - // safepoint code also handles branches within a method. - unsigned loc = forward_16(jinfo->codebuf); - Thumb2_save_locals(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); - bl(jinfo->codebuf, handlers[H_SAFEPOINT]); - Thumb2_restore_locals(jinfo, stackdepth); - bcc_patch(jinfo->codebuf, COND_NE, loc); + unsigned dest; + if (offset < 0) { + // the index of the backward branch target in the code buffer + dest = jinfo->bc_stackinfo[bci+offset] & ~BC_FLAGS_MASK; + } else { + dest = 0; + } + mov_imm(jinfo->codebuf, r_tmp, (u32)os::get_polling_page()); + // this encodes the offset from the read instruction to the magic + // word into the fault address, assuming it is 4 bytes. however, if + // we need to plant a wide backwards branch we may need to rewrite + // this instruction with offset 6. so stash the instruction location + // here just in case. n.b. the offset is doubled to ensure the fault + // address in aligned -- aligned reads always use a single 16-bit + // instruction whereas non-aligned reads require 2 x 16 bit words + unsigned read_loc = out_loc(jinfo->codebuf); + ldr_imm(jinfo->codebuf, r_tmp, r_tmp, 8, 1, 0); + if (offset < 0) { + branch_uncond(jinfo->codebuf, dest); + unsigned magic_loc = out_loc(jinfo->codebuf); + if (magic_loc - read_loc != 4) { + JASSERT(magic_loc - read_loc == 6, "bad safepoint offset to magic word"); + // must have needed a wide branch so patch the load instruction + jinfo->codebuf->idx = read_loc >> 1; + ldr_imm(jinfo->codebuf, r_tmp, r_tmp, 12, 1, 0); + jinfo->codebuf->idx = magic_loc >> 1; + } + } else { + // leave space for the forward skip branch + // location of branch instruction is read_loc + 2 + forward_16(jinfo->codebuf); + } + // now write a magic word after the branch so the signal handler can + // test that a polling page read is kosher + out_16(jinfo->codebuf, THUMB2_POLLING_PAGE_MAGIC); + // now the safepoint polling code itself + // n.b. no need for save or restore of locals at return i.e. when offset == 0 + //if (offset != 0) { + Thumb2_save_locals(jinfo, stackdepth); + //} + mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[H_SAFEPOINT]); + //if (offset != 0) { + Thumb2_restore_locals(jinfo, stackdepth); + //} + if (offset < 0) { + // needs another unconditional backward branch + branch_uncond(jinfo->codebuf, dest); + } else { + // patch in the forward skip branch + branch_narrow_patch(jinfo->codebuf, read_loc + 2); } } @@ -4525,7 +4636,11 @@ unsigned dest_taken = bci + offset; if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { - Thumb2_Safepoint(jinfo, stackdepth, bci); + // pass offset as positive so the safepoint code plant a forward + // skip over the test rather than doing an unconditional backwards + // branch. that allows the condition test to be planted by + // whatever followed this call + Thumb2_Safepoint(jinfo, stackdepth, bci, -offset); } } @@ -4554,8 +4669,8 @@ unsigned loc; if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { - Thumb2_Safepoint(jinfo, stackdepth, bci); - branch_uncond(jinfo->codebuf, jinfo->bc_stackinfo[dest_taken] & ~BC_FLAGS_MASK); + // n.b. the backwards branch will be planted by the safepoint routine + Thumb2_Safepoint(jinfo, stackdepth, bci, offset); return dest_not_taken; } loc = forward_32(jinfo->codebuf); @@ -4567,7 +4682,7 @@ void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode, int bci, int stackdepth) { - Thumb2_Safepoint(jinfo, stackdepth, bci); + Thumb2_Safepoint(jinfo, stackdepth, bci, 0); Reg r_lo, r; Thumb2_Stack *jstack = jinfo->jstack; diff -r 6576fc644297 -r 85de6921e39e src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Fri May 04 15:46:04 2012 +0100 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed May 16 11:21:07 2012 +0100 @@ -118,6 +118,7 @@ #ifdef HOTSPOT_ASM extern "C" int asm_check_null_ptr(ucontext_t *uc); +extern int Thumb2_Install_Safepoint_PC(ucontext_t *uc, int magicBytes); #endif // HOTSPOT_ASM extern "C" JNIEXPORT int @@ -129,7 +130,21 @@ #ifdef HOTSPOT_ASM if (sig == SIGSEGV) { - if (asm_check_null_ptr(uc)) return 1; + // check to see if this was the result of a back edge safepoint check + if (os::is_poll_address((address)info->si_addr)) { + // check that this is a legitimate safepoint rather + // than any old illegal access to the polling page. + // if the the check code returns true it will patch + // the return address to enter the safepoint check code + // n.b. the offset into the page gives us twice the offset to + // the magic word in bytes + int magicByteOffset = ((address)info->si_addr - (address)os::get_polling_page()) / 2; + if (Thumb2_Install_Safepoint_PC(uc, magicByteOffset)) { + return true; + } + } else if (asm_check_null_ptr(uc)) { + return 1; + } } #endif // HOTSPOT_ASM From bugzilla-daemon at icedtea.classpath.org Wed May 16 06:22:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 13:22:49 +0000 Subject: [Bug 804] javaws launcher incorrectly handles file names with spaces In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=804 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |jvanek at redhat.com Resolution|FIXED |--- Assignee|omajid at redhat.com |jvanek at redhat.com --- Comment #6 from JiriVanek --- This was fixed just partially. The spaces are still encoded wronlgy inside netx. I'm ghoing to fix it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/253b20d4/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 16 06:24:59 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 13:24:59 +0000 Subject: [Bug 811] javaws is not handling urls with spaces correctly In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=811 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|omajid at redhat.com |jvanek at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/da0677a7/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 16 06:25:24 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 13:25:24 +0000 Subject: [Bug 811] javaws is not handling urls with spaces correctly In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=811 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/b6cf7387/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 16 06:26:53 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 13:26:53 +0000 Subject: [Bug 804] javaws launcher incorrectly handles file names with spaces In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=804 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED --- Comment #7 from JiriVanek --- well closing again. 804 is better one for my fix. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/0b13efa6/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed May 16 06:27:48 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 13:27:48 +0000 Subject: [Bug 804] javaws launcher incorrectly handles file names with spaces In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=804 --- Comment #8 from JiriVanek --- *811 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/bce65128/attachment.html From andrew at icedtea.classpath.org Wed May 16 06:49:39 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 13:49:39 +0000 Subject: /hg/release/icedtea7-forest-2.2/hotspot: 2 new changesets Message-ID: changeset 5be91de8b779 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=5be91de8b779 author: andrew date: Wed May 02 22:35:52 2012 +0100 Make {HOST,BUILD}_{GCC,CPP} work again, post build-infra changes. Rename {HOST_BUILD}_CPP to {HOST_BUILD}_CXX. changeset b11130d646c2 in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=b11130d646c2 author: andrew date: Wed May 16 14:49:26 2012 +0100 Merge diffstat: .hgtags | 15 + agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java | 6 +- agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java | 30 +- agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java | 18 +- make/hotspot_version | 6 +- make/jprt.properties | 21 +- make/linux/makefiles/gcc.make | 30 +- src/cpu/sparc/vm/c2_globals_sparc.hpp | 2 +- src/cpu/x86/vm/c2_globals_x86.hpp | 2 +- src/cpu/x86/vm/sharedRuntime_x86_64.cpp | 248 ++++++++- src/os/bsd/vm/os_bsd.cpp | 19 + src/os/linux/vm/os_linux.cpp | 4 +- src/share/vm/classfile/vmSymbols.hpp | 5 +- src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp | 4 +- src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp | 16 +- src/share/vm/gc_implementation/g1/survRateGroup.cpp | 88 +-- src/share/vm/gc_implementation/g1/vm_operations_g1.cpp | 61 ++- src/share/vm/gc_implementation/g1/vm_operations_g1.hpp | 15 +- src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp | 50 +- src/share/vm/gc_interface/collectedHeap.cpp | 7 +- src/share/vm/gc_interface/collectedHeap.hpp | 6 +- src/share/vm/oops/arrayKlass.cpp | 3 +- src/share/vm/oops/instanceKlass.cpp | 3 +- src/share/vm/oops/objArrayKlass.cpp | 3 +- src/share/vm/oops/typeArrayKlass.cpp | 3 +- src/share/vm/opto/connode.cpp | 4 +- src/share/vm/opto/escape.cpp | 38 +- src/share/vm/prims/jvmtiClassFileReconstituter.cpp | 5 +- src/share/vm/prims/jvmtiExport.hpp | 8 +- src/share/vm/runtime/arguments.cpp | 26 +- src/share/vm/runtime/globals.cpp | 22 +- src/share/vm/runtime/globals.hpp | 5 +- src/share/vm/runtime/globals_ext.hpp | 7 +- src/share/vm/runtime/safepoint.cpp | 21 +- src/share/vm/runtime/thread.cpp | 4 + src/share/vm/runtime/thread.hpp | 9 + src/share/vm/services/diagnosticCommand.cpp | 189 +++++++- src/share/vm/services/diagnosticCommand.hpp | 80 +++- src/share/vm/utilities/numberSeq.cpp | 6 +- src/share/vm/utilities/numberSeq.hpp | 3 +- 47 files changed, 931 insertions(+), 371 deletions(-) diffs (truncated from 2342 to 500 lines): diff -r 11f2ed4d2141 -r b11130d646c2 .hgtags --- a/.hgtags Wed May 02 15:07:20 2012 +0100 +++ b/.hgtags Wed May 16 14:49:26 2012 +0100 @@ -265,3 +265,18 @@ f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16 a2c5354863dcb3d147b7b6f55ef514b1bfecf920 icedtea-2.2-branchpoint +efb5f2662c96c472caa3327090268c75a86dd9c0 jdk7u4-b13 +82e719a2e6416838b4421637646cbfd7104c7716 jdk7u4-b14 +1c483d994a78e46c4656b6f3773c7014346d0f19 jdk7u4-b15 +34a4f7687460b1b2bfb1d87191919c5f101aa988 hs23-b17 +c6a96f7a781dd23d2b9fd6353fcd87493616c803 jdk7u4-b16 +418bcab91d2c07c720190d39e1b7f7e39b214994 hs23-b18 +e266ffd6a7d7ccd6e06a442155c5e2457c1884de jdk7u4-b17 +ad5eb0a72fb1d6d7aa6ec7e9cfd06045aef51728 hs23-b19 +f1b786625e0c2ce215d70dda637a127edb2688f2 jdk7u4-b18 +1834c6835b75ed0c0f6fdb55a4ae56cc82e0f15c hs23-b20 +a1292d4e07097cf68addadca35553fd1255dc555 jdk7u4-b19 +34fce1d343b0d9f5e1e5ea30d93e840d260f3dce hs23-b21 +ad6f5eaa165edc94caaa0ac582828718a63a3d02 jdk7u4-b20 +c7c6b00122cf49c4147229689904a20779e73b85 jdk7u4-b30 +93ec23d55b87d46bada8f32b84eb67b427436858 jdk7u4-b21 \ No newline at end of file diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java --- a/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java Wed May 16 14:49:26 2012 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -217,8 +217,8 @@ } protected void checkNativeLink(SecurityManager sm, String os) { - if (os.equals("SunOS") || os.equals("Linux")) { - // link "saproc" - SA native library on SunOS and Linux? + if (os.equals("SunOS") || os.equals("Linux") || os.contains("OS X")) { + // link "saproc" - SA native library on SunOS, Linux, and Mac OS X sm.checkLink("saproc"); } else if (os.startsWith("Windows")) { // link "sawindbg" - SA native library on Windows. diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java --- a/agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java Wed May 16 14:49:26 2012 +0100 @@ -1,24 +1,24 @@ /* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. * */ diff -r 11f2ed4d2141 -r b11130d646c2 agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java --- a/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java Wed May 02 15:07:20 2012 +0100 +++ b/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java Wed May 16 14:49:26 2012 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,7 +43,7 @@ return "bsd"; } else if (os.equals("OpenBSD")) { return "bsd"; - } else if (os.equals("Darwin") || os.startsWith("Mac OS X")) { + } else if (os.equals("Darwin") || os.contains("OS X")) { return "bsd"; } else if (os.startsWith("Windows")) { return "win32"; @@ -52,17 +52,17 @@ } } - /* Returns "sparc" if on SPARC, "x86" if on x86. */ + /* Returns "sparc" for SPARC based platforms and "x86" for x86 based + platforms. Otherwise returns the value of os.arch. If the value + is not recognized as supported, an exception is thrown instead. */ public static String getCPU() throws UnsupportedPlatformException { String cpu = System.getProperty("os.arch"); - if (cpu.equals("i386")) { + if (cpu.equals("i386") || cpu.equals("x86")) { return "x86"; - } else if (cpu.equals("sparc") || cpu.equals("x86") || cpu.equals("ia64")) { + } else if (cpu.equals("sparc") || cpu.equals("sparcv9")) { + return "sparc"; + } else if (cpu.equals("ia64") || cpu.equals("amd64") || cpu.equals("x86_64")) { return cpu; - } else if (cpu.equals("sparcv9")) { - return "sparc"; - } else if (cpu.equals("x86_64") || cpu.equals("amd64")) { - return "amd64"; } else { throw new UnsupportedPlatformException("CPU type " + cpu + " not yet supported"); } diff -r 11f2ed4d2141 -r b11130d646c2 make/hotspot_version --- a/make/hotspot_version Wed May 02 15:07:20 2012 +0100 +++ b/make/hotspot_version Wed May 16 14:49:26 2012 +0100 @@ -35,11 +35,11 @@ HS_MAJOR_VER=23 HS_MINOR_VER=0 -HS_BUILD_NUMBER=16 +HS_BUILD_NUMBER=21 JDK_MAJOR_VER=1 -JDK_MINOR_VER=8 +JDK_MINOR_VER=7 JDK_MICRO_VER=0 # Previous (bootdir) JDK version -JDK_PREVIOUS_VERSION=1.7.0 +JDK_PREVIOUS_VERSION=1.6.0 diff -r 11f2ed4d2141 -r b11130d646c2 make/jprt.properties --- a/make/jprt.properties Wed May 02 15:07:20 2012 +0100 +++ b/make/jprt.properties Wed May 16 14:49:26 2012 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -38,7 +38,7 @@ # This tells jprt what default release we want to build -jprt.hotspot.default.release=jdk7 +jprt.hotspot.default.release=jdk7u4 jprt.tools.default.release=${jprt.submit.option.release?${jprt.submit.option.release}:${jprt.hotspot.default.release}} @@ -54,58 +54,72 @@ # Define the Solaris platforms we want for the various releases jprt.my.solaris.sparc.jdk8=solaris_sparc_5.10 jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10 +jprt.my.solaris.sparc.jdk7u4=${jprt.my.solaris.sparc.jdk7} jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}} jprt.my.solaris.sparcv9.jdk8=solaris_sparcv9_5.10 jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10 +jprt.my.solaris.sparcv9.jdk7u4=${jprt.my.solaris.sparcv9.jdk7} jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}} jprt.my.solaris.i586.jdk8=solaris_i586_5.10 jprt.my.solaris.i586.jdk7=solaris_i586_5.10 +jprt.my.solaris.i586.jdk7u4=${jprt.my.solaris.i586.jdk7} jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}} jprt.my.solaris.x64.jdk8=solaris_x64_5.10 jprt.my.solaris.x64.jdk7=solaris_x64_5.10 +jprt.my.solaris.x64.jdk7u4=${jprt.my.solaris.x64.jdk7} jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}} jprt.my.linux.i586.jdk8=linux_i586_2.6 jprt.my.linux.i586.jdk7=linux_i586_2.6 +jprt.my.linux.i586.jdk7u4=${jprt.my.linux.i586.jdk7} jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}} jprt.my.linux.x64.jdk8=linux_x64_2.6 jprt.my.linux.x64.jdk7=linux_x64_2.6 +jprt.my.linux.x64.jdk7u4=${jprt.my.linux.x64.jdk7} jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}} From bugzilla-daemon at icedtea.classpath.org Wed May 16 07:14:40 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 14:14:40 +0000 Subject: [Bug 811] javaws is not handling urls with spaces (and other characters needing encoding) correctly In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=811 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|javaws is not handling urls |javaws is not handling urls |with spaces correctly |with spaces (and other | |characters needing | |encoding) correctly -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/ac90f7d4/attachment.html From jvanek at redhat.com Wed May 16 07:38:40 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 16 May 2012 16:38:40 +0200 Subject: [rfc] [icedtea-web] fix for PR811 Message-ID: <4FB3BBF0.2040404@redhat.com> This fix is taking care of correct encoding of urls and theirs proper caching (signing was not affected AFAIK) The fix itself is quite simple. Just calling URLecoder/encoder on proper place and is enchanced urlcomapre to consider url==encoded(url) as true. I must confess I dont like one thing - I'm handling "file" protocol differently(not encoding its path) But I was not able to get rid of this :-/ It is making all spaces reproducers passing, and no regressions appeared. I have added couple of new test which are torturing more the encoding/decoding. And testing my fix also against applet and against signed version - because I have suspicion that signature may be bounded with url. It looks like I was wrong or my testing self-certificate is not covering this case (more probable) changelogs: fix: 2012-05-16 Jiri Vanek Fixed behavior when encoded/characters needed encoding included in url * NEWS: mentioned PR811 * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlEquals) Enhanced to be able compare encoded/decoded urls correctly. (notNullUrlEquals) new method to separate comparing of individual parts of url from null checks * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addResource) is now encoding url if needed. (normalizeUrl) new method to encode path in url of all except file protocol tests: 2012-05-16 Jiri Vanek More tests for Spaces and characters in urls * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: and * netx/net/sourceforge/jnlp/cache/CacheUtil.java: for unit-tests purposes (cacheDir) make to point to tmp dir when no DeploymentConfiguration exists. * tests/jnlp_tests/signed/Spaces can be everywhere signed/: couple of new test dooing the same as simple "Spaces can be everywhere" but are signed * tests/jnlp_tests/simple/Spaces can be everywhere/: added new test-cases and html/jnlp test files to try more combinations of encodable characters x launches * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: unittest for url encoder behavior * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: unittest for urlEquals function -------------- next part -------------- A non-text attachment was scrubbed... Name: fixed811-tests.diff Type: text/x-patch Size: 52770 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/b18da114/fixed811-tests.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: fixed811-fix.diff Type: text/x-patch Size: 6102 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/b18da114/fixed811-fix.diff From ptisnovs at redhat.com Wed May 16 08:00:35 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 16 May 2012 17:00:35 +0200 Subject: [rfc] [icedtea-web] fix for PR811 In-Reply-To: <4FB3BBF0.2040404@redhat.com> References: <4FB3BBF0.2040404@redhat.com> Message-ID: <4FB3C113.30308@redhat.com> Hi Jiri, just a quick shove: protocol.equals("file") should be "file".equals(protocol) Cheers, Pavel Jiri Vanek wrote: > This fix is taking care of correct encoding of urls and theirs proper > caching (signing was not affected AFAIK) > > The fix itself is quite simple. Just calling URLecoder/encoder on proper > place and is enchanced urlcomapre to consider url==encoded(url) as true. > > I must confess I dont like one thing - I'm handling "file" protocol > differently(not encoding its path) But I was not able to get rid of this > :-/ > > It is making all spaces reproducers passing, and no regressions appeared. > > I have added couple of new test which are torturing more the > encoding/decoding. And testing my fix also against applet and against > signed version - because I have suspicion that signature may be bounded > with url. It looks like I was wrong or my testing self-certificate is > not covering this case (more probable) > > changelogs: > > fix: > > 2012-05-16 Jiri Vanek > > Fixed behavior when encoded/characters needed encoding included in url > * NEWS: mentioned PR811 > * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlEquals) Enhanced > to be able compare encoded/decoded urls correctly. > (notNullUrlEquals) new method to separate comparing of individual > parts of > url from null checks > * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addResource) > is now encoding url if needed. (normalizeUrl) new method to encode > path in > url of all except file protocol > > > tests: > > 2012-05-16 Jiri Vanek > > More tests for Spaces and characters in urls > * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: and > * netx/net/sourceforge/jnlp/cache/CacheUtil.java: for unit-tests > purposes (cacheDir) make to point to tmp dir when no > DeploymentConfiguration exists. > * tests/jnlp_tests/signed/Spaces can be everywhere signed/: > couple of new test dooing the same as simple "Spaces can be everywhere" > but are signed > * tests/jnlp_tests/simple/Spaces can be everywhere/: added new > test-cases > and html/jnlp test files to try more combinations of encodable > characters > x launches > * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: > unittest for url encoder behavior > * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: > unittest for urlEquals function > From jvanek at icedtea.classpath.org Wed May 16 08:02:16 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 16 May 2012 15:02:16 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 48951df0e371 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=48951df0e371 author: Jiri Vanek date: Wed May 16 16:57:54 2012 +0200 2012-05-14 Jiri Vanek * tests/junit-runner/JunitLikeXmlOutputListener.java: fixed indentation and spacing changeset b9a6491e6715 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b9a6491e6715 author: Jiri Vanek date: Wed May 16 17:01:46 2012 +0200 2012-05-14 Jiri Vanek * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: System.out replaced with System.err + fixed tabs in previous changelog diffstat: ChangeLog | 11 + tests/junit-runner/JunitLikeXmlOutputListener.java | 56 +++++----- tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java | 2 +- tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java | 8 +- 4 files changed, 44 insertions(+), 33 deletions(-) diffs (161 lines): diff -r 8c9b71e1db03 -r b9a6491e6715 ChangeLog --- a/ChangeLog Fri May 11 21:33:54 2012 +0200 +++ b/ChangeLog Wed May 16 17:01:46 2012 +0200 @@ -1,3 +1,14 @@ +2012-05-14 Jiri Vanek + + * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: + * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: + System.out replaced with System.err + +2012-05-14 Jiri Vanek + + * tests/junit-runner/JunitLikeXmlOutputListener.java: fixed indentation + and spacing + 2012-05-11 Thomas Meyer * tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java: Add diff -r 8c9b71e1db03 -r b9a6491e6715 tests/junit-runner/JunitLikeXmlOutputListener.java --- a/tests/junit-runner/JunitLikeXmlOutputListener.java Fri May 11 21:33:54 2012 +0200 +++ b/tests/junit-runner/JunitLikeXmlOutputListener.java Wed May 16 17:01:46 2012 +0200 @@ -111,7 +111,7 @@ } private static String attributize(String s) { - return s.replace("&", "&").replace("<", "<").replace("\"","""); + return s.replace("&", "&").replace("<", "<").replace("\"", """); } private void closeElement(String name) throws IOException { @@ -137,7 +137,7 @@ @Override public void testStarted(Description description) throws Exception { testFailed = null; - testStart = System.nanoTime()/1000l/1000l; + testStart = System.nanoTime() / 1000l / 1000l; } @Override @@ -296,7 +296,7 @@ * * @return Strng[2]{nameToBeShown, hrefValue} */ - public static String[] createBug(String string) { + public static String[] createBug(String string) { String[] r = {"ex", string}; String[] prefixes = { "S", @@ -326,40 +326,40 @@ String distro = "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/"; String openjdk = "http://mail.openjdk.java.net/pipermail/"; - if (string.startsWith(distro)){ - r[0]="distro-pkg"; + if (string.startsWith(distro)) { + r[0] = "distro-pkg"; return r; } - if (string.startsWith(openjdk)){ - r[0]="openjdk"; + if (string.startsWith(openjdk)) { + r[0] = "openjdk"; return r; } return r; } - public static void main(String[] args){ - String[] q=createBug("PR608"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("S4854"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("RH649423"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("D464"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("G6554"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("CA1654"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("LP5445"); - System.out.println(q[0]+" : "+q[1]); + public static void main(String[] args) { + String[] q = createBug("PR608"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("S4854"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("RH649423"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("D464"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("G6554"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("CA1654"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("LP5445"); + System.out.println(q[0] + " : " + q[1]); - q=createBug("http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-November/016178.html"); - System.out.println(q[0]+" : "+q[1]); - q=createBug("http://mail.openjdk.java.net/pipermail/awt-dev/2012-March/002324.html"); - System.out.println(q[0]+" : "+q[1]); + q = createBug("http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-November/016178.html"); + System.out.println(q[0] + " : " + q[1]); + q = createBug("http://mail.openjdk.java.net/pipermail/awt-dev/2012-March/002324.html"); + System.out.println(q[0] + " : " + q[1]); - q=createBug("http://lists.fedoraproject.org/pipermail/chinese/2012-January/008868.html"); - System.out.println(q[0]+" : "+q[1]); + q = createBug("http://lists.fedoraproject.org/pipermail/chinese/2012-January/008868.html"); + System.out.println(q[0] + " : " + q[1]); } } diff -r 8c9b71e1db03 -r b9a6491e6715 tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Fri May 11 21:33:54 2012 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Wed May 16 17:01:46 2012 +0200 @@ -90,7 +90,7 @@ } double avg = sum / time.length; - System.out.println("Average = " + avg + "ns"); + System.err.println("Average = " + avg + "ns"); // wait more than 100 microseconds for noLoops = 1000 and noEntries=1000 is bad assertTrue("load() must not take longer than 100 ??s, but took in avg " + avg/1000 + "??s", avg < 100 * 1000); diff -r 8c9b71e1db03 -r b9a6491e6715 tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java Fri May 11 21:33:54 2012 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java Wed May 16 17:01:46 2012 +0200 @@ -86,13 +86,13 @@ classLoader.findResource("net/sourceforge/jnlp/about/Main.class"); stopTime = System.nanoTime(); long timeOnFirstTry = stopTime - startTime; - System.out.println(timeOnFirstTry); + System.err.println(timeOnFirstTry); startTime = System.nanoTime(); classLoader.findResource("net/sourceforge/jnlp/about/Main.class"); stopTime = System.nanoTime(); long timeOnSecondTry = stopTime - startTime; - System.out.println(timeOnSecondTry); + System.err.println(timeOnSecondTry); assertTrue(timeOnSecondTry < (timeOnFirstTry / 10)); } @@ -128,13 +128,13 @@ classLoader.findResource("net/sourceforge/jnlp/about/Main_FOO_.class"); stopTime = System.nanoTime(); long timeOnFirstTry = stopTime - startTime; - System.out.println(timeOnFirstTry); + System.err.println(timeOnFirstTry); startTime = System.nanoTime(); classLoader.findResource("net/sourceforge/jnlp/about/Main_FOO_.class"); stopTime = System.nanoTime(); long timeOnSecondTry = stopTime - startTime; - System.out.println(timeOnSecondTry); + System.err.println(timeOnSecondTry); assertTrue(timeOnSecondTry < (timeOnFirstTry / 10)); } From andrew at icedtea.classpath.org Wed May 16 08:32:48 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 16 May 2012 15:32:48 +0000 Subject: /hg/release/icedtea7-forest-2.2/jdk: Turn off strict aliasing fo... Message-ID: changeset d56081011fc8 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=d56081011fc8 author: andrew date: Fri May 04 14:05:28 2012 +0100 Turn off strict aliasing for ExtensionSubtables.cpp diffstat: make/sun/font/Makefile | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diffs (15 lines): diff -r a0d124b90763 -r d56081011fc8 make/sun/font/Makefile --- a/make/sun/font/Makefile Wed May 02 13:15:49 2012 -0400 +++ b/make/sun/font/Makefile Fri May 04 14:05:28 2012 +0100 @@ -90,6 +90,11 @@ endif # PLATFORM +# Turn off aliasing with GCC for ExtensionSubtables.cpp +ifeq ($(PLATFORM), linux) + OTHER_CXXFLAGS += -fno-strict-aliasing +endif + #In the non-OpenJDK mode we need to build T2K ifndef OPENJDK t2k: From ptisnovs at redhat.com Wed May 16 08:48:41 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 16 May 2012 17:48:41 +0200 Subject: [2.2 BRANCH] Allow providers to pass TestAES even if they don't provide wrap mode In-Reply-To: <4FB3CAE9.2030309@redhat.com> References: <20120516104357.GA5730@rivendell.middle-earth.co.uk> <4FB3CAE9.2030309@redhat.com> Message-ID: <4FB3CC59.5010603@redhat.com> Hi Andrew, it looks ok for me. (and it seems you already fixed it in IcedTea6) There's only one (probably minor issue) - do you use tabs for indentation or spaces as in original test? Cheers, Pavel > > > -------- Original Message -------- > Subject: [2.2 BRANCH] Allow providers to pass TestAES even if they don't > provide wrap mode > Date: Wed, 16 May 2012 11:43:57 +0100 > From: Dr Andrew John Hughes > To: distro-pkg-dev at openjdk.java.net > > If a cryptography provider doesn't support a particular mode or algorithm, > it throws exception. At present, the tests added in u4 skip testing that > function of such providers, with the exception of wrapping in TestAES, > which instead throws the exception up to the user and causes the test to > fail. This treats a request for wrap mode like the others, and skips the > test if it's not available. > > Ok for 2.2 branch? > From adomurad at redhat.com Wed May 16 09:08:46 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 16 May 2012 12:08:46 -0400 (EDT) Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: <20120516115403.GC21272@redhat.com> Message-ID: Thanks Jiri, Deepak, Pavel for reviewing my patch! I have fixed the issues previously state, except for the constant extraction suggestion. Here are the updated Changelog and patch file. Changelog: 2012-05-16 Adam Domurad Fixed uses of == to compare String objects to .equals where appropriate. Noted a non-obvious use of == to compare a 'magic' String reference. * netx/net/sourceforge/jnlp/JNLPFile.java: Changed calls that compare String contents from == to .equals * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: Same * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: Same * netx/net/sourceforge/jnlp/Version.java: Added comment explaining why == was used vs .equals -------------- next part -------------- A non-text attachment was scrubbed... Name: findbugs-assisted-string-equals-fix.patch Type: text/x-patch Size: 4515 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/0a1a8bb8/findbugs-assisted-string-equals-fix.patch From dbhole at redhat.com Wed May 16 09:45:36 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 16 May 2012 12:45:36 -0400 Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: References: <20120516115403.GC21272@redhat.com> Message-ID: <20120516164535.GI21272@redhat.com> * Adam Domurad [2012-05-16 12:08]: > Thanks Jiri, Deepak, Pavel for reviewing my patch! > > I have fixed the issues previously state, except for the constant extraction suggestion. > > Here are the updated Changelog and patch file. > Thanks Adam. OK from me for HEAD. Cheers, Deepak > Changelog: > 2012-05-16 Adam Domurad > > Fixed uses of == to compare String objects to .equals where > appropriate. > Noted a non-obvious use of == to compare a 'magic' String reference. > * netx/net/sourceforge/jnlp/JNLPFile.java: > Changed calls that compare String contents from == to .equals > * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: > Same > * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: > Same > * netx/net/sourceforge/jnlp/Version.java: Added comment explaining why > == was used vs .equals > diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java > @@ -208,7 +208,7 @@ public class JNLPFile { > //(i.e. If the jnlp file being launched exist locally, but it > //originated from a website, then download the one from the website > //into the cache). > - if (sourceLocation != null && location.getProtocol() == "file") { > + if (sourceLocation != null && "file".equals(location.getProtocol())) { > openURL(sourceLocation, version, policy); > } > > diff --git a/netx/net/sourceforge/jnlp/SecurityDesc.java b/netx/net/sourceforge/jnlp/SecurityDesc.java > --- a/netx/net/sourceforge/jnlp/SecurityDesc.java > +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java > @@ -202,7 +202,7 @@ public class SecurityDesc { > PermissionCollection permissions = getSandBoxPermissions(); > > // discard sandbox, give all > - if (type == ALL_PERMISSIONS) { > + if (ALL_PERMISSIONS.equals(type)) { > permissions = new Permissions(); > if (customTrustedPolicy == null) { > permissions.add(new AllPermission()); > @@ -213,7 +213,7 @@ public class SecurityDesc { > } > > // add j2ee to sandbox if needed > - if (type == J2EE_PERMISSIONS) > + if (J2EE_PERMISSIONS.equals(type)) > for (int i = 0; i < j2eePermissions.length; i++) > permissions.add(j2eePermissions[i]); > > diff --git a/netx/net/sourceforge/jnlp/Version.java b/netx/net/sourceforge/jnlp/Version.java > --- a/netx/net/sourceforge/jnlp/Version.java > +++ b/netx/net/sourceforge/jnlp/Version.java > @@ -230,6 +230,7 @@ public class Version { > Integer number2 = Integer.valueOf(0); > > // compare as integers > + // for normalization key, compare exact object, not using .equals > try { > if (!(part1 == emptyString)) // compare to magic normalization key > number1 = Integer.valueOf(part1); > @@ -242,9 +243,9 @@ public class Version { > // means to compare as strings > } > > - if (part1 == emptyString) > + if (part1 == emptyString) // compare to magic normalization key > part1 = ""; > - if (part2 == emptyString) > + if (part2 == emptyString) // compare to magic normalization key > part2 = ""; > > return part1.compareTo(part2); > diff --git a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > --- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > +++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java > @@ -50,7 +50,7 @@ public class GetMemberPluginCallRequest > String[] args = message.split(" "); > // FIXME: Is it even possible to distinguish between null and void > // here? > - if (args[3] != "null" && args[3] != "void") > + if (!"null".equals(args[3]) && !"void".equals(args[3])) > object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[3])); > setDone(true); > } > diff --git a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > --- a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > +++ b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > @@ -41,15 +41,15 @@ public class PluginCallRequestFactory { > > public PluginCallRequest getPluginCallRequest(String id, String message, Long reference) { > > - if (id == "member") { > + if ("member".equals(id)) { > return new GetMemberPluginCallRequest(message, reference); > - } else if (id == "void") { > + } else if ("void".equals(id)) { > return new VoidPluginCallRequest(message, reference); > - } else if (id == "window") { > + } else if ("window".equals(id)) { > return new GetWindowPluginCallRequest(message, reference); > - } else if (id == "proxyinfo") { > + } else if ("proxyinfo".equals(id)) { > return new PluginProxyInfoRequest(message, reference); > - } else if (id == "cookieinfo") { > + } else if ("cookieinfo".equals(id)) { > return new PluginCookieInfoRequest(message, reference); > } else { > throw new RuntimeException("Unknown plugin call request type requested from factory"); From bugzilla-daemon at icedtea.classpath.org Wed May 16 10:48:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 17:48:45 +0000 Subject: [Bug 982] New: Regression: crossftp no longer runs throwing a ZipException Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=982 Priority: P3 Bug ID: 982 CC: unassigned at icedtea.classpath.org Assignee: unassigned at icedtea.classpath.org Summary: Regression: crossftp no longer runs throwing a ZipException Severity: normal Classification: Unclassified OS: Linux Reporter: ddadacha at redhat.com Hardware: x86_64 Status: NEW Version: unspecified Component: General Product: IcedTea-Web Running 'javaws http://www.crossftp.com/crossftp.jnlp' throws a ZipException. I tested this with a clean clone of IcedTea-Web HEAD, 1.2 and 1.1, all have the same issue. I am guessing the JNLP has changed since the release of 1.2 and is thus causing this exception. I build HEAD using --with-jdk-home pointing to an icedtea6, icedtea7 and icedtea7-forest build, all have the same behaviour. Exception from 1.2 build's javaws: java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:214) at java.util.zip.ZipFile.(ZipFile.java:144) at java.util.jar.JarFile.(JarFile.java:152) at java.util.jar.JarFile.(JarFile.java:103) at net.sourceforge.jnlp.tools.JarSigner.verifyJar(JarSigner.java:241) at net.sourceforge.jnlp.tools.JarSigner.verifyJars(JarSigner.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.verifyJars(JNLPClassLoader.java:1226) at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:473) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:198) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:317) at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:770) at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:552) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:889) net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:778) at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:552) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:889) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: A fatal error occurred while trying to verify jars. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:479) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:198) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:317) at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:770) ... 2 more Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: A fatal error occurred while trying to verify jars. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:479) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:198) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:317) at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:770) at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:552) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:889) -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/a858302a/attachment.html From jvanek at redhat.com Wed May 16 09:42:51 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 16 May 2012 18:42:51 +0200 Subject: [RFC][icedtea-web] Fix usage of == -> .equals for various String comparisons In-Reply-To: References: Message-ID: <4FB3D90B.9060107@redhat.com> On 05/16/2012 06:08 PM, Adam Domurad wrote: > Thanks Jiri, Deepak, Pavel for reviewing my patch! > > I have fixed the issues previously state, except for the constant extraction suggestion. Yah? :) I hope to see it in close future! O:) > > Here are the updated Changelog and patch file. > > Changelog: > 2012-05-16 Adam Domurad > > Fixed uses of == to compare String objects to .equals where > appropriate. > Noted a non-obvious use of == to compare a 'magic' String reference. > * netx/net/sourceforge/jnlp/JNLPFile.java: > Changed calls that compare String contents from == to .equals > * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: > Same > * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: > Same > * netx/net/sourceforge/jnlp/Version.java: Added comment explaining why > == was used vs .equals Looks ok from my point of view. I'm ok with head and in some time to be backported to branches as Deepak suggested. Just one nitpick for any time - http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web (and http://icedtea.classpath.org/wiki/Reproducers) - please, before any push try to run: make make check make install make run-netx-dist-tests sequence and observe html reports (how they differ with your change set and without). They are really useful for catching regressions. And it is better to got them before push. Also a tests is mostly required for any change (deficiently not for this one :) ) Thanx a lot for patch and best regards from CZ! J. From adomurad at redhat.com Wed May 16 11:14:06 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 16 May 2012 14:14:06 -0400 (EDT) Subject: [RFC][IcedTeaWeb] Lexicographical sorting toggle for certificates in IcedTeaWebSettings In-Reply-To: Message-ID: <010431e3-fc24-4ebe-bfb8-2ca792abf31a@zmail19.collab.prod.int.phx2.redhat.com> Here's a small patch for review that adds a toggle that enables lexicographical sorting (java default for Strings) by the columns of the IcedTeaWebSettings certificate viewer. Thanks, Adam. 2012-05-16 Adam Domurad Introduced two functions to reduce duplicated code. Added lexicographical ordering of certificates for IcedTeaWebSettings. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Introduced functions void initializeCertificateTable(JTable certtable) and JScrollPane createCertificateScrollPane(JTable certtable) to encapsulate duplicate code. Added a lexicographical sort (applied in initializeCertificateTable) to the user and system tables for the certificate viewer. -------------- next part -------------- A non-text attachment was scrubbed... Name: certificate-lexicographical-sorting.patch Type: text/x-patch Size: 4458 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/d20d359d/certificate-lexicographical-sorting.patch From jvanek at redhat.com Wed May 16 09:33:22 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 16 May 2012 18:33:22 +0200 Subject: [rfc] [icedtea-web] fix for PR811 In-Reply-To: <4FB3C113.30308@redhat.com> References: <4FB3BBF0.2040404@redhat.com> <4FB3C113.30308@redhat.com> Message-ID: <4FB3D6D2.9010600@redhat.com> On 05/16/2012 05:00 PM, Pavel Tisnovsky wrote: > Hi Jiri, > > just a quick shove: > > protocol.equals("file") > > should be "file".equals(protocol) > Shame on me!!!-DDD fixed patch attached. There was actually one more improvement needed. So You are an voulnteer to review both fix and tests? Thanx a lot! But be very carefull. I'm afraid URL of resources is one of basic stones in netx. I have tried really a lot to figure what everything is affected by this change, and it looks like all. And there are dark corners in netx;) Thanx a lot again - J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixed811-fix2.diff Type: text/x-patch Size: 6120 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/77cbaa58/fixed811-fix2.diff From bugzilla-daemon at icedtea.classpath.org Wed May 16 11:38:19 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 16 May 2012 18:38:19 +0000 Subject: [Bug 861] Glasnost: Test if your ISP is shaping your traffic - fatal internal error. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=861 Adam Domurad changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |adomurad at redhat.com Assignee|dbhole at redhat.com |adomurad at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/82955dab/attachment.html From dbhole at redhat.com Wed May 16 09:58:53 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 16 May 2012 12:58:53 -0400 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FAD0982.1010608@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> Message-ID: <20120516165852.GK21272@redhat.com> * Jiri Vanek [2012-05-11 08:52]: > On 05/11/2012 02:26 PM, Andrew Hughes wrote: > > > >----- Original Message ----- > >>> On 05/11/2012 01:25 PM, Andrew Hughes wrote: > >>>> > ----- Original Message ----- > >>>>> >> Hi Andrew, I just realized that I forgot to send opera;firefox... > >>>>> >> string to code coverage. This > >>>>> >> patch is add-one-line boosted makeLInks3 i sent few hours ago. > >>>>> >> Thanx > >>>>> >> and sorry > >>>>> >> J. > >>>>> >> > >>>> > > >>>> > There are still two issues here: > >>>> > > >>>> > 1. Simple typo: "backuped" should be "backed up" > >>> Sure. will be fixed > :-O F I X E D O:-) > > > >>>> > 2. It's still expecting the plugin to be in > >>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > >>>> > the final install location. It needs to link to to the copy in the > >>>> > build directory. > >>> Hmm... I still believe I'm doing the correct thing. All Reproducers > >>> tests are run against $(DESTDIR). > >Then they are wrong too. I should be able to check it works before I > >commit to installing it on my system. > > Well they are reproducers, they expect to be run on installed stuff. > Is it possible to make them run without installation at all? e.g. firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH Cheers, Deepak > ok now? > > > >>>> > > >>> Thanx for review! > >>> > > > > > diff -r 82e908d46d70 Makefile.am > --- a/Makefile.am Tue Apr 24 14:43:34 2012 -0400 > +++ b/Makefile.am Wed Apr 25 15:37:52 2012 +0200 > @@ -26,7 +26,7 @@ > PRIVATE_KEYSTORE_PASS=123456789 > EXPORTED_TEST_CERT=icedteatests.crt > TEST_CERT_ALIAS=icedteaweb > -PUBLIC_KEYSTORE=~/.icedtea/security/trusted.certs > +PUBLIC_KEYSTORE=${HOME}/.icedtea/security/trusted.certs > PUBLIC_KEYSTORE_PASS=changeit > > JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar > @@ -35,6 +35,19 @@ > EMMA_JAVA_ARGS=-Xmx2G > META_MANIFEST = META-INF/MANIFEST.MF > > +# linking variables > +PLUGIN_LINK_NAME=libjavaplugin.so > +MOZILLA_LOCAL_PLUGINDIR=${HOME}/.mozilla/plugins > +MOZILLA_GLOBAL64_PLUGINDIR=/usr/lib64/mozilla/plugins > +MOZILLA_GLOBAL32_PLUGINDIR=/usr/lib/mozilla/plugins > +OPERA_GLOBAL64_PLUGINDIR=/usr/lib64/opera/plugins > +OPERA_GLOBAL32_PLUGINDIR=/usr/lib/opera/plugins > +BUILT_PLUGIN_LIBRARY=IcedTeaPlugin.so > +MOZILLA_LOCAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origU > +MOZILLA_GLOBAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origMG > +OPERA_GLOBAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origOG > +# end of linking variables > + > # Build directories > > BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0 > @@ -86,7 +99,7 @@ > PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp > PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp > LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java > -ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/IcedTeaPlugin.so stamps/liveconnect-dist.stamp > +ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) stamps/liveconnect-dist.stamp > PLUGIN_PKGS = sun.applet netscape.security netscape.javascript > endif > > @@ -161,7 +174,7 @@ > install-exec-local: > ${mkinstalldirs} $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ $(DESTDIR)$(libdir) > if ENABLE_PLUGIN > - ${INSTALL_PROGRAM} $(PLUGIN_DIR)/IcedTeaPlugin.so $(DESTDIR)$(libdir) > + ${INSTALL_PROGRAM} $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) $(DESTDIR)$(libdir) > ${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar > endif > ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar > @@ -190,7 +203,7 @@ > endif > > uninstall-local: > - rm -f $(DESTDIR)$(libdir)/IcedTeaPlugin.so > + rm -f $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) > rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar > rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar > rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jnlp > @@ -233,7 +246,7 @@ > $(MOZILLA_CFLAGS) \ > -fPIC -o $@ -c $< > > -$(PLUGIN_DIR)/IcedTeaPlugin.so: $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) > +$(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY): $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) > cd $(PLUGIN_DIR) && \ > $(CXX) $(CXXFLAGS) \ > $(PLUGIN_OBJECTS) \ > @@ -244,7 +257,7 @@ > > clean-IcedTeaPlugin: > rm -f $(PLUGIN_DIR)/*.o > - rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so > + rm -f $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) > if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ > if [ -e $(abs_top_builddir)/plugin/icedteanp ] ; then \ > rmdir $(abs_top_builddir)/plugin/icedteanp ; \ > @@ -582,7 +595,7 @@ > cd $(JNLP_TESTS_ENGINE_DIR) ; \ > class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ > CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ > - $(BOOT_DIR)/bin/java -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) -Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) \ > + $(BOOT_DIR)/bin/java -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) -Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) -Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA) \ > -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \ > > stdout.log 2> stderr.log ; \ > cat stdout.log ; \ > @@ -592,6 +605,112 @@ > endif > touch $@ > > +#for global-links you must be root, for opera there do not exists user-links > +#although this targets will indeed create symbolic links to enable > +#icedtea-web plugin inside browser it is intended for testing purposes > +if ENABLE_PLUGIN > +stamps/user-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp \ > + launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) > + if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ > + if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \ > + mv -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) $(MOZILLA_LOCAL_BACKUP_FILE) ; \ > + echo "$(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) backed up as $(MOZILLA_LOCAL_BACKUP_FILE)" ; \ > + else \ > + echo "$(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) doesn't exists, nothing to be backed up to $(MOZILLA_LOCAL_BACKUP_FILE)" ; \ > + fi ; \ > + pushd $(MOZILLA_LOCAL_PLUGINDIR) ; \ > + ln -s $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) $(PLUGIN_LINK_NAME) ; \ > + echo "$(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) linked as $$PWD/$(PLUGIN_LINK_NAME)" ; \ > + popd ; \ > + fi ; \ > + touch $@ > + > +restore-user-links: > + if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ > + if [ -e $(MOZILLA_LOCAL_BACKUP_FILE) ] ; then \ > + mv -f $(MOZILLA_LOCAL_BACKUP_FILE) $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ; \ > + echo "$(MOZILLA_LOCAL_BACKUP_FILE) restored as $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME)" ; \ > + else \ > + rm -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ; \ > + echo "$(MOZILLA_LOCAL_BACKUP_FILE) do not exists, nothing to be restored. $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) removed" ; \ > + fi ; \ > + fi ; > + if [ -e stamps/user-links.stamp ] ; then \ > + rm -f stamps/user-links.stamp ; \ > + fi > + > +stamps/global-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \ > + stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) > + if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ > + dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \ > + arch=`arch` ; \ > + if [ "$$arch" = "x86_64" ] ; then \ > + dir="$(MOZILLA_GLOBAL64_PLUGINDIR)" ; \ > + fi ; \ > + if [ -e "$$dir"/$(PLUGIN_LINK_NAME) ] ; then \ > + mv -f "$$dir"/$(PLUGIN_LINK_NAME) $(MOZILLA_GLOBAL_BACKUP_FILE) ; \ > + echo "$$dir/$(PLUGIN_LINK_NAME) backed up as $(MOZILLA_GLOBAL_BACKUP_FILE)" ; \ > + else \ > + echo "$$dir/$(PLUGIN_LINK_NAME) do not exists, nothing to be backed up to $(MOZILLA_GLOBAL_BACKUP_FILE)" ; \ > + fi ; \ > + pushd "$$dir" ; \ > + ln -s $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) $(PLUGIN_LINK_NAME) ; \ > + echo "$(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) linked as $$PWD/$(PLUGIN_LINK_NAME)" ; \ > + popd ; \ > + fi ; > + if [ "$(OPERA)" != "" ] ; then \ > + dir="$(OPERA_GLOBAL32_PLUGINDIR)" ; \ > + arch=`arch` ; \ > + if [ "$$arch" = "x86_64" ] ; then \ > + dir="$(OPERA_GLOBAL64_PLUGINDIR)" ; \ > + fi ; \ > + if [ -e "$$dir"/$(PLUGIN_LINK_NAME) ] ; then \ > + mv -f "$$dir"/$(PLUGIN_LINK_NAME) $(OPERA_GLOBAL_BACKUP_FILE) ; \ > + echo "$$dir/$(PLUGIN_LINK_NAME) backed up as $(OPERA_GLOBAL_BACKUP_FILE) "; \ > + else \ > + echo "$$dir/$(PLUGIN_LINK_NAME) do not exists, nothing to be backed up to $(OPERA_GLOBAL_BACKUP_FILE) "; \ > + fi ; \ > + pushd "$$dir" ; \ > + ln -s $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) $(PLUGIN_LINK_NAME) ; \ > + echo "$(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) linked as $$PWD/$(PLUGIN_LINK_NAME)" ; \ > + popd ; \ > + fi ; \ > + touch $@ > + > +restore-global-links: > + if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ > + dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \ > + arch=`arch` ; \ > + if [ "$$arch" = "x86_64" ] ; then \ > + dir="$(MOZILLA_GLOBAL64_PLUGINDIR)" ; \ > + fi ; \ > + if [ -e $(MOZILLA_GLOBAL_BACKUP_FILE) ] ; then \ > + mv -f $(MOZILLA_GLOBAL_BACKUP_FILE) "$$dir"/$(PLUGIN_LINK_NAME) ; \ > + echo "$(MOZILLA_GLOBAL_BACKUP_FILE) restored as $$dir/$(PLUGIN_LINK_NAME)" ; \ > + else \ > + rm -f "$$dir"/$(PLUGIN_LINK_NAME) ; \ > + echo "$(MOZILLA_GLOBAL_BACKUP_FILE) do not exists, nothing to be restored. $$dir/$(PLUGIN_LINK_NAME) removed" ; \ > + fi ; \ > + fi ; > + if [ "$(OPERA)" != "" ] ; then \ > + dir="$(OPERA_GLOBAL32_PLUGINDIR)" ; \ > + arch=`arch` ; \ > + if [ "$$arch" = "x86_64" ] ; then \ > + dir="$(OPERA_GLOBAL64_PLUGINDIR)" ; \ > + fi ; \ > + if [ -e $(OPERA_GLOBAL_BACKUP_FILE) ] ; then \ > + mv -f $(OPERA_GLOBAL_BACKUP_FILE) "$$dir"/$(PLUGIN_LINK_NAME) ; \ > + echo "$(OPERA_GLOBAL_BACKUP_FILE) restored as $$dir/$(PLUGIN_LINK_NAME)" ; \ > + else \ > + rm -f "$$dir"/$(PLUGIN_LINK_NAME) ; \ > + echo "$(OPERA_GLOBAL_BACKUP_FILE) do not exist, nothing to be restored. $$dir/$(PLUGIN_LINK_NAME) removed" ; \ > + fi ; \ > + fi ; > + if [ -e stamps/global-links.stamp ] ; then \ > + rm -f stamps/global-links.stamp ; \ > + fi > +endif > + > netx-unit-tests-source-files.txt: > find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@ > > @@ -717,6 +836,7 @@ > $(EMMA_JAVA_ARGS) \ > -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) \ > -Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) \ > + -Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA) \ > -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \ > -raw \ > -cp $(NETX_DIR)/lib/classes.jar \ > @@ -969,6 +1089,10 @@ > > run-netx-unit-tests: stamps/run-netx-unit-tests.stamp > > +links: stamps/global-links.stamp > + > +user-links: stamps/user-links.stamp > + > run-netx-dist-tests: stamps/run-netx-dist-tests.stamp > > run-unit-test-code-coverage: stamps/run-unit-test-code-coverage.stamp > diff -r 82e908d46d70 configure.ac > --- a/configure.ac Tue Apr 24 14:43:34 2012 -0400 > +++ b/configure.ac Wed Apr 25 15:37:52 2012 +0200 > @@ -88,6 +88,11 @@ > # > > AC_CHECK_PROGS([XSLTPROC],[xsltproc],[], []) > +AC_CHECK_PROGS([FIREFOX],[firefox],[], []) > +AC_CHECK_PROGS([CHROME],[google-chrome],[], []) > +AC_CHECK_PROGS([CHROMIUM],[chromium-browser],[], []) > +AC_CHECK_PROGS([OPERA],[opera],[], []) > + > AM_CONDITIONAL([WITH_XSLTPROC], [test x"$XSLTPROC" != x ]) > IT_FIND_OPTIONAL_JAR([rhino], RHINO, > [/usr/share/java/js.jar /usr/share/rhino-1.6/lib/js.jar]) > From ddadacha at redhat.com Wed May 16 15:24:33 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 16 May 2012 18:24:33 -0400 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader Message-ID: <4FB42921.6040109@redhat.com> Hi, The attached patches make JNLPClassLoader use a global JCV to ensure we can actually check the app is signed entirely by at least one common signer. Currently, the classloader does not maintain verification of jars loaded upon main initialization vs jars loaded at runtime. Therefore, we are not actually able to enforce an application to be signed entirely by one signer. The application may initially be signed entirely (i.e. all resources/archives specified have a common signer) but then as classes are loaded at runtime (e.g. via manifest classpath), these are not verified along with the original jars. A new JarCertVerifier is used to verify each set. I used an instance var per JNLPClassLoader to keep track of all the jars verified thus far. Each JNLPClassLoader keeps track of its own app's jars so when JNLP extensions are specified, a new JNLPClassLoader is created. This ensures there can be separate signers between different JNLPs. The current method to determine if a jar is signed completely was to check against JarCertVerifier#anyJarSigned. This method is somewhat flawed. If any single entry is signed then this method returns true. However, if one entry of a jar is signed and another unsigned, then the jar is considered unsigned, as is the app as a whole. Therefore, I have included JarCertVerifier#isFullySigned in the conditional as well to ensure the app is in fact fully signed. Another change is the removal of permission checking of nested jars. If the entry of the nested jar is signed, then we should assume that the person signing the jar trusts it to do whatever it must. The nested jar is given the same security context as its parent jar. I've extensively tested this against a combination of singed/unsigned entries in resource/archive-specified/nested/manifest-classpath/extension jars using JNLPs, the applet tag, javaws and jnlp_href, as well as many duplicate jars. I have also run through all the regression tests for HEAD, 1.2 and 1.1, everything ran fine. I propose the following patches to HEAD, 1.2 and 1.1. ChangeLog: (s/JarCertVerifier/JarSigner/g for release branches) +2012-05-16 Danesh Dadachanji + + Use a global JarCertVerifier in the classloader to keep track of every + jar that has been verified. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (addNewJar), (initializeResources), (verifySignedJNLP): + Replaced use of local JarCertVerifier variable with the instance variable. + Added calls to isFullySigned wherever signer verification is done. + (activateJars): No longer verifies nested jars. These receive the same + security permissions as their parent jar, regardless of the nested + jar's signing. + (verifyJars): Removed. + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: + (add): New public method that resets some instance vars and + calls verifyJars. + (verifyJars): Modifier changed to private, above method should be used. + (isFullySignedByASingleCert): renamed to isFullySigned. + A note for 1.1, it does not have the changeset that brought in verification of a signed JNLP as a jar entry so those 2 hunks are removed. Also, 1.1 and 1.2 are still using JarSigner instead of JarCertVerifier so I have accounted for that. Apart from these, the patches are identical in logic. All three patches attached. Any and all comments much appreciated! Please especially ask of a testcase if you have one in mind. Cheers, Danesh -------------- next part -------------- A non-text attachment was scrubbed... Name: global-jcv-in-jnlp-classloader-HEAD-01.patch Type: text/x-patch Size: 10058 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/5acc6a14/global-jcv-in-jnlp-classloader-HEAD-01.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: global-jcv-in-jnlp-classloader-1.1-01.patch Type: text/x-patch Size: 9216 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/5acc6a14/global-jcv-in-jnlp-classloader-1.1-01.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: global-jcv-in-jnlp-classloader-1.2-01.patch Type: text/x-patch Size: 9216 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/5acc6a14/global-jcv-in-jnlp-classloader-1.2-01.patch From ddadacha at redhat.com Wed May 16 15:37:39 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 16 May 2012 18:37:39 -0400 Subject: [RFC][icedtea-web-1.1] Backport: Add ability to check for use of jnlp_href outside of PluginBridge. Message-ID: <4FB42C33.4000102@redhat.com> Hi, I would like to backport the changeset[1] that brought in the ability to check if jnlp_href was used. I will be needing this in a future changeset[2] that I am about to post for review. The attached patch is almost identical to the changes in [1] except that I had to add the else clause. ChangeLog: (unchanged from [1]) +2012-05-16 Danesh Dadachanji + + Add ability to check for jnlp_href use outside of PluginBridge. + * netx/net/sourceforge/jnlp/PluginBridge.java + (PluginBridge): New boolean useJNLPHref is set if jnlp_href is used. + (useJNLPHref): New getter method, returns boolean useJNLPHref. + Okay to push to 1.1? Cheers, Danesh [1] http://icedtea.classpath.org/hg/icedtea-web/rev/f058f21b9e99 [2] SUBJECT="[RFC][icedtea-web] Do not allow searching of jar manifest classpath if jnlp_href is being used" - I would link the archive but I can't time travel yet. -------------- next part -------------- A non-text attachment was scrubbed... Name: use-jnlp-href-backport-01.patch Type: text/x-patch Size: 1297 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/ebf0e537/use-jnlp-href-backport-01.patch From ddadacha at redhat.com Wed May 16 15:58:07 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 16 May 2012 18:58:07 -0400 Subject: [RFC][icedtea-web] Do not allow searching of jar manifest classpath if jnlp_href is being used Message-ID: <4FB430FF.8060201@redhat.com> Hi, Applets run by the plugin are allowed to specify classpaths in their jars' manifest files. IMO this is fine for applets run via specifying a main class but this is not okay if they are run via jnlp_href. When using a JNLP via javaws, you do not have access to manifest's classpaths. I believe this is a property of JNLP files. Therefore, since jnlp_href points to a JNLP file to do the guide the launching and resource tracking, I propose we ignore classpaths when the plugin runs using jnlp_href. To note, the proprietary plugin allows classpath specified jars but I do not think this is correct behaviour. FWIW I've run through all the regression tests, none of them use this so far. Is this okay to push to HEAD, 1.2 and 1.1? +2012-05-16 Danesh Dadachanji + + Classpaths in jars' manifests are only considered when the applet is run + without using jnlp_href and a JNLP file. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): + Add conditional check for use of jnlp_href. + There are no differences in the patches between HEAD, 1.2 and 1.1 so I've only attached one. Cheers, Danesh PS: this patch is dependent on this backport[1] going into 1.1. [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018533.html -------------- next part -------------- A non-text attachment was scrubbed... Name: no-classpath-with-jnlp_href-HEAD-01.patch Type: text/x-patch Size: 1152 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120516/2380b758/no-classpath-with-jnlp_href-HEAD-01.patch From ptisnovs at redhat.com Thu May 17 00:57:43 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 17 May 2012 09:57:43 +0200 Subject: [RFC][icedtea-web-1.1] Backport: Add ability to check for use of jnlp_href outside of PluginBridge. In-Reply-To: <4FB42C33.4000102@redhat.com> References: <4FB42C33.4000102@redhat.com> Message-ID: <4FB4AF77.7020006@redhat.com> Hi Danesh, it looks good. Thank you, Pavel Danesh Dadachanji wrote: > Hi, > > I would like to backport the changeset[1] that brought in the ability to > check if jnlp_href was used. I will be needing this in a future > changeset[2] that I am about to post for review. The attached patch is > almost identical to the changes in [1] except that I had to add the else > clause. > > ChangeLog: (unchanged from [1]) > +2012-05-16 Danesh Dadachanji > + > + Add ability to check for jnlp_href use outside of PluginBridge. > + * netx/net/sourceforge/jnlp/PluginBridge.java > + (PluginBridge): New boolean useJNLPHref is set if jnlp_href is used. > + (useJNLPHref): New getter method, returns boolean useJNLPHref. > + > > Okay to push to 1.1? > > Cheers, > Danesh > > [1] http://icedtea.classpath.org/hg/icedtea-web/rev/f058f21b9e99 > [2] SUBJECT="[RFC][icedtea-web] Do not allow searching of jar manifest > classpath if jnlp_href is being used" - I would link the archive but I > can't time travel yet. > From jvanek at redhat.com Thu May 17 01:25:48 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 10:25:48 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <20120516165852.GK21272@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> Message-ID: <4FB4B60C.1060705@redhat.com> On 05/16/2012 06:58 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-11 08:52]: >> On 05/11/2012 02:26 PM, Andrew Hughes wrote: >>> >>> ----- Original Message ----- >>>>> On 05/11/2012 01:25 PM, Andrew Hughes wrote: >>>>>> > ----- Original Message ----- >>>>>>> >> Hi Andrew, I just realized that I forgot to send opera;firefox... >>>>>>> >> string to code coverage. This >>>>>>> >> patch is add-one-line boosted makeLInks3 i sent few hours ago. >>>>>>> >> Thanx >>>>>>> >> and sorry >>>>>>> >> J. >>>>>>> >> >>>>>> > >>>>>> > There are still two issues here: >>>>>> > >>>>>> > 1. Simple typo: "backuped" should be "backed up" >>>>> Sure. will be fixed >> :-O F I X E D O:-) >>> >>>>>> > 2. It's still expecting the plugin to be in >>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), >>>>>> > the final install location. It needs to link to to the copy in the >>>>>> > build directory. >>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers >>>>> tests are run against $(DESTDIR). >>> Then they are wrong too. I should be able to check it works before I >>> commit to installing it on my system. >> >> Well they are reproducers, they expect to be run on installed stuff. >> > > Is it possible to make them run without installation at all? e.g. > firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH Yes. And even link from mozilla-fs can be easily targeted to builddir. It is not an blocker. There are two different issues: 1 - design) the concept is to test installed application 2 - implementation) [here I can be wrong, but I believe I'm not] inside javaws (not relevant but..) and inside IcedTeaPlugin.so are harcoded paths to installdir jars of netx. So To make it work form builddir I have to make build just for testing, what I believe is contra productive. So if I will link library from buildddir, it will still be necessary to have installed application (and so have jars in install dir where the so file is searching for them). I think that any hacking around to make it work is much worser then have installed application before reproducers runs. > > Cheers, > Deepak > >> ok now? >>> >>>>>> > >Thanx for review! Thanx again for clarifying! J. From jvanek at redhat.com Thu May 17 02:05:02 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 11:05:02 +0200 Subject: [RFC][IcedTeaWeb] Lexicographical sorting toggle for certificates in IcedTeaWebSettings In-Reply-To: <010431e3-fc24-4ebe-bfb8-2ca792abf31a@zmail19.collab.prod.int.phx2.redhat.com> References: <010431e3-fc24-4ebe-bfb8-2ca792abf31a@zmail19.collab.prod.int.phx2.redhat.com> Message-ID: <4FB4BF3E.4070805@redhat.com> On 05/16/2012 08:14 PM, Adam Domurad wrote: > Here's a small patch for review that adds a toggle that enables lexicographical sorting (java default for Strings) by the columns of the IcedTeaWebSettings certificate viewer. Hi! Thanx for lookig into this! One fundamental question - what is motivation for this? When I check itweb-setting certificate panel, I see pretty good working stuff except few details. But I don't think sorting will help to orient in this table. What will be better imho is to enable sorting buttons on table (including no sorting as it is no, because when I add certificate (accidentally eg) I expect it last or first and not sorted somewhere. Also some kind of filtering input text field(s) will be very nice. If you will agree with me that little bit more complex change will be much more useful then (maybe redundant) sorting, then it it will be definitely worthy to get rid of DefaultTableModel (which I consider as one of most dangerous things in swing). Also it will be very worthy to cover this class by unittests. (It is always excellence opportunity to cover more code with any changeset). > > Thanks, Adam. > > 2012-05-16 Adam Domurad > > Introduced two functions to reduce duplicated code. > Added lexicographical ordering of certificates for IcedTeaWebSettings. > > * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: > Introduced functions void initializeCertificateTable(JTable certtable) > and JScrollPane createCertificateScrollPane(JTable certtable) to > encapsulate duplicate code. > Added a lexicographical sort (applied in initializeCertificateTable) to > the user and system tables for the certificate viewer. > IIRC the empty line in changelog is not recommended, but I'm the last one to criticize changelogs :) > > certificate-lexicographical-sorting.patch > > > diff --git a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java > --- a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java > +++ b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java > @@ -54,6 +54,7 @@ import java.security.KeyStore; > import java.security.cert.Certificate; > import java.security.cert.X509Certificate; > import java.util.ArrayList; > +import java.util.Comparator; > import java.util.Enumeration; > import java.util.List; > > @@ -73,6 +74,7 @@ import javax.swing.JTable; > import javax.swing.event.ChangeEvent; > import javax.swing.event.ChangeListener; > import javax.swing.table.DefaultTableModel; > +import javax.swing.table.TableRowSorter; > > import net.sourceforge.jnlp.security.CertificateUtils; > import net.sourceforge.jnlp.security.KeyStores; > @@ -154,6 +156,41 @@ public class CertificatePane extends JPa > } > } > > + /** > + * Initialize the certificate table (user or system). > + */ > + private void initializeCertificateTable(JTable certtable){ > + DefaultTableModel tableModel = new DefaultTableModel(issuedToAndBy, columnNames); I would really like to avoid DefaultTableModel tableModel = new DefaultTableModel .... If you will insists on DefaultTableModel, then please try to keep by interface declaration. TableModel whatever= new DefaultTableModel.... > + certtable.setModel(tableModel); > + certtable.getTableHeader().setReorderingAllowed(false); > + certtable.setFillsViewportHeight(true); > + > + TableRowSorter tableSorter = new TableRowSorter(tableModel); > + > + Comparator lexicographicalComparator = new Comparator() { > + @Override > + public int compare(String o1, String o2) { > + return o1.compareTo(o2); > + } > + }; > + > + tableSorter.setComparator(0, lexicographicalComparator); > + tableSorter.setComparator(1, lexicographicalComparator); > + > + certtable.setRowSorter(tableSorter); > + } I believe that custom TableModel will be better place for sorting/filtering, but this point will be worthy only if we agree on little bit more complex change. > + > + /** > + * Create a scroll pane for a certificate table (user or system). > + */ > + private JScrollPane createCertificateScrollPane(JTable certtable){ > + JScrollPane pane = new JScrollPane(certtable); > + pane.setPreferredSize(TABLE_DIMENSION); > + pane.setSize(TABLE_DIMENSION); > + pane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); > + return pane; > + } > + > //create the GUI here. > protected void addComponents() { > > @@ -173,24 +210,12 @@ public class CertificatePane extends JPa > JPanel tablePanel = new JPanel(new BorderLayout()); > > // User Table > - DefaultTableModel userTableModel = new DefaultTableModel(issuedToAndBy, columnNames); > - userTable.setModel(userTableModel); > - userTable.getTableHeader().setReorderingAllowed(false); > - userTable.setFillsViewportHeight(true); > - JScrollPane userTablePane = new JScrollPane(userTable); > - userTablePane.setPreferredSize(TABLE_DIMENSION); > - userTablePane.setSize(TABLE_DIMENSION); > - userTablePane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); > + initializeCertificateTable(userTable); > + JScrollPane userTablePane = createCertificateScrollPane(userTable); +1! > > // System Table > - DefaultTableModel systemTableModel = new DefaultTableModel(issuedToAndBy, columnNames); > - systemTable.setModel(systemTableModel); > - systemTable.getTableHeader().setReorderingAllowed(false); > - systemTable.setFillsViewportHeight(true); > - JScrollPane systemTablePane = new JScrollPane(systemTable); > - systemTablePane.setPreferredSize(TABLE_DIMENSION); > - systemTablePane.setSize(TABLE_DIMENSION); > - systemTablePane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); > + initializeCertificateTable(systemTable); > + JScrollPane systemTablePane = createCertificateScrollPane(systemTable); > +2! > tabbedPane = new JTabbedPane(); > tabbedPane.addTab(R("CVUser"), userTablePane); > @@ -289,12 +314,8 @@ public class CertificatePane extends JPa > private void repopulateTables() { > initializeKeyStore(); > readKeyStore(); > - DefaultTableModel tableModel = new DefaultTableModel(issuedToAndBy, columnNames); > - > - userTable.setModel(tableModel); > - > - tableModel = new DefaultTableModel(issuedToAndBy, columnNames); > - systemTable.setModel(tableModel); > + initializeCertificateTable(userTable); > + initializeCertificateTable(systemTable); +4! > } > > public void focusOnDefaultButton() { > Tahnx for getting rid of redundant code. If nothing else then this (and unittests? O:) Should definitely go in. Best regards and thanx for patch J. From bugzilla-daemon at icedtea.classpath.org Thu May 17 02:43:52 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 17 May 2012 09:43:52 +0000 Subject: [Bug 811] javaws is not handling urls with spaces (and other characters needing encoding) correctly In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=811 --- Comment #2 from JiriVanek --- prposed fix: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018529.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/7100f322/attachment.html From jvanek at redhat.com Thu May 17 02:45:43 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 11:45:43 +0200 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader - tests In-Reply-To: <4FB42921.6040109@redhat.com> References: <4FB42921.6040109@redhat.com> Message-ID: <4FB4C8C7.8060109@redhat.com> On 05/17/2012 12:24 AM, Danesh Dadachanji wrote: > Hi, I do not feel skilled enough to review this. Although as far as i walked through it looks very ok! > The attached patches make JNLPClassLoader use a global JCV to ensure we can actually check the app > is signed entirely by at least one common signer. Currently, the classloader does not maintain > verification of jars loaded upon main initialization vs jars loaded at runtime. Therefore, we are > not actually able to enforce an application to be signed entirely by one signer. > > The application may initially be signed entirely (i.e. all resources/archives specified have a > common signer) but then as classes are loaded at runtime (e.g. via manifest classpath), these are > not verified along with the original jars. A new JarCertVerifier is used to verify each set. > > I used an instance var per JNLPClassLoader to keep track of all the jars verified thus far. Each > JNLPClassLoader keeps track of its own app's jars so when JNLP extensions are specified, a new > JNLPClassLoader is created. This ensures there can be separate signers between different JNLPs. > > The current method to determine if a jar is signed completely was to check against > JarCertVerifier#anyJarSigned. This method is somewhat flawed. If any single entry is signed then > this method returns true. However, if one entry of a jar is signed and another unsigned, then the > jar is considered unsigned, as is the app as a whole. Therefore, I have included > JarCertVerifier#isFullySigned in the conditional as well to ensure the app is in fact fully signed. > > Another change is the removal of permission checking of nested jars. If the entry of the nested jar > is signed, then we should assume that the person signing the jar trusts it to do whatever it must. > The nested jar is given the same security context as its parent jar. > > I've extensively tested this against a combination of singed/unsigned entries in Please share those reproducers. They have to be tracked for regression. > resource/archive-specified/nested/manifest-classpath/extension jars using JNLPs, the applet tag, > javaws and jnlp_href, as well as many duplicate jars. I have also run through all the regression I think this changset do not belongs to 1.1. What is motivation for do so? > tests for HEAD, 1.2 and 1.1, everything ran fine. > ^ This is true reason of my reply. This changeset will need bunch of reproducers. They will be better even before the push of this changeset so I will be able to track they fix. Sorry for adding more work but it is really necessary. Also when I walked through code of JarCertVerifier, it looks like easily to be tempted by unnit tests. What do you think? Thanx again, J. From jvanek at redhat.com Thu May 17 02:50:31 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 11:50:31 +0200 Subject: [RFC][icedtea-web] Do not allow searching of jar manifest classpath if jnlp_href is being used In-Reply-To: <4FB430FF.8060201@redhat.com> References: <4FB430FF.8060201@redhat.com> Message-ID: <4FB4C9E7.4060607@redhat.com> On 05/17/2012 12:58 AM, Danesh Dadachanji wrote: > Hi, I think this is ok, but few hints: > Applets run by the plugin are allowed to specify classpaths in their jars' manifest files. IMO this > is fine for applets run via specifying a main class but this is not okay if they are run via > jnlp_href. When using a JNLP via javaws, you do not have access to manifest's classpaths. I believe > this is a property of JNLP files. Therefore, since jnlp_href points to a JNLP file to do the guide > the launching and resource tracking, I propose we ignore classpaths when the plugin runs using > jnlp_href. > > To note, the proprietary plugin allows classpath specified jars but I do not think this is correct > behaviour. Although I agree with you, I'm afraid we have to follow proprietary plugin wherever specification is not clear :-/. But I do not see this as blocker for this changeset. (eg this https://bugzilla.redhat.com/show_bug.cgi?id=816592 is nice example of brutality allowed in proprietary one:-/) > FWIW I've run through all the regression tests, none of them use this so far. Please - tests!!! And if before the fix then best! I really would lke to see reproducers before push. > > Is this okay to push to HEAD, 1.2 and 1.1? Are all three branches necessary? In this case I'm maybe just for head.. But 1.2 can live long enough to have this too (and your next work need this (?)). > > +2012-05-16 Danesh Dadachanji > + > + Classpaths in jars' manifests are only considered when the applet is run > + without using jnlp_href and a JNLP file. > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): > + Add conditional check for use of jnlp_href. > + > > There are no differences in the patches between HEAD, 1.2 and 1.1 so I've only attached one. > > Cheers, > Danesh > > PS: this patch is dependent on this backport[1] going into 1.1. > > [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018533.html Thanx a lot and sorry for sitting on tests :(( J. From ptisnovs at icedtea.classpath.org Thu May 17 05:41:00 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 17 May 2012 12:41:00 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/ClippingPathByRoundRe... Message-ID: changeset a629c44369cf in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a629c44369cf author: Pavel Tisnovsky date: Thu May 17 14:43:44 2012 +0200 * src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java | 240 ++++++++++ 2 files changed, 245 insertions(+), 0 deletions(-) diffs (262 lines): diff -r acbba33950fb -r a629c44369cf ChangeLog --- a/ChangeLog Wed May 16 14:17:39 2012 +0200 +++ b/ChangeLog Thu May 17 14:43:44 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-17 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java: + Added new tests to this test suite. + 2012-05-16 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java: diff -r acbba33950fb -r a629c44369cf src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java --- a/src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java Wed May 16 14:17:39 2012 +0200 +++ b/src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java Thu May 17 14:43:44 2012 +0200 @@ -871,6 +871,246 @@ } /** + * Check if line path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathByRoundRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if quadratic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipQuadraticPathByRoundRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawQuadraticPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if cubic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCubicPathByRoundRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCubicPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipClosedPathByRoundRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if crossed closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathByRoundRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCrossedClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathByRoundRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if quadratic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipQuadraticPathByRoundRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawQuadraticPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if cubic path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCubicPathByRoundRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCubicPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipClosedPathByRoundRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if crossed closed path could be clipped by a round rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathByRoundRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip round rectangle + CommonClippingOperations.renderClipRoundRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawCrossedClosedPathClippedByRoundRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args From bugzilla-daemon at icedtea.classpath.org Thu May 17 05:59:04 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 17 May 2012 12:59:04 +0000 Subject: [Bug 983] New: try to open app named zekr Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=983 Priority: P3 Bug ID: 983 Assignee: unassigned at icedtea.classpath.org Summary: try to open app named zekr Severity: normal Classification: Unclassified OS: Linux Reporter: abufahad25 at gmail.com Hardware: 32-bit Status: NEW Version: unspecified Component: IcedTea Product: IcedTea Created attachment 691 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=691&action=edit log pid # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x06543053, pid=19424, tid=3078474560 # # JRE version: 7.0 # Java VM: OpenJDK Client VM (22.0-b10 mixed mode linux-x86 ) # Problematic frame: # C [libxul.so+0xd5d053] NS_InvokeByIndex_P+0x603f # # Core dump written. Default location: /home/syse8-/Downloads/zekr/core or core.19424 # # An error report file with more information is saved as: # /home/syse8-/Downloads/zekr/hs_err_pid19424.log # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # Aborted (core dumped) -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/acccd4af/attachment.html From adomurad at redhat.com Thu May 17 06:38:04 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 17 May 2012 09:38:04 -0400 (EDT) Subject: [RFC][IcedTeaWeb] Lexicographical sorting toggle for certificates in IcedTeaWebSettings In-Reply-To: <4FB4BF3E.4070805@redhat.com> Message-ID: <81eebf9c-5682-4a9f-a45c-daa6d711b9d4@zmail19.collab.prod.int.phx2.redhat.com> Thanks for the reply & review! Upon consideration, I agree 100%. I was told to attempt to sort the certificates but admittedly I took a rather naive approach. I like your suggestions on filtering & a sort toggle button, and I'll take the time to implement them soon. From ptisnovs at redhat.com Thu May 17 06:48:46 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 17 May 2012 15:48:46 +0200 Subject: [rfc] [icedtea-web] fix for PR811 In-Reply-To: <4FB3D6D2.9010600@redhat.com> References: <4FB3BBF0.2040404@redhat.com> <4FB3C113.30308@redhat.com> <4FB3D6D2.9010600@redhat.com> Message-ID: <4FB501BE.2040501@redhat.com> Jiri Vanek wrote: > On 05/16/2012 05:00 PM, Pavel Tisnovsky wrote: >> Hi Jiri, >> >> just a quick shove: >> >> protocol.equals("file") >> >> should be "file".equals(protocol) >> > > Shame on me!!!-DDD > > fixed patch attached. There was actually one more improvement needed. > > So You are an voulnteer to review both fix and tests? Thanx a lot! But well I'll try! Below are my comments: > be very carefull. I'm afraid URL of resources is one of basic stones in > netx. I have tried really a lot to figure what everything is affected by > this change, and it looks like all. And there are dark corners in netx;) > > > Thanx a lot again - J. > diff -r 8c9b71e1db03 NEWS --- a/NEWS Fri May 11 21:33:54 2012 +0200 +++ b/NEWS Wed May 16 18:29:32 2012 +0200 @@ -11,6 +11,7 @@ New in release 1.3 (2012-XX-XX): * NetX - PR898: signed applications with big jnlp-file doesn't start (webstart affect like "frozen") + - PR811: javaws is not handling urls with spaces (and other characters needing encoding) correctly * Plugin - PR820: IcedTea-Web 1.1.3 crashing Firefox when loading Citrix XenApp - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass diff -r 8c9b71e1db03 netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri May 11 21:33:54 2012 +0200 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Wed May 16 18:29:32 2012 +0200 @@ -66,17 +66,29 @@ if (u1 == null || u2 == null) return false; - if (!compare(u1.getProtocol(), u2.getProtocol(), true) || - !compare(u1.getHost(), u2.getHost(), true) || - //u1.getDefaultPort() != u2.getDefaultPort() || // only in 1.4 - !compare(u1.getPath(), u2.getPath(), false) || - !compare(u1.getQuery(), u2.getQuery(), false) || - !compare(u1.getRef(), u2.getRef(), false)) - return false; - else - return true; + if (notNullUrlEquals(u1, u2)) return true; + try{ + URL nu1=ResourceTracker.normalizeUrl(u1, false); + URL nu2=ResourceTracker.normalizeUrl(u2, false); + if (notNullUrlEquals(nu1, nu2)) return true; Looks like there's a problem with: 1) indentation (in the try block) 2) spaces should be used around = assignment + }catch(Exception ex){ dtto spaces + //keep sielnt here and return false + } + return false; } + private static boolean notNullUrlEquals(URL u1, URL u2) { + if (!compare(u1.getProtocol(), u2.getProtocol(), true) + || !compare(u1.getHost(), u2.getHost(), true) + || //u1.getDefaultPort() != u2.getDefaultPort() || // only in 1.4 + !compare(u1.getPath(), u2.getPath(), false) + || !compare(u1.getQuery(), u2.getQuery(), false) + || !compare(u1.getRef(), u2.getRef(), false)) { + return false; + } else { + return true; + } + } /** * Caches a resource and returns a URL for it in the cache; * blocks until resource is cached. If the resource location is diff -r 8c9b71e1db03 netx/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Fri May 11 21:33:54 2012 +0200 +++ b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Wed May 16 18:29:32 2012 +0200 @@ -24,10 +24,13 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; +import java.net.URLDecoder; +import java.net.URLEncoder; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; @@ -173,7 +176,12 @@ public void addResource(URL location, Version version, DownloadOptions options, UpdatePolicy updatePolicy) { if (location == null) throw new IllegalArgumentException("location==null"); - + try{ + location=normalizeUrl(location, JNLPRuntime.isDebug()); dtto ;-) + }catch(Exception ex){ + System.err.println("Normalization of "+location.toString()+" have failed"); + ex.printStackTrace(); + } Resource resource = Resource.getResource(location, version, updatePolicy); boolean downloaded = false; @@ -1127,4 +1135,71 @@ } }; + public static URL normalizeUrl(URL u, boolean debug) throws MalformedURLException, UnsupportedEncodingException { + if (u == null) { + return null; + } + String protocol = u.getProtocol(); + if (protocol==null || "file".equals(protocol)) { + return u; + } + String host = u.getHost(); + String query = u.getQuery(); + String ref = u.getRef(); + int port = u.getPort(); + String file = u.getPath(); I'm not sure if it could or could not be null, in this case NPE should occured on following lines + String[] ss = file.split("/"); + int normalized = 0; + if (debug) { + System.out.println("normalizng " + file + " in " + u.toString()); normalizng -> normalizing + } + for (int i = 0; i < ss.length; i++) { + String base = ss[i]; + String ssE = URLDecoder.decode(base, "utf-8"); +// System.out.println("*" + base + "*"); +// System.out.println("-" + ssE + "-"); + if (base.equals(ssE)) { + ss[i] = URLEncoder.encode(base, "utf-8"); + if (!ss[i].equals(base)) { + normalized++; + } + if (debug) { + System.out.println(base + " chunk Needs to be encoded => " + ss[i]); Needs->lowercase + } + ss[i] = URLEncoder.encode(base, "utf-8"); + } else { + if (debug) { + System.out.println(base + " chunk already encoded"); + } + } + + } + if (normalized == 0) { + if (debug) { + System.out.println("Nothing was normalized in this url"); + } + return u; + } + StringBuilder composed = new StringBuilder(""); I'm not 100% sure about following code. At least it is IMHO better to use characters instead of one-characters strings and refactor these magical constants into final fields - PATH_SEPARATOR, QUERY_SEPARATOR etc. etc. Btw is it really working for all characters - ie. the ones outside of ASCII? + for (int i = 0; i < ss.length; i++) { + String string = ss[i]; + composed.append("/").append(string); + } + String composed1 = composed.toString(); + if (query != null && !query.trim().equals("")) { + composed.append("?").append(query); + } + if (ref != null && !ref.trim().equals("")) { + composed.append("#").append(ref); + } + + URL result = new URL(protocol, host, port, composed.toString()); + + if (debug) { + System.out.println("normalized " + composed1 + " in " + result.toString()); + } + return result; + + } + } From dbhole at redhat.com Thu May 17 08:38:26 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 11:38:26 -0400 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader In-Reply-To: <4FB42921.6040109@redhat.com> References: <4FB42921.6040109@redhat.com> Message-ID: <20120517153826.GR21272@redhat.com> * Danesh Dadachanji [2012-05-16 18:33]: > Hi, > > The attached patches make JNLPClassLoader use a global JCV to ensure > we can actually check the app is signed entirely by at least one > common signer. Currently, the classloader does not maintain > verification of jars loaded upon main initialization vs jars loaded > at runtime. Therefore, we are not actually able to enforce an > application to be signed entirely by one signer. > > The application may initially be signed entirely (i.e. all > resources/archives specified have a common signer) but then as > classes are loaded at runtime (e.g. via manifest classpath), these > are not verified along with the original jars. A new JarCertVerifier > is used to verify each set. > > I used an instance var per JNLPClassLoader to keep track of all the > jars verified thus far. Each JNLPClassLoader keeps track of its own > app's jars so when JNLP extensions are specified, a new > JNLPClassLoader is created. This ensures there can be separate > signers between different JNLPs. > > The current method to determine if a jar is signed completely was to > check against JarCertVerifier#anyJarSigned. This method is somewhat > flawed. If any single entry is signed then this method returns true. > However, if one entry of a jar is signed and another unsigned, then > the jar is considered unsigned, as is the app as a whole. Therefore, > I have included JarCertVerifier#isFullySigned in the conditional as > well to ensure the app is in fact fully signed. > > Another change is the removal of permission checking of nested jars. > If the entry of the nested jar is signed, then we should assume that > the person signing the jar trusts it to do whatever it must. The > nested jar is given the same security context as its parent jar. > > I've extensively tested this against a combination of > singed/unsigned entries in > resource/archive-specified/nested/manifest-classpath/extension jars > using JNLPs, the applet tag, javaws and jnlp_href, as well as many > duplicate jars. I have also run through all the regression tests for > HEAD, 1.2 and 1.1, everything ran fine. > > I propose the following patches to HEAD, 1.2 and 1.1. I see nothing immediately wrong. However this patch will now allow applets to have different signers -- I take it that is expected and that this patch only removes individual verifiers and collapses them to 1 per loader? Cheers, Deepak > > ChangeLog: (s/JarCertVerifier/JarSigner/g for release branches) > +2012-05-16 Danesh Dadachanji > + > + Use a global JarCertVerifier in the classloader to keep track of every > + jar that has been verified. > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > + (addNewJar), (initializeResources), (verifySignedJNLP): > + Replaced use of local JarCertVerifier variable with the instance variable. > + Added calls to isFullySigned wherever signer verification is done. > + (activateJars): No longer verifies nested jars. These receive the same > + security permissions as their parent jar, regardless of the nested > + jar's signing. > + (verifyJars): Removed. > + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: > + (add): New public method that resets some instance vars and > + calls verifyJars. > + (verifyJars): Modifier changed to private, above method should be used. > + (isFullySignedByASingleCert): renamed to isFullySigned. > + > > A note for 1.1, it does not have the changeset that brought in > verification of a signed JNLP as a jar entry so those 2 hunks are > removed. Also, 1.1 and 1.2 are still using JarSigner instead of > JarCertVerifier so I have accounted for that. Apart from these, the > patches are identical in logic. All three patches attached. > > Any and all comments much appreciated! Please especially ask of a testcase if you have one in mind. > > Cheers, > Danesh > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -151,7 +151,7 @@ public class JNLPClassLoader extends URL > private ArrayList unverifiedJars = null; > > /** the jar cert verifier tool to verify our jars */ > - private JarCertVerifier jcv = null; > + private final JarCertVerifier jcv = new JarCertVerifier(); > > private boolean signing = false; > > @@ -469,11 +469,10 @@ public class JNLPClassLoader extends URL > > if (JNLPRuntime.isVerifying()) { > > - JarCertVerifier jcv; > waitForJars(initialJars); //download the jars first. > > try { > - jcv = verifyJars(initialJars); > + jcv.add(initialJars, tracker); > } catch (Exception e) { > //we caught an Exception from the JarCertVerifier class. > //Note: one of these exceptions could be from not being able > @@ -484,7 +483,7 @@ public class JNLPClassLoader extends URL > } > > //Case when at least one jar has some signing > - if (jcv.anyJarsSigned() && jcv.isFullySignedByASingleCert()) { > + if (jcv.anyJarsSigned() && jcv.isFullySigned()) { > signing = true; > > if (!jcv.allJarsSigned() && > @@ -700,7 +699,6 @@ public class JNLPClassLoader extends URL > private void verifySignedJNLP(JARDesc jarDesc, JarFile jarFile) > throws LaunchException { > > - JarCertVerifier signer = new JarCertVerifier(); > List desc = new ArrayList(); > desc.add(jarDesc); > > @@ -711,9 +709,7 @@ public class JNLPClassLoader extends URL > InputStreamReader jnlpReader = null; > > try { > - signer.verifyJars(desc, tracker); > - > - if (signer.allJarsSigned()) { // If the jar is signed > + if (jcv.isFullySigned()) { // If the jar is signed > > Enumeration entries = jarFile.entries(); > JarEntry je; > @@ -1031,15 +1027,25 @@ public class JNLPClassLoader extends URL > continue; > } > > - JarCertVerifier signer = new JarCertVerifier(); > - List jars = new ArrayList(); > - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); > - jars.add(jarDesc); > tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); > - signer.verifyJars(jars, tracker); > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + URL codebase = file.getCodeBase(); > + if (codebase == null) { > + //FIXME: codebase should be the codebase of the Main Jar not > + //the location. Although, it still works in the current state. > + codebase = file.getResources().getMainJAR().getLocation(); > + } > + > + SecurityDesc jarSecurity = null; > + if (jcv.isFullySigned()) { > + // Already trust application, nested jar should be given > + jarSecurity = new SecurityDesc(file, > + SecurityDesc.ALL_PERMISSIONS, > + codebase.getHost()); > + } else { > + jarSecurity = new SecurityDesc(file, > + SecurityDesc.SANDBOX_PERMISSIONS, > + codebase.getHost()); > } > > try { > @@ -1049,25 +1055,6 @@ public class JNLPClassLoader extends URL > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > addURL(fakeRemote); > > - SecurityDesc jarSecurity = file.getSecurity(); > - > - if (file instanceof PluginBridge) { > - > - URL codebase = null; > - > - if (file.getCodeBase() != null) { > - codebase = file.getCodeBase(); > - } else { > - //Fixme: codebase should be the codebase of the Main Jar not > - //the location. Although, it still works in the current state. > - codebase = file.getResources().getMainJAR().getLocation(); > - } > - > - jarSecurity = new SecurityDesc(file, > - SecurityDesc.ALL_PERMISSIONS, > - codebase.getHost()); > - } > - > jarLocationSecurityMap.put(fakeRemote, jarSecurity); > > } catch (MalformedURLException mfue) { > @@ -1276,18 +1263,6 @@ public class JNLPClassLoader extends URL > } > > /** > - * Verifies code signing of jars to be used. > - * > - * @param jars the jars to be verified. > - */ > - private JarCertVerifier verifyJars(List jars) throws Exception { > - > - jcv = new JarCertVerifier(); > - jcv.verifyJars(jars, tracker); > - return jcv; > - } > - > - /** > * Find the loaded class in this loader or any of its extension loaders. > */ > protected Class findLoadedClassAll(String name) { > @@ -1442,7 +1417,6 @@ public class JNLPClassLoader extends URL > > // Verify if needed > > - final JarCertVerifier signer = new JarCertVerifier(); > final List jars = new ArrayList(); > jars.add(desc); > > @@ -1454,14 +1428,14 @@ public class JNLPClassLoader extends URL > > AccessController.doPrivileged(new PrivilegedExceptionAction() { > public Void run() throws Exception { > - signer.verifyJars(jars, tracker); > + jcv.add(jars, tracker); > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + if (jcv.anyJarsSigned() && jcv.isFullySigned() && !jcv.getAlreadyTrustPublisher()) { > + checkTrustWithUser(jcv); > } > > final SecurityDesc security; > - if (signer.anyJarsSigned()) { > + if (jcv.anyJarsSigned() && jcv.isFullySigned()) { > security = new SecurityDesc(file, > SecurityDesc.ALL_PERMISSIONS, > file.getCodeBase().getHost()); > diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > --- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > @@ -90,10 +90,10 @@ public class JarCertVerifier implements > private boolean anyJarsSigned = false; > > /** all of the jar files that were verified */ > - private ArrayList verifiedJars = null; > + private ArrayList verifiedJars = new ArrayList(); > > /** all of the jar files that were not verified */ > - private ArrayList unverifiedJars = null; > + private ArrayList unverifiedJars = new ArrayList(); > > /** the certificates used for jar verification */ > private HashMap certs = new HashMap(); > @@ -165,7 +165,7 @@ public class JarCertVerifier implements > * > * @return Whether or not all entries have a common signer > */ > - public boolean isFullySignedByASingleCert() { > + public boolean isFullySigned() { > > for (CertPath cPath : certs.keySet()) { > // If this cert has signed everything, return true > @@ -177,11 +177,27 @@ public class JarCertVerifier implements > return false; > } > > - public void verifyJars(List jars, ResourceTracker tracker) > + /** > + * Update the verifier to consider new jars when verifying. > + * @param jars List of new jars to be verified. > + * @param tracker Resource tracker used to obtain the the jars from cache > + * @throws Exception Caused by issues with obtaining the jars' entries or > + * interacting with the tracker. > + */ > + public void add(List jars, ResourceTracker tracker) > throws Exception { > + // Reset the vars that need to be updated again during verification. > + certPath = null; > + alreadyTrustPublisher = false; > + rootInCacerts = false; > + details.remove(R("SUntrustedCertificate")); > + details.remove(R("STrustedCertificate")); > > - verifiedJars = new ArrayList(); > - unverifiedJars = new ArrayList(); > + verifyJars(jars, tracker); > + } > + > + private void verifyJars(List jars, ResourceTracker tracker) > + throws Exception { > > for (int i = 0; i < jars.size(); i++) { > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -137,7 +137,7 @@ public class JNLPClassLoader extends URL > private ArrayList unverifiedJars = null; > > /** the jarsigner tool to verify our jars */ > - private JarSigner js = null; > + private final JarSigner js = new JarSigner(); > > private boolean signing = false; > > @@ -437,11 +437,10 @@ public class JNLPClassLoader extends URL > > if (JNLPRuntime.isVerifying()) { > > - JarSigner js; > waitForJars(initialJars); //download the jars first. > > try { > - js = verifyJars(initialJars); > + js.add(initialJars, tracker); > } catch (Exception e) { > //we caught an Exception from the JarSigner class. > //Note: one of these exceptions could be from not being able > @@ -452,7 +451,7 @@ public class JNLPClassLoader extends URL > } > > //Case when at least one jar has some signing > - if (js.anyJarsSigned() && js.isFullySignedByASingleCert()) { > + if (js.anyJarsSigned() && js.isFullySigned()) { > signing = true; > > if (!js.allJarsSigned() && > @@ -721,15 +720,25 @@ public class JNLPClassLoader extends URL > continue; > } > > - JarSigner signer = new JarSigner(); > - List jars = new ArrayList(); > - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); > - jars.add(jarDesc); > tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); > - signer.verifyJars(jars, tracker); > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + URL codebase = file.getCodeBase(); > + if (codebase == null) { > + //FIXME: codebase should be the codebase of the Main Jar not > + //the location. Although, it still works in the current state. > + codebase = file.getResources().getMainJAR().getLocation(); > + } > + > + SecurityDesc jarSecurity = null; > + if (js.isFullySigned()) { > + // Already trust application, nested jar should be given > + jarSecurity = new SecurityDesc(file, > + SecurityDesc.ALL_PERMISSIONS, > + codebase.getHost()); > + } else { > + jarSecurity = new SecurityDesc(file, > + SecurityDesc.SANDBOX_PERMISSIONS, > + codebase.getHost()); > } > > try { > @@ -739,25 +748,6 @@ public class JNLPClassLoader extends URL > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > addURL(fakeRemote); > > - SecurityDesc jarSecurity = file.getSecurity(); > - > - if (file instanceof PluginBridge) { > - > - URL codebase = null; > - > - if (file.getCodeBase() != null) { > - codebase = file.getCodeBase(); > - } else { > - //Fixme: codebase should be the codebase of the Main Jar not > - //the location. Although, it still works in the current state. > - codebase = file.getResources().getMainJAR().getLocation(); > - } > - > - jarSecurity = new SecurityDesc(file, > - SecurityDesc.ALL_PERMISSIONS, > - codebase.getHost()); > - } > - > jarLocationSecurityMap.put(fakeRemote, jarSecurity); > > } catch (MalformedURLException mfue) { > @@ -966,18 +956,6 @@ public class JNLPClassLoader extends URL > } > > /** > - * Verifies code signing of jars to be used. > - * > - * @param jars the jars to be verified. > - */ > - private JarSigner verifyJars(List jars) throws Exception { > - > - js = new JarSigner(); > - js.verifyJars(jars, tracker); > - return js; > - } > - > - /** > * Find the loaded class in this loader or any of its extension loaders. > */ > protected Class findLoadedClassAll(String name) { > @@ -1132,7 +1110,6 @@ public class JNLPClassLoader extends URL > > // Verify if needed > > - final JarSigner signer = new JarSigner(); > final List jars = new ArrayList(); > jars.add(desc); > > @@ -1144,14 +1121,14 @@ public class JNLPClassLoader extends URL > > AccessController.doPrivileged(new PrivilegedExceptionAction() { > public Void run() throws Exception { > - signer.verifyJars(jars, tracker); > + js.add(jars, tracker); > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + if (js.anyJarsSigned() && js.isFullySigned() && !js.getAlreadyTrustPublisher()) { > + checkTrustWithUser(js); > } > > final SecurityDesc security; > - if (signer.anyJarsSigned()) { > + if (js.anyJarsSigned() && js.isFullySigned()) { > security = new SecurityDesc(file, > SecurityDesc.ALL_PERMISSIONS, > file.getCodeBase().getHost()); > diff --git a/netx/net/sourceforge/jnlp/tools/JarSigner.java b/netx/net/sourceforge/jnlp/tools/JarSigner.java > --- a/netx/net/sourceforge/jnlp/tools/JarSigner.java > +++ b/netx/net/sourceforge/jnlp/tools/JarSigner.java > @@ -90,10 +90,10 @@ public class JarSigner implements CertVe > private boolean anyJarsSigned = false; > > /** all of the jar files that were verified */ > - private ArrayList verifiedJars = null; > + private ArrayList verifiedJars = new ArrayList(); > > /** all of the jar files that were not verified */ > - private ArrayList unverifiedJars = null; > + private ArrayList unverifiedJars = new ArrayList(); > > /** the certificates used for jar verification */ > private HashMap certs = new HashMap(); > @@ -165,7 +165,7 @@ public class JarSigner implements CertVe > * > * @return Whether or not all entries have a common signer > */ > - public boolean isFullySignedByASingleCert() { > + public boolean isFullySigned() { > > for (CertPath cPath : certs.keySet()) { > // If this cert has signed everything, return true > @@ -177,11 +177,27 @@ public class JarSigner implements CertVe > return false; > } > > - public void verifyJars(List jars, ResourceTracker tracker) > + /** > + * Update the verifier to consider new jars when verifying. > + * @param jars List of new jars to be verified. > + * @param tracker Resource tracker used to obtain the the jars from cache > + * @throws Exception Caused by issues with obtaining the jars' entries or > + * interacting with the tracker. > + */ > + public void add(List jars, ResourceTracker tracker) > throws Exception { > + // Reset the vars that need to be updated again during verification. > + certPath = null; > + alreadyTrustPublisher = false; > + rootInCacerts = false; > + details.remove(R("SUntrustedCertificate")); > + details.remove(R("STrustedCertificate")); > > - verifiedJars = new ArrayList(); > - unverifiedJars = new ArrayList(); > + verifyJars(jars, tracker); > + } > + > + private void verifyJars(List jars, ResourceTracker tracker) > + throws Exception { > > for (int i = 0; i < jars.size(); i++) { > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -137,7 +137,7 @@ public class JNLPClassLoader extends URL > private ArrayList unverifiedJars = null; > > /** the jarsigner tool to verify our jars */ > - private JarSigner js = null; > + private final JarSigner js = new JarSigner(); > > private boolean signing = false; > > @@ -437,11 +437,10 @@ public class JNLPClassLoader extends URL > > if (JNLPRuntime.isVerifying()) { > > - JarSigner js; > waitForJars(initialJars); //download the jars first. > > try { > - js = verifyJars(initialJars); > + js.add(initialJars, tracker); > } catch (Exception e) { > //we caught an Exception from the JarSigner class. > //Note: one of these exceptions could be from not being able > @@ -452,7 +451,7 @@ public class JNLPClassLoader extends URL > } > > //Case when at least one jar has some signing > - if (js.anyJarsSigned() && js.isFullySignedByASingleCert()) { > + if (js.anyJarsSigned() && js.isFullySigned()) { > signing = true; > > if (!js.allJarsSigned() && > @@ -721,15 +720,25 @@ public class JNLPClassLoader extends URL > continue; > } > > - JarSigner signer = new JarSigner(); > - List jars = new ArrayList(); > - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); > - jars.add(jarDesc); > tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); > - signer.verifyJars(jars, tracker); > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + URL codebase = file.getCodeBase(); > + if (codebase == null) { > + //FIXME: codebase should be the codebase of the Main Jar not > + //the location. Although, it still works in the current state. > + codebase = file.getResources().getMainJAR().getLocation(); > + } > + > + SecurityDesc jarSecurity = null; > + if (js.isFullySigned()) { > + // Already trust application, nested jar should be given > + jarSecurity = new SecurityDesc(file, > + SecurityDesc.ALL_PERMISSIONS, > + codebase.getHost()); > + } else { > + jarSecurity = new SecurityDesc(file, > + SecurityDesc.SANDBOX_PERMISSIONS, > + codebase.getHost()); > } > > try { > @@ -739,25 +748,6 @@ public class JNLPClassLoader extends URL > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > addURL(fakeRemote); > > - SecurityDesc jarSecurity = file.getSecurity(); > - > - if (file instanceof PluginBridge) { > - > - URL codebase = null; > - > - if (file.getCodeBase() != null) { > - codebase = file.getCodeBase(); > - } else { > - //Fixme: codebase should be the codebase of the Main Jar not > - //the location. Although, it still works in the current state. > - codebase = file.getResources().getMainJAR().getLocation(); > - } > - > - jarSecurity = new SecurityDesc(file, > - SecurityDesc.ALL_PERMISSIONS, > - codebase.getHost()); > - } > - > jarLocationSecurityMap.put(fakeRemote, jarSecurity); > > } catch (MalformedURLException mfue) { > @@ -966,18 +956,6 @@ public class JNLPClassLoader extends URL > } > > /** > - * Verifies code signing of jars to be used. > - * > - * @param jars the jars to be verified. > - */ > - private JarSigner verifyJars(List jars) throws Exception { > - > - js = new JarSigner(); > - js.verifyJars(jars, tracker); > - return js; > - } > - > - /** > * Find the loaded class in this loader or any of its extension loaders. > */ > protected Class findLoadedClassAll(String name) { > @@ -1132,7 +1110,6 @@ public class JNLPClassLoader extends URL > > // Verify if needed > > - final JarSigner signer = new JarSigner(); > final List jars = new ArrayList(); > jars.add(desc); > > @@ -1144,14 +1121,14 @@ public class JNLPClassLoader extends URL > > AccessController.doPrivileged(new PrivilegedExceptionAction() { > public Void run() throws Exception { > - signer.verifyJars(jars, tracker); > + js.add(jars, tracker); > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > - checkTrustWithUser(signer); > + if (js.anyJarsSigned() && js.isFullySigned() && !js.getAlreadyTrustPublisher()) { > + checkTrustWithUser(js); > } > > final SecurityDesc security; > - if (signer.anyJarsSigned()) { > + if (js.anyJarsSigned() && js.isFullySigned()) { > security = new SecurityDesc(file, > SecurityDesc.ALL_PERMISSIONS, > file.getCodeBase().getHost()); > diff --git a/netx/net/sourceforge/jnlp/tools/JarSigner.java b/netx/net/sourceforge/jnlp/tools/JarSigner.java > --- a/netx/net/sourceforge/jnlp/tools/JarSigner.java > +++ b/netx/net/sourceforge/jnlp/tools/JarSigner.java > @@ -90,10 +90,10 @@ public class JarSigner implements CertVe > private boolean anyJarsSigned = false; > > /** all of the jar files that were verified */ > - private ArrayList verifiedJars = null; > + private ArrayList verifiedJars = new ArrayList(); > > /** all of the jar files that were not verified */ > - private ArrayList unverifiedJars = null; > + private ArrayList unverifiedJars = new ArrayList(); > > /** the certificates used for jar verification */ > private HashMap certs = new HashMap(); > @@ -165,7 +165,7 @@ public class JarSigner implements CertVe > * > * @return Whether or not all entries have a common signer > */ > - public boolean isFullySignedByASingleCert() { > + public boolean isFullySigned() { > > for (CertPath cPath : certs.keySet()) { > // If this cert has signed everything, return true > @@ -177,11 +177,27 @@ public class JarSigner implements CertVe > return false; > } > > - public void verifyJars(List jars, ResourceTracker tracker) > + /** > + * Update the verifier to consider new jars when verifying. > + * @param jars List of new jars to be verified. > + * @param tracker Resource tracker used to obtain the the jars from cache > + * @throws Exception Caused by issues with obtaining the jars' entries or > + * interacting with the tracker. > + */ > + public void add(List jars, ResourceTracker tracker) > throws Exception { > + // Reset the vars that need to be updated again during verification. > + certPath = null; > + alreadyTrustPublisher = false; > + rootInCacerts = false; > + details.remove(R("SUntrustedCertificate")); > + details.remove(R("STrustedCertificate")); > > - verifiedJars = new ArrayList(); > - unverifiedJars = new ArrayList(); > + verifyJars(jars, tracker); > + } > + > + private void verifyJars(List jars, ResourceTracker tracker) > + throws Exception { > > for (int i = 0; i < jars.size(); i++) { > From dbhole at redhat.com Thu May 17 08:47:42 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 11:47:42 -0400 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FB4B60C.1060705@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> Message-ID: <20120517154741.GS21272@redhat.com> * Jiri Vanek [2012-05-17 04:25]: > On 05/16/2012 06:58 PM, Deepak Bhole wrote: > >* Jiri Vanek [2012-05-11 08:52]: > >>On 05/11/2012 02:26 PM, Andrew Hughes wrote: > >>> > >>>----- Original Message ----- > >>>>> On 05/11/2012 01:25 PM, Andrew Hughes wrote: > >>>>>> > ----- Original Message ----- > >>>>>>> >> Hi Andrew, I just realized that I forgot to send opera;firefox... > >>>>>>> >> string to code coverage. This > >>>>>>> >> patch is add-one-line boosted makeLInks3 i sent few hours ago. > >>>>>>> >> Thanx > >>>>>>> >> and sorry > >>>>>>> >> J. > >>>>>>> >> > >>>>>> > > >>>>>> > There are still two issues here: > >>>>>> > > >>>>>> > 1. Simple typo: "backuped" should be "backed up" > >>>>> Sure. will be fixed > >> :-O F I X E D O:-) > >>> > >>>>>> > 2. It's still expecting the plugin to be in > >>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > >>>>>> > the final install location. It needs to link to to the copy in the > >>>>>> > build directory. > >>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers > >>>>> tests are run against $(DESTDIR). > >>>Then they are wrong too. I should be able to check it works before I > >>>commit to installing it on my system. > >> > >>Well they are reproducers, they expect to be run on installed stuff. > >> > > > >Is it possible to make them run without installation at all? e.g. > >firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH > > Yes. And even link from mozilla-fs can be easily targeted to > builddir. It is not an blocker. There are two different issues: > > 1 - design) the concept is to test installed application > 2 - implementation) [here I can be wrong, but I believe I'm not] > inside javaws (not relevant but..) and inside IcedTeaPlugin.so are > harcoded paths to installdir jars of netx. So To make it work form > builddir I have to make build just for testing, what I believe is > contra productive. So if I will link library from buildddir, it will > still be necessary to have installed application (and so have jars > in install dir where the so file is searching for them). I think > that any hacking around to make it work is much worser then have > installed application before reproducers runs. > Can we do a fake install somewhere and run tests through there? My only concern here is that if all I want to do is run tests, I am forced to either consciously make sure I don't specify a system install prefix, or to overwrite what is on the system already. Cheers, Deepak > > > > >Cheers, > >Deepak > > > >>ok now? > >>> > >>>>>> > > > >Thanx for review! > > Thanx again for clarifying! > > > J. From dbhole at redhat.com Thu May 17 08:54:19 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 11:54:19 -0400 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader In-Reply-To: <20120517153826.GR21272@redhat.com> References: <4FB42921.6040109@redhat.com> <20120517153826.GR21272@redhat.com> Message-ID: <20120517155418.GT21272@redhat.com> * Deepak Bhole [2012-05-17 11:38]: > * Danesh Dadachanji [2012-05-16 18:33]: > > Hi, > > > > The attached patches make JNLPClassLoader use a global JCV to ensure > > we can actually check the app is signed entirely by at least one > > common signer. Currently, the classloader does not maintain > > verification of jars loaded upon main initialization vs jars loaded > > at runtime. Therefore, we are not actually able to enforce an > > application to be signed entirely by one signer. > > > > The application may initially be signed entirely (i.e. all > > resources/archives specified have a common signer) but then as > > classes are loaded at runtime (e.g. via manifest classpath), these > > are not verified along with the original jars. A new JarCertVerifier > > is used to verify each set. > > > > I used an instance var per JNLPClassLoader to keep track of all the > > jars verified thus far. Each JNLPClassLoader keeps track of its own > > app's jars so when JNLP extensions are specified, a new > > JNLPClassLoader is created. This ensures there can be separate > > signers between different JNLPs. > > > > The current method to determine if a jar is signed completely was to > > check against JarCertVerifier#anyJarSigned. This method is somewhat > > flawed. If any single entry is signed then this method returns true. > > However, if one entry of a jar is signed and another unsigned, then > > the jar is considered unsigned, as is the app as a whole. Therefore, > > I have included JarCertVerifier#isFullySigned in the conditional as > > well to ensure the app is in fact fully signed. > > > > Another change is the removal of permission checking of nested jars. > > If the entry of the nested jar is signed, then we should assume that > > the person signing the jar trusts it to do whatever it must. The > > nested jar is given the same security context as its parent jar. > > > > I've extensively tested this against a combination of > > singed/unsigned entries in > > resource/archive-specified/nested/manifest-classpath/extension jars > > using JNLPs, the applet tag, javaws and jnlp_href, as well as many > > duplicate jars. I have also run through all the regression tests for > > HEAD, 1.2 and 1.1, everything ran fine. > > > > I propose the following patches to HEAD, 1.2 and 1.1. > > I see nothing immediately wrong. However this patch will now allow s/now/not > applets to have different signers -- I take it that is expected and that > this patch only removes individual verifiers and collapses them to 1 per > loader? > > Cheers, > Deepak > > > > > ChangeLog: (s/JarCertVerifier/JarSigner/g for release branches) > > +2012-05-16 Danesh Dadachanji > > + > > + Use a global JarCertVerifier in the classloader to keep track of every > > + jar that has been verified. > > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > + (addNewJar), (initializeResources), (verifySignedJNLP): > > + Replaced use of local JarCertVerifier variable with the instance variable. > > + Added calls to isFullySigned wherever signer verification is done. > > + (activateJars): No longer verifies nested jars. These receive the same > > + security permissions as their parent jar, regardless of the nested > > + jar's signing. > > + (verifyJars): Removed. > > + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: > > + (add): New public method that resets some instance vars and > > + calls verifyJars. > > + (verifyJars): Modifier changed to private, above method should be used. > > + (isFullySignedByASingleCert): renamed to isFullySigned. > > + > > > > A note for 1.1, it does not have the changeset that brought in > > verification of a signed JNLP as a jar entry so those 2 hunks are > > removed. Also, 1.1 and 1.2 are still using JarSigner instead of > > JarCertVerifier so I have accounted for that. Apart from these, the > > patches are identical in logic. All three patches attached. > > > > Any and all comments much appreciated! Please especially ask of a testcase if you have one in mind. > > > > Cheers, > > Danesh > > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > @@ -151,7 +151,7 @@ public class JNLPClassLoader extends URL > > private ArrayList unverifiedJars = null; > > > > /** the jar cert verifier tool to verify our jars */ > > - private JarCertVerifier jcv = null; > > + private final JarCertVerifier jcv = new JarCertVerifier(); > > > > private boolean signing = false; > > > > @@ -469,11 +469,10 @@ public class JNLPClassLoader extends URL > > > > if (JNLPRuntime.isVerifying()) { > > > > - JarCertVerifier jcv; > > waitForJars(initialJars); //download the jars first. > > > > try { > > - jcv = verifyJars(initialJars); > > + jcv.add(initialJars, tracker); > > } catch (Exception e) { > > //we caught an Exception from the JarCertVerifier class. > > //Note: one of these exceptions could be from not being able > > @@ -484,7 +483,7 @@ public class JNLPClassLoader extends URL > > } > > > > //Case when at least one jar has some signing > > - if (jcv.anyJarsSigned() && jcv.isFullySignedByASingleCert()) { > > + if (jcv.anyJarsSigned() && jcv.isFullySigned()) { > > signing = true; > > > > if (!jcv.allJarsSigned() && > > @@ -700,7 +699,6 @@ public class JNLPClassLoader extends URL > > private void verifySignedJNLP(JARDesc jarDesc, JarFile jarFile) > > throws LaunchException { > > > > - JarCertVerifier signer = new JarCertVerifier(); > > List desc = new ArrayList(); > > desc.add(jarDesc); > > > > @@ -711,9 +709,7 @@ public class JNLPClassLoader extends URL > > InputStreamReader jnlpReader = null; > > > > try { > > - signer.verifyJars(desc, tracker); > > - > > - if (signer.allJarsSigned()) { // If the jar is signed > > + if (jcv.isFullySigned()) { // If the jar is signed > > > > Enumeration entries = jarFile.entries(); > > JarEntry je; > > @@ -1031,15 +1027,25 @@ public class JNLPClassLoader extends URL > > continue; > > } > > > > - JarCertVerifier signer = new JarCertVerifier(); > > - List jars = new ArrayList(); > > - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); > > - jars.add(jarDesc); > > tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); > > - signer.verifyJars(jars, tracker); > > > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > > - checkTrustWithUser(signer); > > + URL codebase = file.getCodeBase(); > > + if (codebase == null) { > > + //FIXME: codebase should be the codebase of the Main Jar not > > + //the location. Although, it still works in the current state. > > + codebase = file.getResources().getMainJAR().getLocation(); > > + } > > + > > + SecurityDesc jarSecurity = null; > > + if (jcv.isFullySigned()) { > > + // Already trust application, nested jar should be given > > + jarSecurity = new SecurityDesc(file, > > + SecurityDesc.ALL_PERMISSIONS, > > + codebase.getHost()); > > + } else { > > + jarSecurity = new SecurityDesc(file, > > + SecurityDesc.SANDBOX_PERMISSIONS, > > + codebase.getHost()); > > } > > > > try { > > @@ -1049,25 +1055,6 @@ public class JNLPClassLoader extends URL > > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > > addURL(fakeRemote); > > > > - SecurityDesc jarSecurity = file.getSecurity(); > > - > > - if (file instanceof PluginBridge) { > > - > > - URL codebase = null; > > - > > - if (file.getCodeBase() != null) { > > - codebase = file.getCodeBase(); > > - } else { > > - //Fixme: codebase should be the codebase of the Main Jar not > > - //the location. Although, it still works in the current state. > > - codebase = file.getResources().getMainJAR().getLocation(); > > - } > > - > > - jarSecurity = new SecurityDesc(file, > > - SecurityDesc.ALL_PERMISSIONS, > > - codebase.getHost()); > > - } > > - > > jarLocationSecurityMap.put(fakeRemote, jarSecurity); > > > > } catch (MalformedURLException mfue) { > > @@ -1276,18 +1263,6 @@ public class JNLPClassLoader extends URL > > } > > > > /** > > - * Verifies code signing of jars to be used. > > - * > > - * @param jars the jars to be verified. > > - */ > > - private JarCertVerifier verifyJars(List jars) throws Exception { > > - > > - jcv = new JarCertVerifier(); > > - jcv.verifyJars(jars, tracker); > > - return jcv; > > - } > > - > > - /** > > * Find the loaded class in this loader or any of its extension loaders. > > */ > > protected Class findLoadedClassAll(String name) { > > @@ -1442,7 +1417,6 @@ public class JNLPClassLoader extends URL > > > > // Verify if needed > > > > - final JarCertVerifier signer = new JarCertVerifier(); > > final List jars = new ArrayList(); > > jars.add(desc); > > > > @@ -1454,14 +1428,14 @@ public class JNLPClassLoader extends URL > > > > AccessController.doPrivileged(new PrivilegedExceptionAction() { > > public Void run() throws Exception { > > - signer.verifyJars(jars, tracker); > > + jcv.add(jars, tracker); > > > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > > - checkTrustWithUser(signer); > > + if (jcv.anyJarsSigned() && jcv.isFullySigned() && !jcv.getAlreadyTrustPublisher()) { > > + checkTrustWithUser(jcv); > > } > > > > final SecurityDesc security; > > - if (signer.anyJarsSigned()) { > > + if (jcv.anyJarsSigned() && jcv.isFullySigned()) { > > security = new SecurityDesc(file, > > SecurityDesc.ALL_PERMISSIONS, > > file.getCodeBase().getHost()); > > diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > > --- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > > +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > > @@ -90,10 +90,10 @@ public class JarCertVerifier implements > > private boolean anyJarsSigned = false; > > > > /** all of the jar files that were verified */ > > - private ArrayList verifiedJars = null; > > + private ArrayList verifiedJars = new ArrayList(); > > > > /** all of the jar files that were not verified */ > > - private ArrayList unverifiedJars = null; > > + private ArrayList unverifiedJars = new ArrayList(); > > > > /** the certificates used for jar verification */ > > private HashMap certs = new HashMap(); > > @@ -165,7 +165,7 @@ public class JarCertVerifier implements > > * > > * @return Whether or not all entries have a common signer > > */ > > - public boolean isFullySignedByASingleCert() { > > + public boolean isFullySigned() { > > > > for (CertPath cPath : certs.keySet()) { > > // If this cert has signed everything, return true > > @@ -177,11 +177,27 @@ public class JarCertVerifier implements > > return false; > > } > > > > - public void verifyJars(List jars, ResourceTracker tracker) > > + /** > > + * Update the verifier to consider new jars when verifying. > > + * @param jars List of new jars to be verified. > > + * @param tracker Resource tracker used to obtain the the jars from cache > > + * @throws Exception Caused by issues with obtaining the jars' entries or > > + * interacting with the tracker. > > + */ > > + public void add(List jars, ResourceTracker tracker) > > throws Exception { > > + // Reset the vars that need to be updated again during verification. > > + certPath = null; > > + alreadyTrustPublisher = false; > > + rootInCacerts = false; > > + details.remove(R("SUntrustedCertificate")); > > + details.remove(R("STrustedCertificate")); > > > > - verifiedJars = new ArrayList(); > > - unverifiedJars = new ArrayList(); > > + verifyJars(jars, tracker); > > + } > > + > > + private void verifyJars(List jars, ResourceTracker tracker) > > + throws Exception { > > > > for (int i = 0; i < jars.size(); i++) { > > > > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > @@ -137,7 +137,7 @@ public class JNLPClassLoader extends URL > > private ArrayList unverifiedJars = null; > > > > /** the jarsigner tool to verify our jars */ > > - private JarSigner js = null; > > + private final JarSigner js = new JarSigner(); > > > > private boolean signing = false; > > > > @@ -437,11 +437,10 @@ public class JNLPClassLoader extends URL > > > > if (JNLPRuntime.isVerifying()) { > > > > - JarSigner js; > > waitForJars(initialJars); //download the jars first. > > > > try { > > - js = verifyJars(initialJars); > > + js.add(initialJars, tracker); > > } catch (Exception e) { > > //we caught an Exception from the JarSigner class. > > //Note: one of these exceptions could be from not being able > > @@ -452,7 +451,7 @@ public class JNLPClassLoader extends URL > > } > > > > //Case when at least one jar has some signing > > - if (js.anyJarsSigned() && js.isFullySignedByASingleCert()) { > > + if (js.anyJarsSigned() && js.isFullySigned()) { > > signing = true; > > > > if (!js.allJarsSigned() && > > @@ -721,15 +720,25 @@ public class JNLPClassLoader extends URL > > continue; > > } > > > > - JarSigner signer = new JarSigner(); > > - List jars = new ArrayList(); > > - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); > > - jars.add(jarDesc); > > tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); > > - signer.verifyJars(jars, tracker); > > > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > > - checkTrustWithUser(signer); > > + URL codebase = file.getCodeBase(); > > + if (codebase == null) { > > + //FIXME: codebase should be the codebase of the Main Jar not > > + //the location. Although, it still works in the current state. > > + codebase = file.getResources().getMainJAR().getLocation(); > > + } > > + > > + SecurityDesc jarSecurity = null; > > + if (js.isFullySigned()) { > > + // Already trust application, nested jar should be given > > + jarSecurity = new SecurityDesc(file, > > + SecurityDesc.ALL_PERMISSIONS, > > + codebase.getHost()); > > + } else { > > + jarSecurity = new SecurityDesc(file, > > + SecurityDesc.SANDBOX_PERMISSIONS, > > + codebase.getHost()); > > } > > > > try { > > @@ -739,25 +748,6 @@ public class JNLPClassLoader extends URL > > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > > addURL(fakeRemote); > > > > - SecurityDesc jarSecurity = file.getSecurity(); > > - > > - if (file instanceof PluginBridge) { > > - > > - URL codebase = null; > > - > > - if (file.getCodeBase() != null) { > > - codebase = file.getCodeBase(); > > - } else { > > - //Fixme: codebase should be the codebase of the Main Jar not > > - //the location. Although, it still works in the current state. > > - codebase = file.getResources().getMainJAR().getLocation(); > > - } > > - > > - jarSecurity = new SecurityDesc(file, > > - SecurityDesc.ALL_PERMISSIONS, > > - codebase.getHost()); > > - } > > - > > jarLocationSecurityMap.put(fakeRemote, jarSecurity); > > > > } catch (MalformedURLException mfue) { > > @@ -966,18 +956,6 @@ public class JNLPClassLoader extends URL > > } > > > > /** > > - * Verifies code signing of jars to be used. > > - * > > - * @param jars the jars to be verified. > > - */ > > - private JarSigner verifyJars(List jars) throws Exception { > > - > > - js = new JarSigner(); > > - js.verifyJars(jars, tracker); > > - return js; > > - } > > - > > - /** > > * Find the loaded class in this loader or any of its extension loaders. > > */ > > protected Class findLoadedClassAll(String name) { > > @@ -1132,7 +1110,6 @@ public class JNLPClassLoader extends URL > > > > // Verify if needed > > > > - final JarSigner signer = new JarSigner(); > > final List jars = new ArrayList(); > > jars.add(desc); > > > > @@ -1144,14 +1121,14 @@ public class JNLPClassLoader extends URL > > > > AccessController.doPrivileged(new PrivilegedExceptionAction() { > > public Void run() throws Exception { > > - signer.verifyJars(jars, tracker); > > + js.add(jars, tracker); > > > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > > - checkTrustWithUser(signer); > > + if (js.anyJarsSigned() && js.isFullySigned() && !js.getAlreadyTrustPublisher()) { > > + checkTrustWithUser(js); > > } > > > > final SecurityDesc security; > > - if (signer.anyJarsSigned()) { > > + if (js.anyJarsSigned() && js.isFullySigned()) { > > security = new SecurityDesc(file, > > SecurityDesc.ALL_PERMISSIONS, > > file.getCodeBase().getHost()); > > diff --git a/netx/net/sourceforge/jnlp/tools/JarSigner.java b/netx/net/sourceforge/jnlp/tools/JarSigner.java > > --- a/netx/net/sourceforge/jnlp/tools/JarSigner.java > > +++ b/netx/net/sourceforge/jnlp/tools/JarSigner.java > > @@ -90,10 +90,10 @@ public class JarSigner implements CertVe > > private boolean anyJarsSigned = false; > > > > /** all of the jar files that were verified */ > > - private ArrayList verifiedJars = null; > > + private ArrayList verifiedJars = new ArrayList(); > > > > /** all of the jar files that were not verified */ > > - private ArrayList unverifiedJars = null; > > + private ArrayList unverifiedJars = new ArrayList(); > > > > /** the certificates used for jar verification */ > > private HashMap certs = new HashMap(); > > @@ -165,7 +165,7 @@ public class JarSigner implements CertVe > > * > > * @return Whether or not all entries have a common signer > > */ > > - public boolean isFullySignedByASingleCert() { > > + public boolean isFullySigned() { > > > > for (CertPath cPath : certs.keySet()) { > > // If this cert has signed everything, return true > > @@ -177,11 +177,27 @@ public class JarSigner implements CertVe > > return false; > > } > > > > - public void verifyJars(List jars, ResourceTracker tracker) > > + /** > > + * Update the verifier to consider new jars when verifying. > > + * @param jars List of new jars to be verified. > > + * @param tracker Resource tracker used to obtain the the jars from cache > > + * @throws Exception Caused by issues with obtaining the jars' entries or > > + * interacting with the tracker. > > + */ > > + public void add(List jars, ResourceTracker tracker) > > throws Exception { > > + // Reset the vars that need to be updated again during verification. > > + certPath = null; > > + alreadyTrustPublisher = false; > > + rootInCacerts = false; > > + details.remove(R("SUntrustedCertificate")); > > + details.remove(R("STrustedCertificate")); > > > > - verifiedJars = new ArrayList(); > > - unverifiedJars = new ArrayList(); > > + verifyJars(jars, tracker); > > + } > > + > > + private void verifyJars(List jars, ResourceTracker tracker) > > + throws Exception { > > > > for (int i = 0; i < jars.size(); i++) { > > > > > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > @@ -137,7 +137,7 @@ public class JNLPClassLoader extends URL > > private ArrayList unverifiedJars = null; > > > > /** the jarsigner tool to verify our jars */ > > - private JarSigner js = null; > > + private final JarSigner js = new JarSigner(); > > > > private boolean signing = false; > > > > @@ -437,11 +437,10 @@ public class JNLPClassLoader extends URL > > > > if (JNLPRuntime.isVerifying()) { > > > > - JarSigner js; > > waitForJars(initialJars); //download the jars first. > > > > try { > > - js = verifyJars(initialJars); > > + js.add(initialJars, tracker); > > } catch (Exception e) { > > //we caught an Exception from the JarSigner class. > > //Note: one of these exceptions could be from not being able > > @@ -452,7 +451,7 @@ public class JNLPClassLoader extends URL > > } > > > > //Case when at least one jar has some signing > > - if (js.anyJarsSigned() && js.isFullySignedByASingleCert()) { > > + if (js.anyJarsSigned() && js.isFullySigned()) { > > signing = true; > > > > if (!js.allJarsSigned() && > > @@ -721,15 +720,25 @@ public class JNLPClassLoader extends URL > > continue; > > } > > > > - JarSigner signer = new JarSigner(); > > - List jars = new ArrayList(); > > - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); > > - jars.add(jarDesc); > > tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); > > - signer.verifyJars(jars, tracker); > > > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > > - checkTrustWithUser(signer); > > + URL codebase = file.getCodeBase(); > > + if (codebase == null) { > > + //FIXME: codebase should be the codebase of the Main Jar not > > + //the location. Although, it still works in the current state. > > + codebase = file.getResources().getMainJAR().getLocation(); > > + } > > + > > + SecurityDesc jarSecurity = null; > > + if (js.isFullySigned()) { > > + // Already trust application, nested jar should be given > > + jarSecurity = new SecurityDesc(file, > > + SecurityDesc.ALL_PERMISSIONS, > > + codebase.getHost()); > > + } else { > > + jarSecurity = new SecurityDesc(file, > > + SecurityDesc.SANDBOX_PERMISSIONS, > > + codebase.getHost()); > > } > > > > try { > > @@ -739,25 +748,6 @@ public class JNLPClassLoader extends URL > > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > > addURL(fakeRemote); > > > > - SecurityDesc jarSecurity = file.getSecurity(); > > - > > - if (file instanceof PluginBridge) { > > - > > - URL codebase = null; > > - > > - if (file.getCodeBase() != null) { > > - codebase = file.getCodeBase(); > > - } else { > > - //Fixme: codebase should be the codebase of the Main Jar not > > - //the location. Although, it still works in the current state. > > - codebase = file.getResources().getMainJAR().getLocation(); > > - } > > - > > - jarSecurity = new SecurityDesc(file, > > - SecurityDesc.ALL_PERMISSIONS, > > - codebase.getHost()); > > - } > > - > > jarLocationSecurityMap.put(fakeRemote, jarSecurity); > > > > } catch (MalformedURLException mfue) { > > @@ -966,18 +956,6 @@ public class JNLPClassLoader extends URL > > } > > > > /** > > - * Verifies code signing of jars to be used. > > - * > > - * @param jars the jars to be verified. > > - */ > > - private JarSigner verifyJars(List jars) throws Exception { > > - > > - js = new JarSigner(); > > - js.verifyJars(jars, tracker); > > - return js; > > - } > > - > > - /** > > * Find the loaded class in this loader or any of its extension loaders. > > */ > > protected Class findLoadedClassAll(String name) { > > @@ -1132,7 +1110,6 @@ public class JNLPClassLoader extends URL > > > > // Verify if needed > > > > - final JarSigner signer = new JarSigner(); > > final List jars = new ArrayList(); > > jars.add(desc); > > > > @@ -1144,14 +1121,14 @@ public class JNLPClassLoader extends URL > > > > AccessController.doPrivileged(new PrivilegedExceptionAction() { > > public Void run() throws Exception { > > - signer.verifyJars(jars, tracker); > > + js.add(jars, tracker); > > > > - if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { > > - checkTrustWithUser(signer); > > + if (js.anyJarsSigned() && js.isFullySigned() && !js.getAlreadyTrustPublisher()) { > > + checkTrustWithUser(js); > > } > > > > final SecurityDesc security; > > - if (signer.anyJarsSigned()) { > > + if (js.anyJarsSigned() && js.isFullySigned()) { > > security = new SecurityDesc(file, > > SecurityDesc.ALL_PERMISSIONS, > > file.getCodeBase().getHost()); > > diff --git a/netx/net/sourceforge/jnlp/tools/JarSigner.java b/netx/net/sourceforge/jnlp/tools/JarSigner.java > > --- a/netx/net/sourceforge/jnlp/tools/JarSigner.java > > +++ b/netx/net/sourceforge/jnlp/tools/JarSigner.java > > @@ -90,10 +90,10 @@ public class JarSigner implements CertVe > > private boolean anyJarsSigned = false; > > > > /** all of the jar files that were verified */ > > - private ArrayList verifiedJars = null; > > + private ArrayList verifiedJars = new ArrayList(); > > > > /** all of the jar files that were not verified */ > > - private ArrayList unverifiedJars = null; > > + private ArrayList unverifiedJars = new ArrayList(); > > > > /** the certificates used for jar verification */ > > private HashMap certs = new HashMap(); > > @@ -165,7 +165,7 @@ public class JarSigner implements CertVe > > * > > * @return Whether or not all entries have a common signer > > */ > > - public boolean isFullySignedByASingleCert() { > > + public boolean isFullySigned() { > > > > for (CertPath cPath : certs.keySet()) { > > // If this cert has signed everything, return true > > @@ -177,11 +177,27 @@ public class JarSigner implements CertVe > > return false; > > } > > > > - public void verifyJars(List jars, ResourceTracker tracker) > > + /** > > + * Update the verifier to consider new jars when verifying. > > + * @param jars List of new jars to be verified. > > + * @param tracker Resource tracker used to obtain the the jars from cache > > + * @throws Exception Caused by issues with obtaining the jars' entries or > > + * interacting with the tracker. > > + */ > > + public void add(List jars, ResourceTracker tracker) > > throws Exception { > > + // Reset the vars that need to be updated again during verification. > > + certPath = null; > > + alreadyTrustPublisher = false; > > + rootInCacerts = false; > > + details.remove(R("SUntrustedCertificate")); > > + details.remove(R("STrustedCertificate")); > > > > - verifiedJars = new ArrayList(); > > - unverifiedJars = new ArrayList(); > > + verifyJars(jars, tracker); > > + } > > + > > + private void verifyJars(List jars, ResourceTracker tracker) > > + throws Exception { > > > > for (int i = 0; i < jars.size(); i++) { > > > From ddadacha at redhat.com Thu May 17 09:38:12 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 17 May 2012 12:38:12 -0400 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader - tests In-Reply-To: <4FB4C8C7.8060109@redhat.com> References: <4FB42921.6040109@redhat.com> <4FB4C8C7.8060109@redhat.com> Message-ID: <4FB52974.1080408@redhat.com> Hi Jiri, On 17/05/12 05:45 AM, Jiri Vanek wrote: > On 05/17/2012 12:24 AM, Danesh Dadachanji wrote: >> Hi, > > I do not feel skilled enough to review this. Although as far as i walked through it looks very ok! > >> The attached patches make JNLPClassLoader use a global JCV to ensure we can actually check the app >> is signed entirely by at least one common signer. Currently, the classloader does not maintain >> verification of jars loaded upon main initialization vs jars loaded at runtime. Therefore, we are >> not actually able to enforce an application to be signed entirely by one signer. >> >> The application may initially be signed entirely (i.e. all resources/archives specified have a >> common signer) but then as classes are loaded at runtime (e.g. via manifest classpath), these are >> not verified along with the original jars. A new JarCertVerifier is used to verify each set. >> >> I used an instance var per JNLPClassLoader to keep track of all the jars verified thus far. Each >> JNLPClassLoader keeps track of its own app's jars so when JNLP extensions are specified, a new >> JNLPClassLoader is created. This ensures there can be separate signers between different JNLPs. >> >> The current method to determine if a jar is signed completely was to check against >> JarCertVerifier#anyJarSigned. This method is somewhat flawed. If any single entry is signed then >> this method returns true. However, if one entry of a jar is signed and another unsigned, then the >> jar is considered unsigned, as is the app as a whole. Therefore, I have included >> JarCertVerifier#isFullySigned in the conditional as well to ensure the app is in fact fully signed. >> >> Another change is the removal of permission checking of nested jars. If the entry of the nested jar >> is signed, then we should assume that the person signing the jar trusts it to do whatever it must. >> The nested jar is given the same security context as its parent jar. >> > > >> I've extensively tested this against a combination of singed/unsigned entries in > > Please share those reproducers. They have to be tracked for regression. > Unfortunately all of these are hardcoded jars that I made manually. They're too complicated to add to the test engine. Things like having multiple signers for different jars, having only one of two entries in a jar signed are not possible yet. I want to avoid pushing jars to the repo. However, I think out of the 50+ scenarios I ran through, there is maybe 10% similarity between all of them, if that even. Each test will need its own mechanism to create proper jars with each test run. We will have to add a new feature to the test engine to do these customized tests. As we discussed on IRC, the best looking approach is to use additional Makefiles in each of the tests' directories. Then, if these are present, the test is built according to this Makefile's specifications. I will have to think about this some more but I'll just leave this here for now. =) >> resource/archive-specified/nested/manifest-classpath/extension jars using JNLPs, the applet tag, >> javaws and jnlp_href, as well as many duplicate jars. I have also run through all the regression > > I think this changset do not belongs to 1.1. What is motivation for do so? This is a very security oriented fix. Right now in 1.1 we do not ensure that the entire app is signed by 1 common signer. If jars are brought in on the fly (e.g. classpath), they currently can have different signers. Technically we are okay for JNLPs because of other restrictions (such as no manifest classpaths accepted) but IMHO that's too close of a call that it's scary. Having this global JCV will ensure that everything absolutely must be signed by at least 1 signer, not just the jars passed in when doing the verification. > >> tests for HEAD, 1.2 and 1.1, everything ran fine. >> > > > > ^ This is true reason of my reply. This changeset will need bunch of reproducers. They will be better even before the push of this > changeset so I will be able to track they fix. > > Sorry for adding more work but it is really necessary. np =) > > Also when I walked through code of JarCertVerifier, it looks like easily to be tempted by unnit tests. What do you think? Unit tests are hard for JCV. =( For my major update to JCV (that is still in the works), I focused on making the class more unit testable. Currently, it's very dependent on passing JARDesc lists into the methods. IOW we would have to create these jars inside of the unit tests. That's a whole other task in itself. TBH I think it will be wasted effort to do this if my larger JCV updates will make things easier. > > > Thanx again, J. Thanks for reviewing! Cheers, Danesh From aph at redhat.com Thu May 17 10:53:55 2012 From: aph at redhat.com (Andrew Haley) Date: Thu, 17 May 2012 18:53:55 +0100 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <201003111123.o2BBNT7J010860@mint.camswl.com> References: <201003111123.o2BBNT7J010860@mint.camswl.com> Message-ID: <4FB53B33.8090505@redhat.com> This is the big patch from Mar 2010: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008662.html merged into the HS22 codebase. I've done basic testing on it, and this includes a bootstrap build. I'm sorry it's so big, but it's not really possible to separate things. Andrew. On 03/11/2010 11:23 AM, ed at camswl.com wrote: > Hi folks, > > The following are some enhancements I have made to the T2JIT over the past > month. > > I have tested the changes with various benchmarks, with Think Free Office, > and with the hotspot and lang portions of JTreg which all pass. The jdk > portion is still running. > > - Support for frameless compilation > > Local variables and interpreter state are now addressed from Java SP > rather than separate 'istate' (R8) register. R8 now free for register > allocation giving 6 allocatable registers instead of 5. > > - Support for compilation of methods containing monitorenter / monitorexit > > monitorenter / monitorexit moved from asm to C so they can be called > by JIT code compilation of monitorenter / monitorexit containinng > methods uses frame adressing because stack can expand dynamically to > accomodate monitors. > > - Interpreter caches 'thread' in a register > > Interpreter reworked to cache 'thread' in a register. Involved > removal of one 'tmp' register in interpreter to make room for > 'thread' register. Interpreter and JIT are now consistent in register > usage. > > - Compression of JIT 'header' > > Removed the OSR entry from the JIT header. Previously, each JITted > method had an individual piece of code in the header to load the > appropriate registers from locals and the jump to the OSR entry > point. This is changed so the the OSR caller (the interpreter), uses > the 'regusage' array in the JIT header to load the correct registers > and then just jumps directly to the entry point in the method. > Saving is 24 bytes per method. > > - Backwards branch targets now doubleword aligned. > > Pads with no ops before a backwards branch target to ensure backwards > branch target is 64 bit aligned. Small performance benefit. > > - Addition of OSPACE flag > > Setting environment variable T2_OSPACE will cause the JIT to optimise > for space as opposed to time. OSPACE does the following. > > o Tweaks the register allocation to allocate register based on space > o Enables tailing of returns. IE does a branch to the return. > o Disables doubleword alignment of backwards branch targets > o Disables inlining invoke virtual/static/special wrappers > > OSPACE has a small performance effect on benchmarks (~10% on ECM) but > has no noticeable effect on large applications. > > Default is compile for time (OSPACE disabled) > > - Removed a pass from the compiler > > The JIT had an additional pass to detect 'zombie' code (ie code which > could be, but has never been called). Zombie code removal was > disabled in prior versions because it was unreliable, however the > additional pass was still there. > > - Removed vestigal and debug code > > Removed #if 0 code and debug code which was no longer functional -------------- next part -------------- # HG changeset patch # User aph # Date 1337276750 14400 # Node ID 73a07d24174ef3564a16f423853486044547ddb4 # Parent 85de6921e39e87fe8c634c639e8f8c4145e2b6c2 RTC Thumb2 JIT enhancements. 2012-05-16 Andrew Haley * src/cpu/zero/vm/thumb2.cpp: Throughout: T2EE_PRINT_* renamed to T2_PRINT_*. Route all debug info to stderr. We now do frameless compilation, so do all frame accesses relative to SP. Remove zombie detection pass. Remove dead code. Add OSPACE option. (H_LDC_W) (H_INVOKESTATIC_RESOLVED, H_INVOKESPECIAL_RESOLVED) (H_INVOKEVIRTUAL_RESOLVED, H_INVOKEVFINAL, H_MONITORENTER) (H_MONITOREXIT): New. (T2_* macros): Rename from T2EE_*. (SLOW_ENTRY_OFFSET, FAST_ENTRY_OFFSET): New. (THUMB2_CODEBUF_SIZE): Make this depend on PRODUCT. (H_GETSTATIC, H_PUTSTATIC, H_JSR, H_ZOMBIE, H_MONITOR): Delete. (H_DEADCODE, H_LDC_W, H_INVOKESTATIC_RESOLVED) (H_INVOKESPECIAL_RESOLVED, H_INVOKEVIRTUAL_RESOLVED) (H_INVOKEVFINAL): New. (DebugSwitch): New. (JAZ_V6): New local register. (Thumb2_pass1): Count reads and writes for register allocator. Delete zombie detection pass. (Thumb2_RegAlloc): New. (out_align, out_align_offset, nop_16, nop_32): New. (fullBarrier, storeBarrier): Chaeck for an MP OS. (load_local, store_local): Check for an istate reg. (load_istate, store_istate): New. (Thumb2_Load, Thumb2_LoadX2): Remove monitor stack adj. (Thumb2_Store, Thumb2_StoreX2): Likewise. (Debug): New. (Thumb2_save_locals, Thumb2_restore_locals, Thumb2_invoke_save) (Thumb2_invoke_restore, Thumb2_Exit): Remove monitor stackdepth adj. Move here from below. (Thumb2_Accessor): Rewrite for new method header layout. (Thumb2_Enter): Likewise. Do frameless setup. (Thumb2_load_long): Use a single ldrexd instruction. (Thumb2_codegen): Align branches. Call Debug if we're about to enter a synchronized method. (opc_jsr) Add handler. (opc_monitorenter, opc_monitorexit): Call handler instead of generating code. (Thumb2_Initialize): Disassmble ARM and Thumb code separately. * src/cpu/zero/vm/cppInterpreter_arm.S: Throughout: the thread pointer is now in a register, so use it everywhere. Set the thread pointer register at every entry point to the interpreter. Throughout: use the macros SLOW_ENTRY and FAST_ENTRY rather than ALIGN_CODE. Throughout: register tmp2 is no longer available, use other registers as appropriate. (T2JIT): Rename from THUMB2EE. (call_thumb2): Load all the thumb2 registers that have been allocated to locals. (accessor_entry): Check for stack overflow. (.fast_accessor_*): Delete dead code. (LOAD_FRAME): New. (Thumb2_invokevfinalresolved_stub) (Thumb2_invokevirtualresolved_stub): New. (Thumb2_invokestaticresolved_stub): New. (Thumb2_invokespecialresolved_stub): New. (Thumb2 stubs): Use FRAME_* rather than ISTATE_*; the frame pointer is no longer in a fixed register. (JAZ_REGSET, JAZ_*): Move delaration of JAZ registers here. (Thumb2_monitorenter): New. (normal_entry_synchronized): Rearrange so that we can load the thread pointer without exceeding the number of instructions that we can fit into the gap between SLOW_ENTRY and FAST_ENTRY. (normal_entry): Likewise. (MP_COMPILE_THRESHOLD, UP_COMPILE_THRESHOLD): Adjust. (TBIT): New. (FRAME_METHOD, FRAME_CONSTANTS, FRAME_BCP, FRAME_STACK_LIMIT) (FRAME_LOCALS, FRAME_STACK): New. (SLOW_ENTRY, FAST_ENTRY, SLOW_ENTRY_OFFSET, FAST_ENTRY_OFFSET): New. (LOAD_ISTATE): New. (DECACHE_STACK_USING_FRAME, DECACHE_JPC_USING_FRAME): New. (TRACE): Save and restore IP. Pass istate to my_trace(). (Opcode monitorenter): Remove all the assembler code and replace it with a call to Helper_monitorenter. * src/cpu/zero/vm/bytecodes_arm.def: Throughout: register tmp2 is no longer available, use other registers as appropriate. (lgetfield): Use ldrexd to load a jlong rather than an ldrexd/strexd loop. * src/cpu/zero/vm/asm_helper.cpp (ARCH_THUMB2): Renamed from ARCH_THUMBEE. (my_trace): New. (Helper_monitorenter): New. (Helper_monitorexit): New. diff -r 85de6921e39e -r 73a07d24174e src/cpu/zero/vm/asm_helper.cpp --- a/src/cpu/zero/vm/asm_helper.cpp Wed May 16 11:21:07 2012 +0100 +++ b/src/cpu/zero/vm/asm_helper.cpp Thu May 17 13:45:50 2012 -0400 @@ -19,7 +19,7 @@ #ifdef __arm__ -#define ARCH_THUMBEE (1<<16) +#define ARCH_THUMB2 (1<<16) #define ARCH_VFP (1<<17) #define ARCH_CLZ (1<<18) @@ -50,6 +50,31 @@ #define VECBUFF_SIZE 64 +static char valuebuf[128]; + +// Return the name of the current method. Not multi-thread safe. +extern "C" char* +meth(interpreterState istate) { + istate->method()->name_and_sig_as_C_string(valuebuf, sizeof valuebuf); + char *p = valuebuf + strlen(valuebuf); + sprintf(p, ": " PTR_FORMAT " (bci %d)", + (intptr_t) istate->bcp(), + istate->method()->bci_from(istate->bcp())); + return valuebuf; +} + +// Used for debugging the interpreter. The macro TRACE in +// cppInterpreter_arm.S calls this routine, and you can trap on a +// particular method. +#define NAME1 "sun.nio.ch.FileChannelImpl$Unmapper.run()V" +#define EQ(S1, S2) (S1 && (strncmp(S1, S2, strlen(S2)) == 0)) +extern "C" void my_trace(void *jpc, void *istate) +{ + char *name = meth((interpreterState)istate); + if (EQ(name, NAME1)); + asm volatile("nop"); // Somewhere to put a breakpoint +} + extern "C" unsigned hwcap(void) { int fd; @@ -70,7 +95,7 @@ unsigned value = *p++; if (tag == 0) goto fini; if (tag == AT_HWCAP) { - if (value & HWCAP_THUMBEE) rc |= ARCH_THUMBEE; + if (value & HWCAP_THUMBEE) rc |= ARCH_THUMB2; if (value & HWCAP_VFP) rc |= ARCH_VFP; } else if (tag == AT_PLATFORM) { const char *s = (const char *)value; @@ -87,7 +112,7 @@ close(fd); // printf("arch = %d, rc = 0x%08x\n", arch, rc); if (arch >= 5) rc |= ARCH_CLZ; - if (arch >= 7) rc |= ARCH_THUMBEE; + if (arch >= 7) rc |= ARCH_THUMB2; return rc | (1<thread()->pending_exception(); } +extern "C" oop Helper_monitorenter(interpreterState istate, oop lockee) +{ + BasicObjectLock* limit = istate->monitor_base(); + BasicObjectLock* most_recent = (BasicObjectLock*) istate->stack_base(); + BasicObjectLock* entry = NULL; + markOop displaced; + JavaThread *thread = istate->thread(); + + if (lockee == NULL) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + goto handle_exception; + } + while (most_recent != limit ) { + if (most_recent->obj() == NULL) entry = most_recent; + else if (most_recent->obj() == lockee) break; + most_recent++; + } + if (entry == NULL) { + int monitor_words = frame::interpreter_frame_monitor_size(); + ZeroStack *stack = thread->zero_stack(); + + if (monitor_words > stack->available_words()) { + InterpreterRuntime::throw_StackOverflowError(thread); + goto handle_exception; + } else { + stack->alloc(monitor_words * wordSize); + + for (intptr_t *p = istate->stack() + 1; p < istate->stack_base(); p++) + *(p - monitor_words) = *p; + + istate->set_stack_limit(istate->stack_limit() - monitor_words); + istate->set_stack(istate->stack() - monitor_words); + istate->set_stack_base(istate->stack_base() - monitor_words); + + entry = (BasicObjectLock *) istate->stack_base(); + } + } + entry->set_obj(lockee); + displaced = lockee->mark()->set_unlocked(); + entry->lock()->set_displaced_header(displaced); + if (Atomic::cmpxchg_ptr(entry, lockee->mark_addr(), displaced) != displaced) { + // Is it simple recursive case? + if (thread->is_lock_owned((address) displaced->clear_lock_bits())) { + entry->lock()->set_displaced_header(NULL); + } else { + InterpreterRuntime::monitorenter(thread, entry); + } + } +handle_exception: + return thread->pending_exception(); +} + +extern "C" oop Helper_monitorexit(interpreterState istate, oop lockee) +{ + BasicObjectLock* limit = istate->monitor_base(); + BasicObjectLock* most_recent = (BasicObjectLock*) istate->stack_base(); + JavaThread *thread = istate->thread(); + + if (lockee == NULL) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + goto handle_exception; + } + while (most_recent != limit ) { + if ((most_recent)->obj() == lockee) { + BasicLock* lock = most_recent->lock(); + markOop header = lock->displaced_header(); + most_recent->set_obj(NULL); + if (header != NULL) { + if (Atomic::cmpxchg_ptr(header, lockee->mark_addr(), lock) != lock) { + // restore object for the slow case + most_recent->set_obj(lockee); + InterpreterRuntime::monitorexit(thread, most_recent); + } + } + return thread->pending_exception(); + } + most_recent++; + } + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); +handle_exception: + return thread->pending_exception(); +} + extern "C" oop Helper_aastore(interpreterState istate, oop value, int index, arrayOop arrayref) { if (arrayref == NULL) { @@ -512,7 +620,7 @@ int main(void) { print_def("ARCH_VFP", ARCH_VFP); - print_def("ARCH_THUMBEE", ARCH_THUMBEE); + print_def("ARCH_THUMB2", ARCH_THUMB2); print_def("ARCH_CLZ", ARCH_CLZ); nl(); print_def("JVM_CONSTANT_Utf8", JVM_CONSTANT_Utf8); diff -r 85de6921e39e -r 73a07d24174e src/cpu/zero/vm/bytecodes_arm.def --- a/src/cpu/zero/vm/bytecodes_arm.def Wed May 16 11:21:07 2012 +0100 +++ b/src/cpu/zero/vm/bytecodes_arm.def Thu May 17 13:45:50 2012 -0400 @@ -335,13 +335,13 @@ (lconst_1) lconst_1 { DISPATCH_START_R2 - mov tmp2, #1 + mov r3, #1 DISPATCH_NEXT mov tmp1, #0 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -367,10 +367,10 @@ DISPATCH_NEXT orr tmp1, tmp1, #0x00f00000 DISPATCH_NEXT - mov tmp2, #0 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + mov r3, #0 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp1 DISPATCH_FINISH } @@ -419,11 +419,11 @@ DISPATCH_START \seq_len sub r3, locals, r2, lsl #2 DISPATCH_NEXT - ldmda r3, {tmp2, tmp1} - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldmda r3, {r3, tmp1} + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp1 DISPATCH_FINISH } @@ -465,49 +465,49 @@ (lload_0,dload_0) u8load_0 { DISPATCH_START_R2 - ldmda locals, {tmp2-tmp1} + ldmda locals, {r3, tmp1} DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r3 DISPATCH_FINISH } (lload_1,dload_1) u8load_1 { DISPATCH_START_R2 - ldmdb locals, {tmp2-tmp1} + ldmdb locals, {r3, tmp1} DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r3 DISPATCH_FINISH } (lload_2,dload_2) u8load_2 { DISPATCH_START_R2 - ldr tmp2, [locals, #-12] + ldr r3, [locals, #-12] DISPATCH_NEXT ldr tmp1, [locals, #-8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } (lload_3,dload_3) u8load_3 { DISPATCH_START_R2 - ldr tmp2, [locals, #-16] + ldr r3, [locals, #-16] DISPATCH_NEXT ldr tmp1, [locals, #-12] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -546,12 +546,12 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #3 - ldr tmp2, [r3, #BASE_OFFSET_LONG] + ldr r1, [r3, #BASE_OFFSET_LONG] DISPATCH_NEXT ldr tmp1, [r3, #20] DISPATCH_NEXT PUT_STACK 1, tmp1 - PUT_STACK 0, tmp2 + PUT_STACK 0, r1 DISPATCH_FINISH } @@ -634,13 +634,13 @@ @ r2 = [jpc, #1] (lstore,dstore) u8store { DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT sub r3, locals, r2, lsl #2 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - stmda r3, {tmp2, tmp1} + stmda r3, {r1, tmp1} DISPATCH_FINISH } @@ -691,30 +691,30 @@ (lstore_0,dstore_0) u8store_0 { DISPATCH_START_R2 DISPATCH_NEXT - POP tmp2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - stmda locals, {tmp2, tmp1} + POP r1, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + stmda locals, {r1, tmp1} DISPATCH_FINISH } (lstore_1,dstore_1) u8store_1 { DISPATCH_START_R2 DISPATCH_NEXT - POP tmp2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - stmdb locals, {tmp2, tmp1} + POP r1, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + stmdb locals, {r1, tmp1} DISPATCH_FINISH } (lstore_2,dstore_2) u8store_2 { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - str tmp2, [locals, #-12] + POP r1, tmp1 + DISPATCH_NEXT + str r1, [locals, #-12] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -724,9 +724,9 @@ (lstore_3,dstore_3) u8store_3 { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - str tmp2, [locals, #-16] + POP r1, tmp1 + DISPATCH_NEXT + str r1, [locals, #-16] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -735,72 +735,72 @@ } (iastore,fastore) u4astore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r1, tmp1, lr @ r1 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry10: - ldr lr, [tmp1, #8] @ lr = limit - DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp1, tmp1, tmp2, lsl #2 - DISPATCH_NEXT - str r3, [tmp1, #BASE_OFFSET_WORD] + ldr ip, [lr, #8] @ lr = limit + DISPATCH_NEXT + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add lr, lr, tmp1, lsl #2 + DISPATCH_NEXT + str r1, [lr, #BASE_OFFSET_WORD] DISPATCH_FINISH } (lastore,dastore) u8astore { - POP r1, r3, tmp2, tmp1 @ r1,r3 = value, tmp2 = index, tmp1 = arrayref + POP r1, r3, tmp1, lr @ r1,r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry11: - ldr ip, [tmp1, #8] @ ip = limit - cmp tmp2, ip - DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - str r1, [tmp2, #BASE_OFFSET_LONG] - DISPATCH_NEXT - DISPATCH_NEXT - str r3, [tmp2, #20] + ldr ip, [lr, #8] @ ip = limit + cmp tmp1, ip + DISPATCH_NEXT + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add tmp1, lr, tmp1, lsl #3 + str r1, [tmp1, #BASE_OFFSET_LONG] + DISPATCH_NEXT + DISPATCH_NEXT + str r3, [tmp1, #BASE_OFFSET_LONG+4] DISPATCH_FINISH } (bastore) bastore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r3, tmp1, lr @ r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry12: - ldr lr, [tmp1, #8] @ lr = limit - DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp1, tmp1, tmp2 - DISPATCH_NEXT - strb r3, [tmp1, #BASE_OFFSET_BYTE] + ldr ip, [lr, #8] @ ip = limit + DISPATCH_NEXT + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add lr, lr, tmp1 + DISPATCH_NEXT + strb r3, [lr, #BASE_OFFSET_BYTE] DISPATCH_FINISH } (castore,sastore) u2astore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r3, tmp1, lr @ r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry13: - ldr lr, [tmp1, #8] @ lr = limit - DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp1, tmp1, tmp2, lsl #1 - DISPATCH_NEXT - strh r3, [tmp1, #BASE_OFFSET_SHORT] + ldr ip, [lr, #8] @ ip = limit + DISPATCH_NEXT + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add lr, lr, tmp1, lsl #1 + DISPATCH_NEXT + strh r3, [lr, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -884,13 +884,13 @@ (iadd) iadd { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - add tmp2, tmp2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + POP r1, tmp1 + DISPATCH_NEXT + add r1, r1, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -907,13 +907,13 @@ (isub) isub { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + POP r1, tmp1 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -932,11 +932,11 @@ DISPATCH_START_R2 POP r2, tmp1 DISPATCH_NEXT - mul tmp2, r2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + mul r1, r2, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -1113,13 +1113,13 @@ (iand) iand { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + POP r1, tmp1 + DISPATCH_NEXT + and r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -1136,13 +1136,13 @@ (ior) ior { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + POP r1, tmp1 + DISPATCH_NEXT + orr r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -1159,13 +1159,13 @@ (ixor) ixor { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - eor tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + POP r1, tmp1 + DISPATCH_NEXT + eor r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -1338,78 +1338,48 @@ POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - beq 1f + beq branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifne,ifnonnull) ifne_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - bne 1f + bne branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (iflt) iflt_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - blt 1f + blt branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifge) ifge_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - bge 1f + bge branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifgt) ifgt_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - bgt 1f + bgt branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifle) ifle_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - ble 1f + ble branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (if_icmpeq,if_acmpeq) if_icmpeq_unsafe { @@ -1474,9 +1444,9 @@ (jsr) jsr { ldr r3, [istate, #ISTATE_METHOD] - ldr r1, [r3, #8] + ldr r1, [r3, #METHOD_CONSTMETHOD] rsb r2, r1, jpc - sub r2, r2, #45 + sub r2, r2, #CONSTMETHOD_CODEOFFSET - 3 PUSH r2 b do_goto } @@ -1485,10 +1455,10 @@ @ r1 = [jpc, #2] (ret) ret { ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [r0, #8] + ldr r3, [r0, #METHOD_CONSTMETHOD] ldr r1, [locals, -r2, lsl #2] add jpc, r3, r1 - DISPATCH 48 + DISPATCH CONSTMETHOD_CODEOFFSET } @ We dont do safe and unsafe versions of tableswitch and lookupswitch @@ -1575,30 +1545,30 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r3, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r3, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry78: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [tmp1, r1] + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry78_v: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] FullBarrier DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1606,30 +1576,30 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r3, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r3, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry79: - ldrsb tmp2, [tmp1, tmp2] - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldrsb r1, [tmp1, r1] + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry79_v: - ldrsb tmp2, [tmp1, tmp2] + ldrsb r1, [tmp1, r1] FullBarrier DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1637,30 +1607,30 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r3, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r3, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry80: - ldrh tmp2, [tmp1, tmp2] - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldrh r1, [tmp1, r1] + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry80_v: - ldrh tmp2, [tmp1, tmp2] + ldrh r1, [tmp1, r1] FullBarrier DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1668,30 +1638,30 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r3, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r3, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry81: - ldrsh tmp2, [tmp1, tmp2] - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldrsh r1, [tmp1, r1] + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry81_v: - ldrsh tmp2, [tmp1, tmp2] + ldrsh r1, [tmp1, r1] FullBarrier DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1699,40 +1669,37 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r3, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] - DISPATCH_NEXT - add tmp2, tmp1, tmp2 + GO_IF_VOLATILE r3, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] + DISPATCH_NEXT + add r1, tmp1, r1 DISPATCH_NEXT .abortentry82: - ldmia tmp2, {tmp2, tmp1} - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldmia r1, {r1, tmp1} + DISPATCH_NEXT + PUSH r1, tmp1 DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] - add tmp2, tmp1, tmp2 + ldr r1, [r1, #CP_OFFSET+8] + add r1, tmp1, r1 #ifndef __ARM_ARCH_7A__ .abortentry82_v: - ldmia tmp2, {tmp2, tmp1} + ldmia r1, {r2, r3} #else - mov ip, tmp2 .abortentry82_v: - ldrexd tmp2, tmp1 , [ip] - strexd r2 , tmp2, tmp1, [ip] - teq r2, #0 - bne .abortentry82_v + ldrexd r2, r3 , [r1] #endif + // Be very careful here: you must be certain that + // DISPATCH_NEXT does not corrupt R2 or R3. DISPATCH_NEXT FullBarrier - DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r2, r3 DISPATCH_FINISH } @@ -1740,28 +1707,28 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r2, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r2, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT .abortentry83: - str r3, [tmp1, tmp2] + str r3, [tmp1, r1] DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT StoreStoreBarrier .abortentry83_v: - str r3, [tmp1, tmp2] + str r3, [tmp1, r1] StoreLoadBarrier DISPATCH_FINISH } @@ -1770,28 +1737,28 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r2, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r2, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT .abortentry84: - strh r3, [tmp1, tmp2] + strh r3, [tmp1, r1] DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT StoreStoreBarrier .abortentry84_v: - strh r3, [tmp1, tmp2] + strh r3, [tmp1, r1] StoreLoadBarrier DISPATCH_FINISH } @@ -1800,28 +1767,28 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r2, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r2, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT .abortentry85: - strb r3, [tmp1, tmp2] + strb r3, [tmp1, r1] DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT StoreStoreBarrier .abortentry85_v: - strb r3, [tmp1, tmp2] + strb r3, [tmp1, r1] StoreLoadBarrier DISPATCH_FINISH } @@ -1829,23 +1796,23 @@ (aputfield) aputfield { ldrb r1, [jpc, #2] POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r2, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r2, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] .abortentry113: - str r3, [tmp1, tmp2] + str r3, [tmp1, r1] mov r0, tmp1 bl Helper_aputfield DISPATCH 3 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] StoreStoreBarrier .abortentry113_v: - str r3, [tmp1, tmp2] + str r3, [tmp1, r1] StoreLoadBarrier mov r0, tmp1 bl Helper_aputfield @@ -1854,40 +1821,41 @@ (lputfield) lputfield { ldrb r1, [jpc, #2] - DISPATCH_START 3 POP r3, tmp1, lr @ r3, tmp1 = value, lr = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - DISPATCH_NEXT + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r2, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] - DISPATCH_NEXT - add tmp2, lr, tmp2 - DISPATCH_NEXT + GO_IF_VOLATILE r2, r1, 3f + DISPATCH_START 3 + ldr r1, [r1, #CP_OFFSET+8] + DISPATCH_NEXT + add r1, lr, r1 DISPATCH_NEXT .abortentry86: - stm tmp2, {r3, tmp1} + stm r1, {r3, tmp1} DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] - add tmp2, lr, tmp2 + ldr r1, [r1, #CP_OFFSET+8] + add r1, lr, r1 StoreStoreBarrier #ifndef __ARM_ARCH_7A__ .abortentry86_v: - stm tmp2, {r3, tmp1} + stm r1, {r3, tmp1} #else - mov ip, tmp2 - mov tmp2, r3 - // Data in tmp1 & tmp2, address in ip, r2 & r3 scratch + mov ip, r1 + mov r1, r3 + // Data in tmp1 & r1, address in ip, r2 & r3 scratch + mov r0, r1 + mov r1, tmp1 .abortentry86_v: ldrexd r2, r3, [ip] - strexd r2, tmp2, tmp1, [ip] + strexd r2, r0, r1, [ip] teq r2, #0 bne .abortentry86_v #endif + DISPATCH_START 3 DISPATCH_NEXT DISPATCH_NEXT StoreLoadBarrier @@ -1900,16 +1868,16 @@ @ r1 = [jpc, #2] (getstatic) getstatic { ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0x00ff0000 cmp r3, #opc_getstatic << 16 blne resolve_get_put - GO_IF_VOLATILE r2, tmp2, 3f - ldr r3, [tmp2, #CP_OFFSET+4] - ldr r2, [tmp2, #CP_OFFSET+12] - ldr lr, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r2, tmp1, 3f + ldr r3, [tmp1, #CP_OFFSET+4] + ldr r2, [tmp1, #CP_OFFSET+12] + ldr lr, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 bhi getstatic_w @ C = 1, Z = 0 => R2 == 3, 5, 7 bcs getstatic_h @ C = 1 => R2 = 1 @@ -1919,9 +1887,9 @@ b getstatic_sh 3: VOLATILE_VERSION - ldr r3, [tmp2, #CP_OFFSET+4] - ldr r2, [tmp2, #CP_OFFSET+12] - ldr lr, [tmp2, #CP_OFFSET+8] + ldr r3, [tmp1, #CP_OFFSET+4] + ldr r2, [tmp1, #CP_OFFSET+12] + ldr lr, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 bhi getstatic_volatile_w @ C = 1, Z = 0 => R2 == 3, 5, 7 bcs getstatic_volatile_h @ C = 1 => R2 = 1 @@ -1935,16 +1903,16 @@ @ r1 = [jpc, #2] (putstatic) putstatic { ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0xff000000 cmp r3, #opc_putstatic << 24 blne resolve_get_put - GO_IF_VOLATILE r2, tmp2, 3f - ldr r3, [tmp2, #CP_OFFSET+4] @ r3 = object - ldr lr, [tmp2, #CP_OFFSET+12] @ lr = tos_type - ldr r2, [tmp2, #CP_OFFSET+8] @ r2 = offset + GO_IF_VOLATILE r2, tmp1, 3f + ldr r3, [tmp1, #CP_OFFSET+4] @ r3 = object + ldr lr, [tmp1, #CP_OFFSET+12] @ lr = tos_type + ldr r2, [tmp1, #CP_OFFSET+8] @ r2 = offset movs lr, lr, lsr #29 bhi putstatic_w @ C = 1, Z = 0 => R2 == 3, 5, 7 bcs putstatic_h @ C = 1 => R2 = 1 @@ -1954,9 +1922,9 @@ b putstatic_sh 3: VOLATILE_VERSION - ldr r3, [tmp2, #CP_OFFSET+4] @ r3 = object - ldr lr, [tmp2, #CP_OFFSET+12] @ lr = tos_type - ldr r2, [tmp2, #CP_OFFSET+8] @ r2 = offset + ldr r3, [tmp1, #CP_OFFSET+4] @ r3 = object + ldr lr, [tmp1, #CP_OFFSET+12] @ lr = tos_type + ldr r2, [tmp1, #CP_OFFSET+8] @ r2 = offset movs lr, lr, lsr #29 bhi putstatic_volatile_w @ C = 1, Z = 0 => R2 == 3, 5, 7 bcs putstatic_volatile_h @ C = 1 => R2 = 1 @@ -1970,26 +1938,25 @@ (return) return_unsafe { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - - cmp tmp1, tmp2 + + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] add stack, r1, r0, lsl #2 - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -2000,27 +1967,26 @@ (ireturn,areturn,freturn) ireturn_unsafe { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - - cmp tmp1, tmp2 + + cmp tmp1, r9 bcc 1f 2: mov r3, #0 POP r1 @ pop result before we lose stack - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -2031,28 +1997,27 @@ (lreturn,dreturn) lreturn_unsafe { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] POP r2, r3 add stack, r1, r0, lsl #2 stmdb stack!, {r2, r3} - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -2099,21 +2064,20 @@ DISPATCH 0 2: sub jpc, jpc, #\seq_len - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK mov r1, #0 bl _ZN18InterpreterRuntime3ldcEP10JavaThreadb - ldr r0, [istate, #ISTATE_THREAD] @ thread CACHE_CP - ldr r1, [r0, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 bne handle_exception - ldr r3, [r0, #THREAD_VM_RESULT] + ldr r3, [thread, #THREAD_VM_RESULT] mov r2, #0 PUSH r3 - str r2, [r0, #THREAD_VM_RESULT] + str r2, [thread, #THREAD_VM_RESULT] DISPATCH \seq_len } @@ -2155,21 +2119,20 @@ DISPATCH 0 2: sub jpc, jpc, #\seq_len - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK mov r1, #1 bl _ZN18InterpreterRuntime3ldcEP10JavaThreadb - ldr r0, [istate, #ISTATE_THREAD] @ thread CACHE_CP - ldr r1, [r0, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 - ldr r3, [r0, #THREAD_VM_RESULT] + ldr r3, [thread, #THREAD_VM_RESULT] bne handle_exception mov r2, #0 PUSH r3 - str r2, [r0, #THREAD_VM_RESULT] + str r2, [thread, #THREAD_VM_RESULT] DISPATCH \seq_len } @@ -2190,10 +2153,6 @@ DISPATCH_NEXT DISPATCH_NEXT - cmp tmp1, #JVM_CONSTANT_Long - cmpne tmp1, #JVM_CONSTANT_Double - bne vm_fatal_error - add tmp1, r2, r3, lsl #2 ldr r3, [tmp1, #CONSTANTPOOL_BASE] ldr tmp1, [tmp1, #CONSTANTPOOL_BASE+4] @@ -2207,70 +2166,70 @@ (iadd_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 + POP r1, tmp1 + DISPATCH_NEXT + add r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (isub_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + POP r1, tmp1 + DISPATCH_NEXT + sub r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (iand_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - and tmp2, tmp1, tmp2 + POP r1, tmp1 + DISPATCH_NEXT + and r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (ior_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - orr tmp2, tmp1, tmp2 + POP r1, tmp1 + DISPATCH_NEXT + orr r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (ixor_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + POP r1, tmp1 + DISPATCH_NEXT + eor r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2279,12 +2238,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + POP r1, tmp1 + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2293,12 +2252,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + POP r1, tmp1 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2307,12 +2266,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 - DISPATCH_NEXT - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + POP r1, tmp1 + DISPATCH_NEXT + and r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2321,12 +2280,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 - DISPATCH_NEXT - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + POP r1, tmp1 + DISPATCH_NEXT + orr r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2335,12 +2294,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 - DISPATCH_NEXT - eor tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + POP r1, tmp1 + DISPATCH_NEXT + eor r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2368,10 +2327,10 @@ DISPATCH_NEXT ldr tmp1, [locals, r3, lsl #2] DISPATCH_NEXT - sub tmp2, r2, #opc_iconst_0 + sub r1, r2, #opc_iconst_0 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2381,32 +2340,32 @@ ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 ldrb r3, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START 4 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - GO_IF_VOLATILE r3, tmp2, 3f - DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r3, r1, 3f + DISPATCH_NEXT + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry87: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [tmp1, r1] + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH 3: VOLATILE_VERSION DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry87_v: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] FullBarrier DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -2691,21 +2650,21 @@ rsb tmp1, r1, #opc_iaccess_0 ldrb r3, [jpc, #3] ldr lr, [locals, lr, lsl #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START \seq_len PUSH lr ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry111: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [tmp1, r1] + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -2717,21 +2676,21 @@ rsb tmp1, r1, #opc_iaccess_0 ldrb r3, [jpc, #4] ldr lr, [locals, lr, lsl #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START \seq_len PUSH lr ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry112: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [tmp1, r1] + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -2742,14 +2701,14 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_aload_0 + rsb r1, r1, #opc_aload_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2758,14 +2717,14 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_iload_0 + rsb r1, r1, #opc_iload_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2774,17 +2733,17 @@ { rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_aload_0 + rsb r1, r1, #opc_aload_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] cmp r0, #opc_igetfield - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] beq 1f 2: DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH 1: ldrb lr, [jpc, #-1] @@ -2849,10 +2808,10 @@ (aload_0,aload_1,aload_2,aload_3) { DISPATCH_START \seq_len - rsb tmp2, r1, #opc_aload_0 + rsb r1, r1, #opc_aload_0 DISPATCH_NEXT rsb tmp1, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] cmp r0, #opc_igetfield DISPATCH_NEXT beq 1f @@ -2860,7 +2819,7 @@ ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH 1: ldrb lr, [jpc, #-1] @@ -2874,15 +2833,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb tmp2, r1, #opc_iload_0 + rsb r1, r1, #opc_iload_0 DISPATCH_NEXT rsb tmp1, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2897,16 +2856,16 @@ @ r2 = [jpc, #1] (aload,fload)(iload,aload,fload) { - ldrb tmp2, [jpc, #3] + ldrb r1, [jpc, #3] rsb tmp1, r2, #0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2917,16 +2876,16 @@ } (iload)(aload,fload) { - ldrb tmp2, [jpc, #3] + ldrb r1, [jpc, #3] rsb tmp1, r2, #0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2937,13 +2896,13 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_astore_0 + rsb r1, r1, #opc_astore_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -2952,45 +2911,45 @@ { rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_istore_0 + rsb r1, r1, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } (aload_0,aload_1,aload_2,aload_3) (astore,istore,fstore) { - ldrb tmp2, [jpc, #2] + ldrb r1, [jpc, #2] rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (astore,istore,fstore) { - ldrb tmp2, [jpc, #2] + ldrb r1, [jpc, #2] rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -3001,12 +2960,12 @@ DISPATCH_START \seq_len rsb tmp1, r1, #opc_astore_0 DISPATCH_NEXT - rsb tmp2, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, tmp1, lsl #2] + rsb r1, r2, #0 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, tmp1, lsl #2] DISPATCH_FINISH } @@ -3017,27 +2976,27 @@ DISPATCH_START \seq_len rsb tmp1, r1, #opc_istore_0 DISPATCH_NEXT - rsb tmp2, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, tmp1, lsl #2] + rsb r1, r2, #0 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, tmp1, lsl #2] DISPATCH_FINISH } @ r2 = [jpc, #1] (iload,aload,fload)(astore,istore,fstore) { ldrb tmp1, [jpc, #3] - rsb tmp2, r2, #0 + rsb r1, r2, #0 DISPATCH_START \seq_len rsb tmp1, tmp1, #0 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - str tmp2, [locals, tmp1, lsl #2] + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + str r1, [locals, tmp1, lsl #2] DISPATCH_FINISH } @@ -3048,14 +3007,14 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - sub tmp2, r1, #opc_iconst_0 + sub r1, r1, #opc_iconst_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -3073,14 +3032,14 @@ { cmp r0, #opc_iload DISPATCH_START \seq_len - sub r3, r1, #opc_iconst_0 + sub r1, r1, #opc_iconst_0 DISPATCH_NEXT - ldr tmp2, [locals, -r2, lsl #2] + ldr r3, [locals, -r2, lsl #2] DISPATCH_NEXT beq 1f DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH 1: mov tmp1, #opc_iload_iconst_N @@ -3445,12 +3404,12 @@ (iload_0,iload_1,iload_2,iload_3) (iadd) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - add tmp1, tmp2, tmp1 + add tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3460,27 +3419,27 @@ (iload,aload,fload)(iadd) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (isub) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - sub tmp1, tmp2, tmp1 + sub tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3490,15 +3449,15 @@ (iload,aload,fload)(isub) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -3627,12 +3586,12 @@ (iload_0,iload_1,iload_2,iload_3) (iand) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - and tmp1, tmp2, tmp1 + and tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3642,27 +3601,27 @@ (iload,aload,fload)(iand) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + and r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (ior) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - orr tmp1, tmp2, tmp1 + orr tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3672,27 +3631,27 @@ (iload,aload,fload)(ior) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + orr r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (ixor) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - eor tmp1, tmp2, tmp1 + eor tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3702,15 +3661,15 @@ (iload,aload,fload)(ixor) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] - DISPATCH_NEXT - eor tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + eor r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -4023,23 +3982,22 @@ (ireturn,areturn,freturn) { rsb r0, r0, #opc_iload_0 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end ldr r1, [locals, r0, lsl #2] - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -4053,23 +4011,22 @@ (iload,aload,fload)(ireturn,areturn,freturn) { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end ldr r1, [locals, -r2, lsl #2] - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -4262,31 +4219,31 @@ ldrb ip, [jpc, #4] rsb tmp1, r2, #0 ldrb r3, [jpc, #3] - add tmp2, constpool, ip, lsl #12 + add r1, constpool, ip, lsl #12 DISPATCH_START 5 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - GO_IF_VOLATILE r3, tmp2, 3f - ldr tmp2, [tmp2, #CP_OFFSET+8] + GO_IF_VOLATILE r3, r1, 3f + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry88: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - PUSH tmp2 + ldr r1, [tmp1, r1] + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH 3: VOLATILE_VERSION - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry88_v: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] FullBarrier DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4315,9 +4272,9 @@ (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(iadd) { sub tmp1, r0, #opc_iconst_0 DISPATCH_START \seq_len - POP tmp2 - DISPATCH_NEXT - add tmp1, tmp2, tmp1 + POP r1 + DISPATCH_NEXT + add tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -4328,9 +4285,9 @@ (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(isub) { sub tmp1, r0, #opc_iconst_0 DISPATCH_START \seq_len - POP tmp2 - DISPATCH_NEXT - sub tmp1, tmp2, tmp1 + POP r1 + DISPATCH_NEXT + sub tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -4461,23 +4418,22 @@ } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(ireturn) { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end sub r1, r0, #opc_iconst_0 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -4848,17 +4804,17 @@ @ ---- iadd; xxx ------------------------------------------------------------ (iadd)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 + ldrb r1, [jpc, #2] + DISPATCH_START \seq_len + POP r3, tmp1 + DISPATCH_NEXT + rsb r1, r1, #0 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + add r3, tmp1, r3 + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -4866,15 +4822,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + add r3, tmp1, r3 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -4931,12 +4887,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - add tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + add r1, r3, r2 + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -4944,12 +4900,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - add tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + add r1, r3, r2 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -4970,17 +4926,17 @@ @ ---- sub; xxx ------------------------------------------------------------ (isub)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 + ldrb r1, [jpc, #2] + DISPATCH_START \seq_len + POP r3, tmp1 + DISPATCH_NEXT + rsb r1, r1, #0 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + sub r3, tmp1, r3 + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -4988,15 +4944,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + sub r3, tmp1, r3 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5053,12 +5009,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - sub tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + sub r1, r3, r2 + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5066,12 +5022,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - sub tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + sub r1, r3, r2 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5092,17 +5048,17 @@ @ ---- iand; xxx ------------------------------------------------------------ (iand)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 + ldrb r1, [jpc, #2] + DISPATCH_START \seq_len + POP r3, tmp1 + DISPATCH_NEXT + rsb r1, r1, #0 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + and r3, tmp1, r3 + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5110,15 +5066,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - and tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + and r3, tmp1, r3 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5175,12 +5131,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - and tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + and r1, r3, r2 + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5188,12 +5144,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - and tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + and r1, r3, r2 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5214,17 +5170,17 @@ @ ---- ior; xxx ------------------------------------------------------------ (ior)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 + ldrb r1, [jpc, #2] + DISPATCH_START \seq_len + POP r3, tmp1 + DISPATCH_NEXT + rsb r1, r1, #0 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + orr r3, tmp1, r3 + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5232,15 +5188,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - orr tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + orr r3, tmp1, r3 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5297,12 +5253,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - orr tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + orr r1, r3, r2 + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5310,12 +5266,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - orr tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + orr r1, r3, r2 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5337,17 +5293,17 @@ @ ---- ixor; xxx ------------------------------------------------------------ (ixor)(iload,fload,aload) { - ldrb r3, [jpc, #2] - DISPATCH_START \seq_len - POP tmp2, tmp1 - DISPATCH_NEXT - rsb r3, r3, #0 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - eor tmp2, tmp1, tmp2 - DISPATCH_NEXT - PUSH r3, tmp2 + ldrb r1, [jpc, #2] + DISPATCH_START \seq_len + POP r3, tmp1 + DISPATCH_NEXT + rsb r1, r1, #0 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + eor r3, tmp1, r3 + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5355,15 +5311,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 - DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - eor tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH r3, tmp2 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 + DISPATCH_NEXT + ldr r1, [locals, r1, lsl #2] + eor r3, tmp1, r3 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5420,12 +5376,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - eor tmp2, r3, r2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + eor r1, r3, r2 + DISPATCH_NEXT + add r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5433,12 +5389,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - eor tmp2, r3, r2 - DISPATCH_NEXT - sub tmp2, tmp1, tmp2 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + eor r1, r3, r2 + DISPATCH_NEXT + sub r1, tmp1, r1 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -5463,15 +5419,15 @@ ldrsb tmp1, [jpc, #2] sub lr, r1, #opc_iconst_0 DISPATCH_START \seq_len - rsb tmp2, r2, #0 - ldr r3, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r3, [locals, r1, lsl #2] DISPATCH_NEXT add r3, r3, tmp1 DISPATCH_NEXT PUSH lr DISPATCH_NEXT DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -5479,14 +5435,14 @@ ldrb lr, [jpc, #4] ldrsb tmp1, [jpc, #2] DISPATCH_START \seq_len - rsb tmp2, r2, #0 - ldr r3, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r3, [locals, r1, lsl #2] DISPATCH_NEXT rsb lr, lr, #0 DISPATCH_NEXT add r3, r3, tmp1 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] ldr tmp1, [locals, lr, lsl #2] DISPATCH_NEXT PUSH tmp1 @@ -5499,12 +5455,12 @@ rsb lr, r1, #opc_iload_0 ldrsb tmp1, [jpc, #2] DISPATCH_START \seq_len - rsb tmp2, r2, #0 - ldr r3, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r3, [locals, r1, lsl #2] DISPATCH_NEXT add r3, r3, tmp1 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_NEXT ldr tmp1, [locals, lr, lsl #2] DISPATCH_NEXT @@ -5520,24 +5476,24 @@ (iload,fload,aload) { ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 - ldrb r3, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + ldrb r1, [jpc, #2] + add r3, constpool, r2, lsl #12 DISPATCH_START 6 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 - ldrb r3, [jpc, #-1] + add r3, r1, lsl #4 + ldrb r1, [jpc, #-1] DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_5 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] - DISPATCH_NEXT - rsb r3, r3, #0 + ldr r3, [r3, #CP_OFFSET+8] + DISPATCH_NEXT + rsb r1, r1, #0 .abortentry89: - ldr tmp2, [tmp1, tmp2] - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - PUSH r3, tmp2 + ldr r3, [tmp1, r3] + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5546,22 +5502,22 @@ ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 ldrb ip, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + add r3, constpool, r2, lsl #12 DISPATCH_START 5 - rsb r3, r1, #opc_iload_0 + rsb r1, r1, #opc_iload_0 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 + add r3, ip, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_4 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r3, [r3, #CP_OFFSET+8] DISPATCH_NEXT .abortentry90: - ldr tmp2, [tmp1, tmp2] - ldr r3, [locals, r3, lsl #2] - DISPATCH_NEXT - PUSH r3, tmp2 + ldr r3, [tmp1, r3] + ldr r1, [locals, r1, lsl #2] + DISPATCH_NEXT + PUSH r1, r3 DISPATCH_FINISH } @@ -5570,22 +5526,22 @@ ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 ldrb ip, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START 5 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 + add r1, ip, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_4 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT POP r3 .abortentry91: - ldr tmp2, [tmp1, tmp2] - DISPATCH_NEXT - add tmp2, tmp2, r3 - PUSH tmp2 + ldr r1, [tmp1, r1] + DISPATCH_NEXT + add r1, r1, r3 + PUSH r1 DISPATCH_FINISH } @@ -6249,13 +6205,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6286,13 +6242,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6323,13 +6279,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6360,13 +6316,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6397,13 +6353,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6434,13 +6390,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6471,13 +6427,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6508,13 +6464,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6545,13 +6501,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6582,13 +6538,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6773,14 +6729,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6793,14 +6749,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6852,14 +6808,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6872,14 +6828,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6931,14 +6887,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6951,14 +6907,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7010,14 +6966,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7030,14 +6986,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7089,14 +7045,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7109,14 +7065,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7168,14 +7124,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7188,14 +7144,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7247,14 +7203,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7267,14 +7223,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7326,14 +7282,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7346,14 +7302,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7405,14 +7361,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7425,14 +7381,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7484,14 +7440,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7504,14 +7460,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } diff -r 85de6921e39e -r 73a07d24174e src/cpu/zero/vm/cppInterpreter_arm.S --- a/src/cpu/zero/vm/cppInterpreter_arm.S Wed May 16 11:21:07 2012 +0100 +++ b/src/cpu/zero/vm/cppInterpreter_arm.S Thu May 17 13:45:50 2012 -0400 @@ -18,9 +18,9 @@ @ 2 along with this work; if not, write to the Free Software Foundation, @ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -#undef THUMB2EE +#undef T2JIT #if !defined(DISABLE_THUMB2) && defined(HOTSPOT_ASM) && !defined(SHARK) -#define THUMB2EE +#define T2JIT #endif #ifdef HOTSPOT_ASM @@ -29,7 +29,7 @@ #define ARMv4 #endif -#if defined(SHARK) || defined(THUMB2EE) +#if defined(SHARK) || defined(T2JIT) #define USE_COMPILER @@ -41,8 +41,8 @@ #define MP_COMPILE_THRESHOLD 0x10000 // 65536 - must be a single MOV constant #define UP_COMPILE_THRESHOLD 0x30000 // 196608 - must be a single MOV constant #else -#define MP_COMPILE_THRESHOLD 0x2700 // 10000 - must be a single MOV constant -#define UP_COMPILE_THRESHOLD 0x2700 // 10000 - must be a single MOV constant +#define MP_COMPILE_THRESHOLD 0x1380 // ~ 5000 - must be a single MOV constant +#define UP_COMPILE_THRESHOLD 0x1380 // ~ 5000 - must be a single MOV constant #endif #define MAX_FG_METHOD_SIZE 500 @@ -54,7 +54,7 @@ #define DISABLE_BG_COMP_ON_NON_MP #endif -#ifdef THUMB2EE +#ifdef T2JIT #define FREQ_COUNT_OVERFLOW Thumb2_Compile #else #define FREQ_COUNT_OVERFLOW _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh @@ -78,12 +78,15 @@ #define LEAF_STACK_SIZE 200 #define STACK_SPARE 40 +#define TBIT 1 + #define stack r4 #define jpc r5 #define dispatch r6 #define locals r7 #define istate r8 #define constpool r9 +#define thread r10 #define arm_sp r13 #define tmp_xxx r7 @@ -91,17 +94,23 @@ #define tmp_vvv r9 #define tmp1 r11 -#define tmp2 r10 #define regset r4,r5,r6,r7,r9,r10,r11 #define fast_regset r8 +#define Rframe r7 + +#define FRAME_METHOD (ISTATE_METHOD-ISTATE_NEXT_FRAME) +#define FRAME_CONSTANTS (ISTATE_CONSTANTS-ISTATE_NEXT_FRAME) +#define FRAME_BCP (ISTATE_BCP-ISTATE_NEXT_FRAME) +#define FRAME_STACK_LIMIT (ISTATE_STACK_LIMIT-ISTATE_NEXT_FRAME) +#define FRAME_LOCALS (ISTATE_LOCALS-ISTATE_NEXT_FRAME) +#define FRAME_STACK (ISTATE_STACK-ISTATE_NEXT_FRAME) + #include "offsets_arm.s" #define last_implemented_bytecode 201 -#define CODE_ALIGN_SIZE 64 - .macro ALIGN_CODE .align 6 .endm @@ -118,6 +127,18 @@ .align 2 .endm +#define SLOW_ENTRY_OFFSET 24 +#define FAST_ENTRY_OFFSET 40 + + .macro SLOW_ENTRY + ALIGN_CODE + .word 0, 0, 0, 0, 0, 0 + .endm + + .macro FAST_ENTRY + ALIGN_CODE + .endm + @------------------------------------------------ @ Software NULL Pointer check macro. @ Usage: @@ -259,7 +280,7 @@ @ T2 @------------------------------------------------ .macro T2 p1, p2, p3, p4 -#ifdef THUMB2EE +#ifdef T2JIT .ifnes "\p4", "" \p1 \p2, \p3, \p4 .else @@ -389,6 +410,11 @@ #endif .endm + .macro LOAD_ISTATE + ldr istate, [thread, #THREAD_TOP_ZERO_FRAME] + sub istate, istate, #ISTATE_NEXT_FRAME + .endm + .macro CACHE_JPC ldr jpc, [istate, #ISTATE_BCP] .endm @@ -405,10 +431,18 @@ ldr constpool, [istate, #ISTATE_CONSTANTS] .endm + .macro DECACHE_STACK_USING_FRAME + str stack, [Rframe, #FRAME_STACK] + .endm + .macro DECACHE_STACK str stack, [istate, #ISTATE_STACK] .endm + .macro DECACHE_JPC_USING_FRAME + str jpc, [Rframe, #FRAME_BCP] + .endm + .macro DECACHE_JPC str jpc, [istate, #ISTATE_BCP] .endm @@ -487,14 +521,16 @@ @ This macro calls a user-supplied my_trace routine. It @ passes the current JPC as argument zero. It can be safely @ inserted at any point in the interpreter. - .macro TRACE - stmfd sp!, {r0, r1, r2, r3, r4, lr} + .macro TRACE + stmfd sp!, {r0, r1, r2, r3, r4, lr, ip} mrs r4, cpsr mov r0, jpc + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] + sub r1, r1, #ISTATE_NEXT_FRAME ldr r2, =my_trace blx r2 msr cpsr, r4 - ldmfd sp!, {r0, r1, r2, r3, r4, lr} + ldmfd sp!, {r0, r1, r2, r3, r4, lr, ip} .endm .macro DISPATCH_FINISH @@ -813,39 +849,32 @@ .word accessor_entry // implementation of java.lang.ref.Reference.get() 3: - ALIGN_CODE + SLOW_ENTRY native_entry_synchronized: - b fast_native_entry_synchronized - - ALIGN_CODE + mov r2, thread + b _ZN14CppInterpreter12native_entryEP13methodOopDesciP6Thread + + FAST_ENTRY fast_native_entry_synchronized: + mov r2, thread b _ZN14CppInterpreter12native_entryEP13methodOopDesciP6Thread - ALIGN_CODE + SLOW_ENTRY empty_entry: - b fast_empty_entry - - ALIGN_CODE -fast_empty_entry: - ldr r3, .L1359 - ldr r1, .L1359+4 -.LPIC19: - add r3, pc, r3 - - ldr ip, [r3, r1] - ldr r3, [ip, #0] - cmp r3, #0 - bne normal_entry_synchronized - ldrh r3, [r0, #42] ldr r1, [r2, #THREAD_JAVA_SP] add r1, r1, r3, lsl #2 str r1, [r2, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 bx lr -.L1359: - .word _GLOBAL_OFFSET_TABLE_-(.LPIC19+8) - .word _ZN20SafepointSynchronize6_stateE(GOT) + + FAST_ENTRY +fast_empty_entry: + ldrh r3, [r0, #42] + ldr r1, [thread, #THREAD_JAVA_SP] + add r1, r1, r3, lsl #2 + str r1, [thread, #THREAD_JAVA_SP] + bx lr @ ---- START execute.s --------------------------------------------------------------------- @@ -885,7 +914,7 @@ bx lr #endif // HW_NULL_PTR_CHECK 2: -#ifdef THUMB2EE +#ifdef T2JIT b Thumb2_Check_Null #else mov r0, #0 @@ -994,14 +1023,15 @@ #endif - ALIGN_CODE + SLOW_ENTRY native_entry: stmfd arm_sp!, {regset, lr} + mov thread, r2 bl fast_native_entry mov r0, #0 @ deoptimized_frames = 0 ldmia sp!, {regset, pc} - ALIGN_CODE + FAST_ENTRY fast_native_entry: adrl ip, dispatch_init_adcon mov r11, r0 @@ -1010,12 +1040,12 @@ add dispatch, dispatch, ip add dispatch, dispatch, r7 ldrh r1, [r11, #METHOD_SIZEOFPARAMETERS] - ldr r4, [r2, #THREAD_JAVA_SP] - ldr r3, [r2, #THREAD_TOP_ZERO_FRAME] + ldr r4, [thread, #THREAD_JAVA_SP] + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] mov r0, #0 mov ip, #INTERPRETER_FRAME sub r9, r4, #FRAME_SIZE - str r9, [r2, #THREAD_JAVA_SP] @ drop stack + str r9, [thread, #THREAD_JAVA_SP] @ drop stack sub r5, r9, #4 @ stack limit = r9 - 4 str r3, [r9, #ISTATE_NEXT_FRAME] str ip, [r9, #ISTATE_FRAME_TYPE] @@ -1024,51 +1054,47 @@ str r9, [r9, #ISTATE_STACK_BASE] str r0, [r9, #ISTATE_OOP_TEMP] -@ str r0, [r9, #ISTATE_CALLEE] -@ str r0, [r9, #ISTATE_PREV_LINK] str r0, [r9, #ISTATE_MSG] -@ str r0, [r9, #ISTATE_MDX] - - ldr r10, [r11, #METHOD_CONSTANTS] + + ldr ip, [r11, #METHOD_CONSTANTS] sub r7, r4, #4 mov r5, #0 add r7, r7, r1, lsl #2 - ldr r10, [r10, #CONSTANTPOOL_CACHE] - - str r2, [r9, #ISTATE_THREAD] + ldr ip, [ip, #CONSTANTPOOL_CACHE] + + str thread, [r9, #ISTATE_THREAD] str r5, [r9, #ISTATE_BCP] str r7, [r9, #ISTATE_LOCALS] - str r10, [r9, #ISTATE_CONSTANTS] + str ip, [r9, #ISTATE_CONSTANTS] str r11, [r9, #ISTATE_METHOD] str r9, [r9, #ISTATE_SELF_LINK] -@ stmia r9, {r2, r5, r7, r10, r11} - ldr r1, [r2, #THREAD_STACK_SIZE] - ldr r3, [r2, #THREAD_STACK_BASE] + ldr r1, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] add r0, r9, #72 - mov r9, r2 + rsb r3, r1, r3 rsb r3, r3, arm_sp cmp r3, #4096 - str r0, [r9, #THREAD_TOP_ZERO_FRAME] + str r0, [thread, #THREAD_TOP_ZERO_FRAME] ldr r5, [r11, #METHOD_SIGNATUREHANDLER] blt .fast_native_entry_throw_stack_overflow cmp r5, #0 bne .fast_native_entry_got_handleraddr - str r5, [r9, #THREAD_LAST_JAVA_SP] @ r5 is zero at this point - str r0, [r9, #THREAD_LAST_JAVA_FP] - ldr r0, [r9, #THREAD_JAVA_SP] - str r0, [r9, #THREAD_LAST_JAVA_SP] - mov r0, r9 + str r5, [thread, #THREAD_LAST_JAVA_SP] @ r5 is zero at this point + str r0, [thread, #THREAD_LAST_JAVA_FP] + ldr r0, [thread, #THREAD_JAVA_SP] + str r0, [thread, #THREAD_LAST_JAVA_SP] + mov r0, thread mov r1, r11 bl _ZN18InterpreterRuntime19prepare_native_callEP10JavaThreadP13methodOopDesc - ldr r11, [r9, #THREAD_TOP_ZERO_FRAME] - ldr r1, [r9, #THREAD_PENDING_EXC] - str r5, [r9, #THREAD_LAST_JAVA_SP] @ r5 is zero at this point - str r5, [r9, #THREAD_LAST_JAVA_FP] - ldr r5, [r9, #THREAD_JAVA_SP] - str r5, [r9, #THREAD_LAST_JAVA_SP] + ldr r11, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_PENDING_EXC] + str r5, [thread, #THREAD_LAST_JAVA_SP] @ r5 is zero at this point + str r5, [thread, #THREAD_LAST_JAVA_FP] + ldr r5, [thread, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_LAST_JAVA_SP] ldr r11, [r11, #-72 + ISTATE_METHOD] cmp r1, #0 bne .fast_native_entry_exception @@ -1077,25 +1103,25 @@ ldr r2, [dispatch, #InterpreterRuntime_slow_signature_handler_Address-XXX] cmp r5, r2 bne .fast_native_entry_get_handler - ldr r3, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] stmfd sp!, {r2} mov r2, #0 - str r2, [r9, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_LAST_JAVA_SP] ldmfd sp!, {r2} - mov r0, r9 - str r3, [r9, #THREAD_LAST_JAVA_FP] - ldr r3, [r9, #THREAD_JAVA_SP] - str r3, [r9, #THREAD_LAST_JAVA_SP] + mov r0, thread + str r3, [thread, #THREAD_LAST_JAVA_FP] + ldr r3, [thread, #THREAD_JAVA_SP] + str r3, [thread, #THREAD_LAST_JAVA_SP] mov r3, r2 mov r1, r11 bl _ZN18InterpreterRuntime22slow_signature_handlerEP10JavaThreadP13methodOopDescPiS4_ - ldr r11, [r9, #THREAD_TOP_ZERO_FRAME] - ldr r1, [r9, #THREAD_PENDING_EXC] + ldr r11, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_PENDING_EXC] mov r3, #0 ldr r11, [r11, #-72 + ISTATE_METHOD] cmp r1, #0 - str r3, [r9, #THREAD_LAST_JAVA_SP] - str r3, [r9, #THREAD_LAST_JAVA_FP] + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r3, [thread, #THREAD_LAST_JAVA_FP] mov r5, r0 bne .fast_native_entry_exception .fast_native_entry_get_handler: @@ -1113,14 +1139,14 @@ add r1, r5, #SIZEOF_FFI_CIF sub arm_sp, arm_sp, lr, lsl #2 - add r2, r9, #THREAD_JNI_ENVIRONMENT + add r2, thread, #THREAD_JNI_ENVIRONMENT mov lr, arm_sp str r2, [lr], #4 #ifdef __ARM_PCS_VFP - mov r10, #0xff @ bitmap for floating-point register set - orr r10, #0xff00 + mov thread, #0xff @ bitmap for floating-point register set + orr thread, #0xff00 #endif ldr r2, [r11, #METHOD_ACCESSFLAGS] add r1, r1, #4 @@ -1185,18 +1211,18 @@ .endm .fast_copy_double: - orrs r10, r10 + orrs thread, thread ldreq r2, [r7], #-4 beq vm_fatal_error - FIND_LOWEST_BIT_PAIR r0, r10 + FIND_LOWEST_BIT_PAIR r0, thread adrl r2, .copy_double_table add pc, r2, r0, asl#5 .fast_copy_float: - orrs r10, r10 + orrs thread, thread ldreq r2, [r7], #-4 beq vm_fatal_error - FIND_LOWEST_BIT r0, r10 + FIND_LOWEST_BIT r0, thread adr r2, .copy_float_table add pc, r2, r0, asl#6 #else @@ -1238,17 +1264,18 @@ bge .fast_copy_args .fast_no_args: - ldr r0, [r9, #THREAD_TOP_ZERO_FRAME] + ldr thread, [r9, #ISTATE_THREAD] + ldr r0, [thread, #THREAD_TOP_ZERO_FRAME] mov r2, #_thread_in_native mov ip, #0 - str ip, [r9, #THREAD_LAST_JAVA_SP] - - str r0, [r9, #THREAD_LAST_JAVA_FP] - str r2, [r9, #THREAD_STATE] - - ldr r2, [r9, #THREAD_JAVA_SP] - str r2, [r9, #THREAD_LAST_JAVA_SP] + str ip, [thread, #THREAD_LAST_JAVA_SP] + + str r0, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_STATE] + + ldr r2, [thread, #THREAD_JAVA_SP] + str r2, [thread, #THREAD_LAST_JAVA_SP] ldr ip, [r11, #METHOD_NATIVEHANDLER] ldrh r11, [r11, #METHOD_SIZEOFPARAMETERS] @@ -1260,11 +1287,11 @@ mov arm_sp, r4 ldr r3, [dispatch, #SafePointSynchronize_state_Address-XXX] - str ip, [r9, #THREAD_STATE] + str ip, [thread, #THREAD_STATE] ldr r3, [r3, #0] cmp r3, #0 - ldreq r3, [r9, #THREAD_SUSPEND_FLAGS] + ldreq r3, [thread, #THREAD_SUSPEND_FLAGS] cmpeq r3, #0 bne .fast_native_entry_do_special @@ -1272,14 +1299,14 @@ mov r3, #_thread_in_Java mov r2, #0 - str r3, [r9, #THREAD_STATE] - str r2, [r9, #THREAD_LAST_JAVA_SP] - str r2, [r9, #THREAD_LAST_JAVA_FP] + str r3, [thread, #THREAD_STATE] + str r2, [thread, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_LAST_JAVA_FP] add r2, r5, #SIZEOF_FFI_CIF ldr r3, [r5, #4] - ldr r5, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r5, [thread, #THREAD_TOP_ZERO_FRAME] ldr lr, [r5], #4 @@ -1289,7 +1316,7 @@ adr r3, .return_type_table ldrh r2, [ip, #6] - ldr ip, [r9, #THREAD_ACTIVE_HANDLES] + ldr ip, [thread, #THREAD_ACTIVE_HANDLES] mov tmp1, #0 ldr pc, [r3, r2, lsl #2] @@ -1319,64 +1346,64 @@ #ifdef __ARM_PCS_VFP .fast_native_return_double: fsts s0, [r5, #-8] - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] fsts s1, [r5, #-4] add r5, #-8 - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_float: fsts s0, [r5, #-4] - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] add r5, #-4 - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} #endif .fast_native_return_dw: str r0, [r5, #-8]! - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r1, [r5, #4] - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_byte: mov r0, r0, lsl #24 - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] mov r0, r0, asr #24 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_char: mov r0, r0, lsl #16 - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] mov r0, r0, lsr #16 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_bool: ands r0, r0, #255 - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] movne r0, #1 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_obj: cmp r0, #0 ldrne r0, [r0] str r0, [r5, #-4]! - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_short: @@ -1385,25 +1412,25 @@ .fast_native_return_w: str r0, [r5, #-4]! .fast_native_return_void: - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] .fast_native_exit: - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} .fast_native_entry_throw_stack_overflow: - str r0, [r9, #THREAD_LAST_JAVA_FP] - mov r0, r9 + str r0, [thread, #THREAD_LAST_JAVA_FP] + mov r0, thread bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread mov r3, #0 - ldr r1, [r9, #THREAD_PENDING_EXC] - str r3, [r9, #THREAD_LAST_JAVA_FP] - str r3, [r9, #THREAD_LAST_JAVA_SP] + ldr r1, [thread, #THREAD_PENDING_EXC] + str r3, [thread, #THREAD_LAST_JAVA_FP] + str r3, [thread, #THREAD_LAST_JAVA_SP] .fast_native_entry_exception: - ldr r5, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r5, [thread, #THREAD_TOP_ZERO_FRAME] ldr r3, [r5], #4 - str r3, [r9, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] ldrh r3, [r11, #METHOD_SIZEOFPARAMETERS] add r5, r5, r3, lsl #2 @@ -1411,7 +1438,7 @@ .fast_native_entry_do_special: stmdb arm_sp!, {r0, r1} - mov r0, r9 + mov r0, thread bl _ZN10JavaThread40check_special_condition_for_native_transEPS_ ldmia arm_sp!, {r0, r1} b .fast_native_entry_do_return @@ -1536,69 +1563,69 @@ Opcode goto ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] branch_taken: - orr tmp1, tmp1, r1, lsl #8 - DISPATCH_START_REG tmp1 - cmp tmp1, #0 + orr r2, r2, r1, lsl #8 + DISPATCH_START_REG r2 + cmp r2, #0 ble do_backedge DISPATCH_FINISH branch_taken_unsafe: mov r2, r2, lsl #24 - orr tmp1, r1, r2, asr #16 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, r1, r2, asr #16 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_1: add jpc, jpc, #1 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_2: add jpc, jpc, #2 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_3: add jpc, jpc, #3 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_4: add jpc, jpc, #4 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH do_backedge: - USEC ldr tmp2, [istate, #ISTATE_METHOD] + USEC ldr tmp1, [istate, #ISTATE_METHOD] OSR ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] - USEC ldr r1, [tmp2, #METHOD_BACKEDGECOUNTER] - USEC ldr ip, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC ldr r1, [tmp1, #METHOD_BACKEDGECOUNTER] + USEC ldr ip, [tmp1, #METHOD_INVOCATIONCOUNTER] USEC add r1, r1, #INVOCATIONCOUNTER_COUNTINCREMENT OSR ldr lr, [lr] USEC add ip, ip, #INVOCATIONCOUNTER_COUNTINCREMENT - USEC str r1, [tmp2, #METHOD_BACKEDGECOUNTER] -#ifdef THUMB2EE + USEC str r1, [tmp1, #METHOD_BACKEDGECOUNTER] +#ifdef T2JIT OSR cmp r1, lr #else OSR cmp r1, lr, lsl #2 #endif - USEC str ip, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC str ip, [tmp1, #METHOD_INVOCATIONCOUNTER] OSR bcs do_osr osr_continue: @@ -1613,7 +1640,7 @@ do_synchronize: DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_SafePoint CACHE_CP CACHE_JPC @@ -1623,12 +1650,12 @@ #ifdef ON_STACK_REPLACEMENT -#ifdef THUMB2EE +#ifdef T2JIT do_osr: - ldr r3, [tmp2, #METHOD_CONSTMETHOD] + ldr r3, [tmp1, #METHOD_CONSTMETHOD] DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread sub r1, jpc, r3 sub r1, r1, #CONSTMETHOD_CODEOFFSET bl FREQ_COUNT_OVERFLOW @@ -1648,27 +1675,26 @@ cmp ip, #0 beq osr_continue - ldr r3, [tmp2, #METHOD_CONSTMETHOD] + ldr r3, [tmp1, #METHOD_CONSTMETHOD] DECACHE_JPC ldrh r3, [r3, #CONSTMETHOD_CODESIZE] DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] - sub r1, jpc, tmp1 + mov r0, thread + sub r1, jpc, r2 cmp r3, #MAX_FG_METHOD_SIZE bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + ldr tmp1, [dispatch, #BackgroundCompilation_Address-XXX] mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] + ldr r5, [tmp1] + str r3, [tmp1] bl FREQ_COUNT_OVERFLOW - str r5, [tmp2] + str r5, [tmp1] b 2f 1: bl FREQ_COUNT_OVERFLOW 2: - ldr r3, [istate, #ISTATE_THREAD] CACHE_CP - ldr r1, [r3, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 bne handle_exception @@ -1683,20 +1709,19 @@ osr_migrate: ldr tmp1, [r0, #128] @ osr_method->osr_entry() - mov r0, r3 + mov r0, thread bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread mov r1, r0 ldr r0, [istate, #ISTATE_METHOD] ldrh lr, [r0, #METHOD_MAXLOCALS] ldrh ip, [r0, #METHOD_SIZEOFPARAMETERS] - ldr r3, [istate, #ISTATE_THREAD] sub lr, lr, ip - ldr r2, [r3, #THREAD_TOP_ZERO_FRAME] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] add ip, r2, #4 ldr r2, [r2] add ip, ip, lr, lsl #2 - str r2, [r3, #THREAD_TOP_ZERO_FRAME] - str ip, [r3, #THREAD_JAVA_SP] + str r2, [thread, #THREAD_TOP_ZERO_FRAME] + str ip, [thread, #THREAD_JAVA_SP] mov r2, tmp1 @ r0 = method @ r1 = osr_buf @@ -1707,7 +1732,7 @@ mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} -#endif // THUMB2EE +#endif // T2JIT #endif // ON_STACK_REPLACEMENT @@ -1715,7 +1740,7 @@ Opcode ifnull POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 beq branch_taken DISPATCH 3 @@ -1724,7 +1749,7 @@ Opcode ifnonnull POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 bne branch_taken DISPATCH 3 @@ -1732,7 +1757,7 @@ Opcode iflt POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 blt branch_taken DISPATCH 3 @@ -1740,7 +1765,7 @@ Opcode ifge POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 bge branch_taken DISPATCH 3 @@ -1748,7 +1773,7 @@ Opcode ifgt POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 bgt branch_taken DISPATCH 3 @@ -1756,7 +1781,7 @@ Opcode ifle POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 ble branch_taken DISPATCH 3 @@ -1765,7 +1790,7 @@ Opcode if_acmpeq POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 beq branch_taken DISPATCH 3 @@ -1774,7 +1799,7 @@ Opcode if_acmpne POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 bne branch_taken DISPATCH 3 @@ -1782,7 +1807,7 @@ Opcode if_icmplt POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 blt branch_taken DISPATCH 3 @@ -1790,7 +1815,7 @@ Opcode if_icmpge POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 bge branch_taken DISPATCH 3 @@ -1798,7 +1823,7 @@ Opcode if_icmpgt POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 bgt branch_taken DISPATCH 3 @@ -1806,7 +1831,7 @@ Opcode if_icmple POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 ble branch_taken DISPATCH 3 @@ -1823,7 +1848,7 @@ bne handle_return DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_SafePoint CACHE_JPC cmp r0, #0 @@ -1833,22 +1858,23 @@ resolve_get_put: mov r1, r0 mov tmp1, lr - ldr r0, [istate, #ISTATE_THREAD] + @ stmfd arm_sp!, {lr} + mov r0, thread DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime15resolve_get_putEP10JavaThreadN9Bytecodes4CodeE - ldr r0, [istate, #ISTATE_THREAD] + ldr r3, [thread, #THREAD_PENDING_EXC] CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_CP cmp r3, #0 mov lr, tmp1 + @ ldmfd arm_sp!, {lr} bne getfield_exception @ Now restart the getfield ldrb r3, [jpc, #1] ldrb r2, [jpc, #2] orr r3, r3, r2, lsl #8 @ r3 = index - add tmp2, constpool, r3, lsl #4 @ tmp2 = cache + add tmp1, constpool, r3, lsl #4 @ tmp1 = cache bx lr accessor_non_w: @@ -1875,29 +1901,29 @@ add r0, r3, r1 ldm r0, {r0, r1} sub ip, ip, #4 - str ip, [r2, #THREAD_JAVA_SP] + str ip, [thread, #THREAD_JAVA_SP] stmia ip, {r0, r1} mov r0, #0 @ deoptimized_frames = 0 bx lr Opcode getfield ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0x00ff0000 cmp r3, #opc_getfield << 16 blne resolve_get_put - NFBC POP tmp1 - ldr r2, [tmp2, #CP_OFFSET+12] - NFBC cmp tmp1, #0 + NFBC POP r3 + ldr r2, [tmp1, #CP_OFFSET+12] + NFBC cmp r3, #0 NFBC beq null_ptr_exception - NFBC ldr tmp2, [tmp2, #CP_OFFSET+8] + NFBC ldr tmp1, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 FBC movhi r0, #opc_igetfield bls getfield_non_w - NFBC ldr tmp2, [tmp1, tmp2] - NFBC PUSH tmp2 + NFBC ldr tmp1, [r3, tmp1] + NFBC PUSH tmp1 NFBC DISPATCH 3 #ifdef FAST_BYTECODES @@ -1927,34 +1953,34 @@ b rewrite_bytecode #else getfield_sh: - ldrsh tmp2, [tmp1, tmp2] - PUSH tmp2 + ldrsh tmp1, [r3, tmp1] + PUSH tmp1 DISPATCH 3 getfield_h: - ldrh tmp2, [tmp1, tmp2] - PUSH tmp2 + ldrh tmp1, [r3, tmp1] + PUSH tmp1 DISPATCH 3 getfield_sb: - ldrsb tmp2, [tmp1, tmp2] - PUSH tmp2 + ldrsb tmp1, [r3, tmp1] + PUSH tmp1 DISPATCH 3 getfield_dw: - add tmp1, tmp1, tmp2 - ldm tmp1, {r2, tmp2} - PUSH r2, tmp2 + add r3, r3, tmp1 + ldm r3, {r2, tmp1} + PUSH r2, tmp1 DISPATCH 3 #endif Opcode putfield ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0xff000000 cmp r3, #opc_putfield << 24 blne resolve_get_put - ldr r2, [tmp2, #CP_OFFSET+12] - NFBC ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r2, [tmp1, #CP_OFFSET+12] + NFBC ldr tmp1, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 bls putfield_non_w FBC mov r0, #opc_iputfield @@ -1965,7 +1991,7 @@ NFBC POP r2, r3 NFBC cmp r3, #0 NFBC beq null_ptr_exception - NFBC str r2, [r3, tmp2] + NFBC str r2, [r3, tmp1] NFBC DISPATCH 3 putfield_non_w: @@ -1991,26 +2017,26 @@ POP r2, r3 cmp r3, #0 beq null_ptr_exception - strh r2, [r3, tmp2] + strh r2, [r3, tmp1] DISPATCH 3 putfield_sb: POP r2, r3 cmp r3, #0 beq null_ptr_exception - strb r2, [r3, tmp2] + strb r2, [r3, tmp1] DISPATCH 3 putfield_dw: POP r2, r3, lr cmp lr, #0 beq null_ptr_exception - add tmp2, lr, tmp2 - stm tmp2, {r2, r3} + add tmp1, lr, tmp1 + stm tmp1, {r2, r3} DISPATCH 3 putfield_a: POP r2, r3 cmp r3, #0 beq null_ptr_exception - str r2, [r3, tmp2] + str r2, [r3, tmp1] mov r0, r3 bl Helper_aputfield DISPATCH 3 @@ -2018,167 +2044,159 @@ getstatic_sh: DISPATCH_START 3 - ldrsh tmp2, [r3, lr] + ldrsh tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_h: DISPATCH_START 3 - ldrh tmp2, [r3, lr] + ldrh tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_sb: DISPATCH_START 3 - ldrsb tmp2, [r3, lr] + ldrsb tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_dw: DISPATCH_START 3 add r3, r3, lr - ldm r3, {r2, tmp2} + ldm r3, {r2, tmp1} DISPATCH_NEXT - PUSH r2, tmp2 + PUSH r2, tmp1 DISPATCH_FINISH getstatic_w: DISPATCH_START 3 - ldr tmp2, [r3, lr] + ldr tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH putstatic_sh: putstatic_h: DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT - strh tmp2, [r3, r2] + strh tmp1, [r3, r2] DISPATCH_FINISH putstatic_w: cmp lr, #tos_atos >> 1 @ >> 1 due to lsr #29 above beq putstatic_a DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT - str tmp2, [r3, r2] + str tmp1, [r3, r2] DISPATCH_FINISH putstatic_sb: DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT - strb tmp2, [r3, r2] + strb tmp1, [r3, r2] DISPATCH_FINISH putstatic_dw: DISPATCH_START 3 add r2, r2, r3 - POP r3, tmp2 + POP r3, tmp1 DISPATCH_NEXT - stm r2, {r3, tmp2} + stm r2, {r3, tmp1} DISPATCH_FINISH putstatic_a: - POP tmp2 - str tmp2, [r3, r2] + POP tmp1 + str tmp1, [r3, r2] mov r0, r3 bl Helper_aputfield DISPATCH 3 getstatic_volatile_sh: DISPATCH_START 3 - ldrsh tmp2, [r3, lr] + ldrsh tmp1, [r3, lr] FullBarrier DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_volatile_h: DISPATCH_START 3 - ldrh tmp2, [r3, lr] + ldrh tmp1, [r3, lr] FullBarrier DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_volatile_sb: DISPATCH_START 3 - ldrsb tmp2, [r3, lr] + ldrsb tmp1, [r3, lr] FullBarrier DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_volatile_dw: - DISPATCH_START 3 add r3, r3, lr #ifndef __ARM_ARCH_7A__ - ldm r3, {r2, tmp2} + ldm r3, {r2, tmp1} + FullBarrier + PUSH r2, tmp1 +#else + ldrexd r0, r1, [r3] + FullBarrier + PUSH r0, r1 +#endif + DISPATCH 3 +getstatic_volatile_w: + DISPATCH_START 3 + ldr tmp1, [r3, lr] FullBarrier DISPATCH_NEXT - PUSH r2, tmp2 -#else -0: ldrexd tmp2, tmp1 , [r3] - strexd r2 , tmp2, tmp1, [r3] - teq r2, #0 - bne 0b - FullBarrier - DISPATCH_NEXT - PUSH tmp2, tmp1 -#endif - DISPATCH_FINISH -getstatic_volatile_w: - DISPATCH_START 3 - ldr tmp2, [r3, lr] - FullBarrier - DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH putstatic_volatile_sh: putstatic_volatile_h: DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT StoreStoreBarrier - strh tmp2, [r3, r2] + strh tmp1, [r3, r2] StoreLoadBarrier DISPATCH_FINISH putstatic_volatile_w: cmp lr, #tos_atos >> 1 @ >> 1 due to lsr #29 above beq putstatic_volatile_a DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT StoreStoreBarrier - str tmp2, [r3, r2] + str tmp1, [r3, r2] StoreLoadBarrier DISPATCH_FINISH putstatic_volatile_sb: DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT StoreStoreBarrier - strb tmp2, [r3, r2] + strb tmp1, [r3, r2] StoreLoadBarrier DISPATCH_FINISH putstatic_volatile_dw: - DISPATCH_START 3 add ip, r2, r3 - POP tmp2, tmp1 - DISPATCH_NEXT + POP r0, r1 StoreStoreBarrier #ifndef __ARM_ARCH_7A__ - stm ip, {tmp2, tmp1} + stm ip, {r0, r1} #else // Data in tmp1 & tmp2, address in ip, r2 & r3 scratch 0: ldrexd r2, r3, [ip] - strexd r2, tmp2, tmp1, [ip] + strexd r2, r0, r1, [ip] teq r2, #0 bne 0b #endif - DISPATCH_NEXT + DISPATCH_START 3 StoreLoadBarrier DISPATCH_FINISH putstatic_volatile_a: - POP tmp2 + POP tmp1 StoreStoreBarrier - str tmp2, [r3, r2] + str tmp1, [r3, r2] mov r0, r3 bl Helper_aputfield DISPATCH 3 @@ -2196,13 +2214,12 @@ mov r1, #opc_invokestatic resolve_invoke: mov tmp1, lr - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime14resolve_invokeEP10JavaThreadN9Bytecodes4CodeE - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r3, [r0, #4] + ldr r3, [thread, #THREAD_PENDING_EXC] CACHE_CP cmp r3, #0 ldrb r3, [jpc, #1] @@ -2236,19 +2253,18 @@ Opcode newarray ldrb r1, [jpc, #1] @ zero_extendqisi2 ldr r2, [stack, #4] - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei - ldr r0, [istate, #ISTATE_THREAD] + ldr ip, [thread, #THREAD_PENDING_EXC] CACHE_JPC - ldr ip, [r0, #THREAD_PENDING_EXC] CACHE_CP cmp ip, #0 - ldr r2, [r0, #THREAD_VM_RESULT] + ldr r2, [thread, #THREAD_VM_RESULT] bne handle_exception str r2, [stack, #4] - str ip, [r0, #THREAD_VM_RESULT] + str ip, [thread, #THREAD_VM_RESULT] DISPATCH 2 Opcode anewarray @@ -2260,17 +2276,16 @@ DECACHE_JPC DECACHE_STACK ldr r1, [lr, #METHOD_CONSTANTS] - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl _ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii - ldr r0, [istate, #ISTATE_THREAD] + ldr ip, [thread, #THREAD_PENDING_EXC] CACHE_JPC - ldr ip, [r0, #THREAD_PENDING_EXC] CACHE_CP cmp ip, #0 - ldr r2, [r0, #THREAD_VM_RESULT] + ldr r2, [thread, #THREAD_VM_RESULT] bne handle_exception str r2, [stack, #4] - str ip, [r0, #THREAD_VM_RESULT] + str ip, [thread, #THREAD_VM_RESULT] DISPATCH 3 Opcode arraylength @@ -2292,7 +2307,7 @@ cmp r1, #0 beq null_ptr_exception mov r2, #0 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread mov r3, r2 bl _ZN12ThreadShadow21set_pending_exceptionEP7oopDescPKci b handle_exception @@ -2336,193 +2351,29 @@ DISPATCH 3 Opcode monitorenter - ldr r1, [stack, #4] - cmp r1, #0 - beq .monitorenter_4 - ldr r0, [istate, #ISTATE_MONITOR_BASE] - ldr r2, [istate, #ISTATE_STACK_BASE] - cmp r2, r0 - beq .monitorenter_5 - mov sl, #0 -.monitorenter_1: - ldr r3, [r2, #4] - cmp r3, #0 - moveq sl, r2 - beq .monitorenter_2 - cmp r1, r3 - beq .monitorenter_3 -.monitorenter_2: - add r2, r2, #8 - cmp r2, r0 - bne .monitorenter_1 -.monitorenter_3: - cmp sl, #0 - beq .monitorenter_5 - str r1, [sl, #4] - ldr r3, [r1, #0] - mov r0, sl - orr tmp1, r3, #1 - mov r2, tmp1 - str tmp1, [sl, #0] - bl cmpxchg_ptr - cmp r0, tmp1 - beq .monitorenter_exit - ldr r0, [istate, #ISTATE_THREAD] - bic r1, tmp1, #3 - bl JavaThread_is_lock_owned + mov r0, r8 + POP r1 + DECACHE_JPC + DECACHE_STACK + bl Helper_monitorenter + CACHE_JPC + CACHE_CP + CACHE_STACK @ monitorenter may expand stack!!! cmp r0, #0 - movne lr, #0 - strne lr, [sl, #0] - bne .monitorenter_exit - mov r1, sl + bne handle_exception + DISPATCH 1 + + Opcode monitorexit + mov r0, r8 + POP r1 DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] - bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] + bl Helper_monitorexit CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] - cmp r3, #0 - beq .monitorenter_exit - b handle_exception -.monitorenter_4: - b null_ptr_exception -.monitorenter_5: - mov lr, #0 - DECACHE_JPC - DECACHE_STACK - ldr r3, [istate, #ISTATE_THREAD] - ldr ip, [istate, #ISTATE_THREAD] - ldr r1, [r3, #THREAD_JAVA_SP] - ldr r3, [r3, #THREAD_JAVA_STACK_BASE] - str lr, [ip, #THREAD_LAST_JAVA_SP] - rsb r3, r3, r1 - cmp r3, #7 - ble vm_fatal_error - sub r3, r1, #8 - ldr r1, [istate, #ISTATE_THREAD] - str r3, [r1, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK] - ldr r1, [istate, #ISTATE_STACK_BASE] - add r3, r2, #4 - cmp r1, r3 - bls .monitorenter_7 - add r0, r2, #8 -.monitorenter_6: - ldr r3, [r0, #-4] - mov r2, r0 - str r3, [r0, #-12] - add r0, r0, #4 - ldr r1, [istate, #ISTATE_STACK_BASE] - cmp r1, r2 - bhi .monitorenter_6 - ldr r2, [istate, #ISTATE_STACK] -.monitorenter_7: - sub r1, r1, #8 - sub r2, r2, #8 - ldr r3, [istate, #ISTATE_STACK_LIMIT] - str r1, [istate, #ISTATE_STACK_BASE] - str r2, [istate, #ISTATE_STACK] - sub r3, r3, #8 - mov r0, #0 - str r3, [istate, #ISTATE_STACK_LIMIT] - str r0, [r1, #4] - ldr r1, [istate, #ISTATE_THREAD] - - str r0, [r1, #THREAD_LAST_JAVA_SP] @ set SP to zero before setting FP - ldr r3, [r1, #THREAD_TOP_ZERO_FRAME] - str r3, [r1, #THREAD_LAST_JAVA_FP] - ldr r3, [r1, #THREAD_JAVA_SP] - str r3, [r1, #THREAD_LAST_JAVA_SP] - - CACHE_STACK - ldr sl, [istate, #ISTATE_STACK_BASE] - ldr r3, [stack, #4] - CACHE_JPC - mov r1, r3 - str r3, [sl, #4] - ldr r2, [r3, #0] - mov r0, sl - orr tmp1, r2, #1 - mov r2, tmp1 - str tmp1, [sl, #0] - bl cmpxchg_ptr - cmp r0, tmp1 - beq .monitorenter_exit - ldr r0, [istate, #ISTATE_THREAD] - bic r1, tmp1, #3 - bl JavaThread_is_lock_owned + CACHE_CP cmp r0, #0 - movne ip, #0 - strne ip, [sl, #0] - bne .monitorenter_exit - mov r1, sl - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_JPC - DECACHE_STACK - bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] - CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] - cmp r3, #0 - beq .monitorenter_exit - b handle_exception -.monitorenter_exit: - CACHE_CP - add stack, stack, #4 - DISPATCH 1 - - Opcode monitorexit - ldr sl, [stack, #4] - cmp sl, #0 - beq .monitorexit_3 - ldr r2, [istate, #ISTATE_MONITOR_BASE] - ldr tmp1, [istate, #ISTATE_STACK_BASE] - cmp tmp1, r2 - bne .monitorexit_2 - b .monitorexit_4 -.monitorexit_1: - add tmp1, tmp1, #8 - cmp tmp1, r2 - beq .monitorexit_4 -.monitorexit_2: - ldr r3, [tmp1, #4] - cmp sl, r3 - bne .monitorexit_1 - ldr r0, [tmp1, #0] - mov lr, #0 - cmp r0, lr - str lr, [tmp1, #4] - beq .monitorexit_exit - mov r1, sl - mov r2, tmp1 - bl cmpxchg_ptr - cmp tmp1, r0 - beq .monitorexit_exit - str sl, [tmp1, #4] - mov r1, tmp1 - DECACHE_JPC - DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] - bl _ZN18InterpreterRuntime11monitorexitEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] - CACHE_JPC - cmp r3, #0 - beq .monitorexit_exit - b handle_exception -.monitorexit_3: - b null_ptr_exception -.monitorexit_4: - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_JPC - DECACHE_STACK - bl _ZN18InterpreterRuntime37throw_illegal_monitor_state_exceptionEP10JavaThread - b handle_exception_with_bcp -.monitorexit_exit: - add stack, stack, #4 - CACHE_CP - DISPATCH 1 + bne handle_exception + DISPATCH 1 ALIGN_CODE vm_fatal_error: @@ -2621,10 +2472,10 @@ DISPATCH 4 do_wide_ret: ldr r2, [istate, #ISTATE_METHOD] - ldr r2, [r2, #8] + ldr r2, [r2, #METHOD_CONSTMETHOD] ldr r1, [locals, -r1, lsl #2] add jpc, r2, r1 - DISPATCH 48 + DISPATCH CONSTMETHOD_CODEOFFSET do_wide_iinc: ldrsb r2, [jpc, #4] ldrb r3, [jpc, #5] @@ -2636,28 +2487,27 @@ Opcode multianewarray ldrb tmp1, [jpc, #3] @ zero_extendqisi2 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread add r1, stack, tmp1, lsl #2 DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r1, [r0, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_CP cmp r1, #0 - ldr r3, [r0, #THREAD_VM_RESULT] + ldr r3, [thread, #THREAD_VM_RESULT] bne handle_exception str r3, [stack, tmp1, asl #2]! - str r1, [r0, #THREAD_VM_RESULT] + str r1, [thread, #THREAD_VM_RESULT] sub stack, stack, #4 DISPATCH 4 Opcode jsr_w ldr r3, [istate, #ISTATE_METHOD] - ldr r1, [r3, #8] + ldr r1, [r3, #METHOD_CONSTMETHOD] rsb r2, r1, jpc - sub r2, r2, #43 + sub r2, r2, #CONSTMETHOD_CODEOFFSET - 5 str r2, [stack], #-4 b do_goto_w @@ -2680,7 +2530,7 @@ bne 1f DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_SafePoint CACHE_JPC CACHE_CP @@ -2693,20 +2543,19 @@ mov r2, jpc DECACHE_STACK DECACHE_JPC - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr r1, [istate, #ISTATE_METHOD] bl _ZN18InterpreterRuntime24get_original_bytecode_atEP10JavaThreadP13methodOopDescPh mov tmp1, r0 - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] + mov r0, thread + ldr r3, [thread, #THREAD_PENDING_EXC] cmp r3, #0 bne handle_exception ldr r2, [istate, #ISTATE_BCP] ldr r1, [istate, #ISTATE_METHOD] bl _ZN18InterpreterRuntime11_breakpointEP10JavaThreadP13methodOopDescPh - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] + ldr r3, [thread, #THREAD_PENDING_EXC] CACHE_CP cmp r3, #0 and r0, tmp1, #255 @@ -2776,44 +2625,48 @@ beq handle_return DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl _ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] + ldr r3, [thread, #THREAD_PENDING_EXC] @ CACHE_LOCALS & CACHE_CP not require for handle_retuen / handle_exception cmp r3, #0 beq handle_return b handle_exception - ALIGN_CODE +// This code is logically part of normal_entry_synchronized, but it's +// been moved out because there is only a FAST_ENTRY_OFFSET sized gap +// here. + +.normal_entry_return_synchronized: + mov r0, #0 @ deoptimized_frames = 0 + ldmfd arm_sp!, {regset, pc} + SLOW_ENTRY normal_entry_synchronized: stmfd arm_sp!, {regset, lr} - bl fast_normal_entry_synchronized - mov r0, #0 @ deoptimized_frames = 0 - ldmfd arm_sp!, {regset, pc} - - ALIGN_CODE + mov thread, r2 + ldr r7, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] + rsb r3, r7, r3 + rsb r3, r3, arm_sp + cmp r3, #32768 + blt stack_overflow_no_frame + add lr, pc, #(.normal_entry_return_synchronized-(.fast_normal_entry1+4)) +.fast_normal_entry1: + + FAST_ENTRY fast_normal_entry_synchronized: stmfd arm_sp!, {fast_regset, lr} - mov sl, r0 - mov tmp1, r2 - - ldr r0, [tmp1, #THREAD_STACK_SIZE] - ldr r3, [tmp1, #THREAD_STACK_BASE] - rsb r3, r0, r3 - rsb r3, r3, arm_sp - cmp r3, #32768 - blt stack_overflow_before_frame - - ldrh r2, [sl, #METHOD_MAXLOCALS] - ldrh r3, [sl, #METHOD_SIZEOFPARAMETERS] + mov tmp1, r0 + + ldrh r2, [tmp1, #METHOD_MAXLOCALS] + ldrh r3, [tmp1, #METHOD_SIZEOFPARAMETERS] rsb r8, r3, r2 - ldr r1, [tmp1, #THREAD_JAVA_SP] - ldrh r0, [sl, #METHOD_MAXSTACK] - ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] + ldr r1, [thread, #THREAD_JAVA_SP] + ldrh r0, [tmp1, #METHOD_MAXSTACK] + ldr r3, [thread, #THREAD_JAVA_STACK_BASE] sub r5, r1, r8, lsl #2 sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE @@ -2829,32 +2682,25 @@ subs r8, r8, #1 str r2, [r1, #-4]! bgt .zero_locals_synchronized - str r1, [tmp1, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_JAVA_SP] .normal_entry_synchronized_no_locals: - mov r2, tmp1 - mov r1, sl - add r0, tmp1, #THREAD_JAVA_STACK_BASE + mov r2, thread + mov r1, tmp1 + add r0, thread, #THREAD_JAVA_STACK_BASE bl build_frame - mov tmp_vvv, r0 - ldr r3, [tmp1, #THREAD_TOP_ZERO_FRAME] - sub r0, r0, #72 @ This mysterious constant is actually the offset of - @ the next frame field. Why is "ISTATE_NEXT_FRAME" - @ not used here? - mov istate, r0 - str r3, [tmp_vvv, #0] + ldr ip, [thread, #THREAD_TOP_ZERO_FRAME] + sub istate, r0, #ISTATE_NEXT_FRAME + mov r2, #0 @ set SP to zero before setting FP + str r0, [thread, #THREAD_TOP_ZERO_FRAME] + str r2, [thread, #THREAD_LAST_JAVA_SP] + str r0, [thread, #THREAD_LAST_JAVA_FP] + ldr r3, [thread, #THREAD_JAVA_SP] + str r3, [thread, #THREAD_LAST_JAVA_SP] + str ip, [istate, #ISTATE_NEXT_FRAME] adrl ip, dispatch_init_adcon - ldr r1, [tmp1, #THREAD_JAVA_SP] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] ldm ip, {r0, r1} add r0, r0, ip - str tmp_vvv, [tmp1, #THREAD_TOP_ZERO_FRAME] -@ CACHE_JPC - mov r2, #0 @ set SP to zero before setting FP - str r2, [tmp1, #THREAD_LAST_JAVA_SP] - str tmp_vvv, [tmp1, #THREAD_LAST_JAVA_FP] - ldr r3, [tmp1, #THREAD_JAVA_SP] - str r3, [tmp1, #THREAD_LAST_JAVA_SP] add dispatch, r1, r0 ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r0, #METHOD_ACCESSFLAGS] @@ -2866,20 +2712,21 @@ CACHE_LOCALS tst r3, #JVM_ACC_STATIC ldrne r3, [r0, #METHOD_CONSTANTS] - ldreq sl, [locals, #0] + ldreq tmp1, [locals, #0] ldrne r2, [r3, #CONSTANTPOOL_POOL_HOLDER] - ldr tmp1, [istate, #ISTATE_MONITOR_BASE] - ldrne sl, [r2, #KLASS_PART + KLASS_JAVA_MIRROR] - ldr r3, [sl, #0] + ldrne tmp1, [r2, #KLASS_PART+KLASS_JAVA_MIRROR] + ldr r3, [tmp1, #0] orr tmp_xxx, r3, #1 - str tmp_xxx, [tmp1, #-8]! + ldr ip, [istate, #ISTATE_MONITOR_BASE] + str tmp_xxx, [ip, #-8] .normal_do_synchronisation_2: - ldr tmp_vvv, [sl, #0] + ldr tmp_vvv, [tmp1, #0] cmp tmp_xxx, tmp_vvv bne .normal_do_synchronisation_3 mov r0, tmp_xxx - mov r1, tmp1 - mov r2, sl + ldr r1, [istate, #ISTATE_MONITOR_BASE] + sub r1, r1, #8 + mov r2, tmp1 mov r3, #0xffffffc0 bic r3, r3, #0xf000 blx r3 @@ -2887,21 +2734,22 @@ bne .normal_do_synchronisation_2 b 1f .normal_do_synchronisation_3: - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bic r1, tmp_xxx, #3 bl JavaThread_is_lock_owned cmp r0, #0 beq .normal_do_synchronisation_4 + ldr ip, [istate, #ISTATE_MONITOR_BASE] mov r3, #0 - str r3, [tmp1] + str r3, [ip, #-8] b 1f .normal_do_synchronisation_4: - mov r1, tmp1 + ldr r1, [istate, #ISTATE_MONITOR_BASE] + sub r1, r1, #8 DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] + ldr r3, [thread, #THREAD_PENDING_EXC] cmp r3, #0 mov r2, r0 bne handle_exception_do_not_unlock @@ -2924,15 +2772,15 @@ ldr r3, [r0, #METHOD_CONSTMETHOD] ldrh r3, [r3, #CONSTMETHOD_CODESIZE] mov r1, #0 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread cmp r3, #MAX_FG_METHOD_SIZE bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + ldr tmp1, [dispatch, #BackgroundCompilation_Address-XXX] mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] + ldr r5, [tmp1] + str r3, [tmp1] bl FREQ_COUNT_OVERFLOW - str r5, [tmp2] + str r5, [tmp1] b 2f 1: bl FREQ_COUNT_OVERFLOW @@ -2964,15 +2812,15 @@ SW_NPC cmp r2, #0 SW_NPC beq null_ptr_exception .abortentry110: - ldr tmp2, [r2, #4] @ rcvr->klass() + ldr tmp1, [r2, #4] @ rcvr->klass() tst r3, #flag_methodInterface bne .invokeinterface_methodInterface ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass - add r1, tmp2, #INSTANCEKLASS_VTABLE_OFFSET - ldr r2, [tmp2, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] - ldr ip, [tmp2, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] + add r1, tmp1, #INSTANCEKLASS_VTABLE_OFFSET + ldr r2, [tmp1, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] + ldr ip, [tmp1, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] add r2, r2, #1 bic r2, r2, #1 @@ -2989,30 +2837,27 @@ ldr r3, [r0, #CP_OFFSET+8] ldr r2, [r1, #-4] - add r3, tmp2, r3, lsl #2 - ldr tmp2, [r3, r2] - cmp tmp2, #0 + add r3, tmp1, r3, lsl #2 + ldr tmp1, [r3, r2] + cmp tmp1, #0 beq abstractmethod_exception .invokeinterface_invoke: - ldr tmp1, [istate, #ISTATE_THREAD] -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] mov r1, #0 - str ip, [istate, #36] - str r1, [tmp1, #THREAD_LAST_JAVA_FP] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, tmp1 blx r3 adrl ip, dispatch_init_adcon @@ -3022,24 +2867,23 @@ CACHE_LOCALS - ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC - ldr stack, [ip, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] ldr r2, [istate, #ISTATE_STACK_LIMIT] sub stack, stack, #4 - ldr r1, [ip, #THREAD_JAVA_SP] + ldr r1, [thread, #THREAD_JAVA_SP] stmfd arm_sp!, {r1} mov r1, #0 - str r1, [ip, #THREAD_LAST_JAVA_SP] - ldr r1, [ip, #THREAD_TOP_ZERO_FRAME] + str r1, [thread, #THREAD_LAST_JAVA_SP] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [ip, #THREAD_JAVA_SP] - str r1, [ip, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] ldmfd arm_sp!, {r1} - str r1, [ip, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_START 5 - ldr r3, [ip, #4] + ldr r3, [thread, #THREAD_PENDING_EXC] DISPATCH_NEXT DISPATCH_NEXT cmp r3, #0 @@ -3051,11 +2895,11 @@ .invokeinterface_methodInterface: tst r3, #flag_vfinalMethod - ldrne tmp2, [r0, #CP_OFFSET+8] + ldrne tmp1, [r0, #CP_OFFSET+8] bne .invokeinterface_invoke ldr r1, [r0, #CP_OFFSET+8] - add r3, tmp2, r1, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, tmp1, r1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] b .invokeinterface_invoke # r2 = [jpc, #1] @@ -3093,7 +2937,7 @@ ldr r0, [r0, #CP_OFFSET+4] // Call site .abortentry119: ldr r0, [r0, lr] // Method handle - ldr r1, [istate, #ISTATE_THREAD] + mov r1, thread // Call the target method bl _ZN14CppInterpreter21process_method_handleEP7oopDescP6Thread @@ -3106,27 +2950,26 @@ CACHE_LOCALS - ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC - ldr stack, [ip, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] ldr r2, [istate, #ISTATE_STACK_LIMIT] sub stack, stack, #4 // Fix up everything in the thread state to point to the // current frame - ldr r1, [ip, #THREAD_JAVA_SP] + ldr r1, [thread, #THREAD_JAVA_SP] stmfd arm_sp!, {r1} mov r1, #0 - str r1, [ip, #THREAD_LAST_JAVA_SP] - ldr r1, [ip, #THREAD_TOP_ZERO_FRAME] + str r1, [thread, #THREAD_LAST_JAVA_SP] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [ip, #THREAD_JAVA_SP] - str r1, [ip, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] ldmfd arm_sp!, {r1} - str r1, [ip, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_START 5 // Test for an exception - ldr r3, [ip, #4] + ldr r3, [thread, #4] DISPATCH_NEXT DISPATCH_NEXT cmp r3, #0 @@ -3162,7 +3005,7 @@ ldr r1, [r0, #CP_OFFSET+4] // Pointer to call site // Already resolved? cmp r1, #0 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread mov r1, #\opc bleq _ZN18InterpreterRuntime11resolve_ldcEP10JavaThreadN9Bytecodes4CodeE @@ -3173,8 +3016,7 @@ PUSH r1 // Test for an exception - ldr ip, [istate, #ISTATE_THREAD] - ldr r3, [ip, #4] + ldr r3, [thread, #4] cmp r3, #0 bne handle_exception @@ -3209,7 +3051,6 @@ DECACHE_JPC add r0, r2, asl #4 ldr r3, [r0, #CP_OFFSET+12] - ldr tmp1, [istate, #ISTATE_THREAD] and r1, r3, #255 ldr r2, [stack, r1, asl #2] mov r1, #0 @@ -3218,15 +3059,13 @@ .abortentry117: HW_NPC ldr r3, [r2] @ Only to provoke abort - ldr tmp2, [r0, #CP_OFFSET+8] - -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr tmp1, [r0, #CP_OFFSET+8] + + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] b normal_dispatch_and_return @@ -3251,20 +3090,19 @@ #else DECACHE_STACK DECACHE_JPC - ldr tmp1, [istate, #ISTATE_THREAD] and r1, r3, #255 ldr r2, [stack, r1, asl #2] mov r1, #0 cmp r2, #0 beq null_ptr_exception - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] tst r3, #flag_vfinalMethod bne 1f ldr r3, [r2, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] 1: #endif // FAST_BYTECODES @@ -3278,37 +3116,33 @@ DECACHE_JPC add r0, r0, r2, asl #4 ldr r3, [r0, #CP_OFFSET+12] - ldr tmp1, [istate, #ISTATE_THREAD] and r1, r3, #255 ldr r2, [stack, r1, asl #2] mov r1, #0 SW_NPC cmp r2, #0 SW_NPC beq null_ptr_exception_jpc_0 - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] .abortentry104: ldr r3, [r2, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] #endif // FAST_BYTECODES - -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] normal_dispatch_and_return: - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, tmp1 blx r3 adrl ip, dispatch_init_adcon @@ -3318,25 +3152,25 @@ CACHE_LOCALS - ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC - ldr stack, [ip, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] ldr r2, [istate, #ISTATE_STACK_LIMIT] sub stack, stack, #4 - ldr r1, [ip, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 mov r3, #0 - str r3, [ip, #THREAD_LAST_JAVA_SP] - str r2, [ip, #THREAD_JAVA_SP] - str r1, [ip, #THREAD_LAST_JAVA_FP] - str r2, [ip, #THREAD_LAST_JAVA_SP] + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_START 3 - ldr r3, [ip, #4] + ldr r3, [thread, #THREAD_PENDING_EXC] DISPATCH_NEXT DISPATCH_NEXT cmp r3, #0 DISPATCH_NEXT + bne invoke_exception_fix DISPATCH_NEXT CACHE_CP @@ -3360,20 +3194,16 @@ DECACHE_JPC FBC add r0, r2, asl #4 - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] mov r1, #0 -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr r3, [tmp2, #METHOD_FROM_INTERPRETED] - ldr tmp1, [istate, #ISTATE_THREAD] - str r3, [istate, #36] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str r1, [tmp1, #THREAD_LAST_JAVA_FP] + ldr r3, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] - - ldr ip, [istate, #36] - ldr r3, [ip, #0] + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [r3, #0] b normal_dispatch_and_return @@ -3396,7 +3226,6 @@ FBC add r0, r2, asl #4 ldr r3, [r0, #CP_OFFSET+12] - ldr tmp1, [istate, #ISTATE_THREAD] and r3, r3, #255 ldr r2, [stack, r3, asl #2] mov r1, #0 @@ -3405,55 +3234,55 @@ .abortentry118: HW_NPC ldr r3, [r2] @ Only to provoke abort - ldr tmp2, [r0, #CP_OFFSET+4] - -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr tmp1, [r0, #CP_OFFSET+4] + + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] b normal_dispatch_and_return - ALIGN_CODE +// This code is logically part of normal_entry, but it's been moved +// out because there is only a FAST_ENTRY_OFFSET sized gap here. + +.normal_entry_return: + mov r0, #0 @ deoptimized_frames = 0 + ldmfd arm_sp!, {regset, pc} + SLOW_ENTRY normal_entry: stmfd arm_sp!, {regset, lr} - - ldr r7, [r2, #THREAD_STACK_SIZE] - ldr r3, [r2, #THREAD_STACK_BASE] + mov thread, r2 + ldr r7, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] rsb r3, r7, r3 rsb r3, r3, arm_sp cmp r3, #32768 blt stack_overflow_no_frame - - bl fast_normal_entry - - mov r0, #0 @ deoptimized_frames = 0 - ldmfd arm_sp!, {regset, pc} - - ALIGN_CODE + add lr, pc, #(.normal_entry_return-(.normal_entry1+4)) +.normal_entry1: + + FAST_ENTRY fast_normal_entry: adrl ip, dispatch_init_adcon - mov tmp2, r0 + mov tmp1, r0 ldm ip, {r0, r1} - mov tmp1, r2 add r0, r0, ip - ldr stack, [tmp1, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] add dispatch, r1, r0 stmdb arm_sp!, {fast_regset, lr} - ldrh r0, [tmp2, #METHOD_MAXLOCALS] + ldrh r0, [tmp1, #METHOD_MAXLOCALS] mov r1, #0 - ldrh r3, [tmp2, #METHOD_SIZEOFPARAMETERS] + ldrh r3, [tmp1, #METHOD_SIZEOFPARAMETERS] mov ip, #INTERPRETER_FRAME - ldrh r2, [tmp2, #METHOD_MAXSTACK] + ldrh r2, [tmp1, #METHOD_MAXSTACK] sub r7, r0, r3 - ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] + ldr r3, [thread, #THREAD_JAVA_STACK_BASE] sub r5, stack, r7, lsl #2 sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE sub r5, r5, r2, lsl #2 @@ -3470,12 +3299,12 @@ subs r5, r5, #2 bcs 1b 3: - ldr r3, [tmp1, #THREAD_TOP_ZERO_FRAME] + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] mov lr, #0 sub istate, stack, #FRAME_SIZE // stack->push(INTERPRETER_FRAME); sub r2, istate, r2, lsl #2 str lr, [istate, #ISTATE_MSG] - str r2, [tmp1, #THREAD_JAVA_SP] + str r2, [thread, #THREAD_JAVA_SP] sub r5, r2, #4 @ stack limit = istate - stackwords - 4 str r3, [istate, #ISTATE_NEXT_FRAME] str ip, [istate, #ISTATE_FRAME_TYPE] @@ -3486,24 +3315,24 @@ str r1, [istate, #ISTATE_OOP_TEMP] add locals, locals, r0, lsl #2 sub stack, istate, #4 - ldr jpc, [tmp2, #METHOD_CONSTMETHOD] - ldr constpool, [tmp2, #METHOD_CONSTANTS] + ldr jpc, [tmp1, #METHOD_CONSTMETHOD] + ldr constpool, [tmp1, #METHOD_CONSTANTS] add ip, istate, #ISTATE_NEXT_FRAME DISPATCH_START CONSTMETHOD_CODEOFFSET ldr constpool, [constpool, #CONSTANTPOOL_CACHE] - str ip, [tmp1, #THREAD_TOP_ZERO_FRAME] - USEC ldr r3, [r10, #METHOD_INVOCATIONCOUNTER] + str ip, [thread, #THREAD_TOP_ZERO_FRAME] + USEC ldr r3, [tmp1, #METHOD_INVOCATIONCOUNTER] mov r1, #0 - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [tmp1, #THREAD_LAST_JAVA_FP] - ldr ip, [tmp1, #THREAD_JAVA_SP] - str ip, [tmp1, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] + str ip, [thread, #THREAD_LAST_JAVA_FP] + ldr ip, [thread, #THREAD_JAVA_SP] + str ip, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_NEXT USEC ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT - str tmp1, [istate, #ISTATE_THREAD] + str thread, [istate, #ISTATE_THREAD] USEC ldr lr, [lr] - USEC str r3, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC str r3, [tmp1, #METHOD_INVOCATIONCOUNTER] str locals, [istate, #ISTATE_LOCALS] USEC cmp r3, lr str constpool, [istate, #ISTATE_CONSTANTS] @@ -3511,7 +3340,7 @@ DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str r10, [istate, #ISTATE_METHOD] + str tmp1, [istate, #ISTATE_METHOD] str istate, [istate, #ISTATE_SELF_LINK] @ mov lr, #0 @ str lr, [istate, #ISTATE_PREV_LINK] @@ -3519,20 +3348,20 @@ DISPATCH_FINISH #ifdef USE_COMPILER method_entry_freq_count_overflow: - ldr r3, [r10, #METHOD_CONSTMETHOD] + ldr r3, [tmp1, #METHOD_CONSTMETHOD] DECACHE_JPC ldrh r3, [r3, #CONSTMETHOD_CODESIZE] - str r10, [istate, #ISTATE_METHOD] + str tmp1, [istate, #ISTATE_METHOD] mov r1, #0 - mov r0, tmp1 + mov r0, thread cmp r3, #MAX_FG_METHOD_SIZE bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + ldr tmp1, [dispatch, #BackgroundCompilation_Address-XXX] mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] + ldr r5, [tmp1] + str r3, [tmp1] bl FREQ_COUNT_OVERFLOW - str r5, [tmp2] + str r5, [tmp1] b 2f 1: bl FREQ_COUNT_OVERFLOW @@ -3543,17 +3372,36 @@ CACHE_CP DISPATCH 0 -#ifdef THUMB2EE -#define THUMB2_MAXLOCALS 1000 +#ifdef T2JIT + +#define JAZ_V1 r5 +#define JAZ_V2 r6 +#define JAZ_V3 r7 +#define JAZ_V4 r8 +#define JAZ_V5 r9 +#define JAZ_V6 r11 + +#define JAZ_REGSET JAZ_V1,JAZ_V2,JAZ_V3,JAZ_V4,JAZ_V5,JAZ_V6 +#define JAZ_REGSET_LEN 6 + call_thumb2: str istate, [istate, #ISTATE_SELF_LINK] - mov ip, r1 - sub r1, locals, #THUMB2_MAXLOCALS * 4 - ldr r2, [istate, #ISTATE_THREAD] - sub r3, locals, #31 * 4 + stmdb sp!, {JAZ_REGSET} + mov ip, #0 +3: + ldrsh r3, [r1], #2 + cmp r3, #-1 + ldrne r3, [locals, -r3, lsl #2] + strne r3, [sp, ip, lsl #2] + add ip, ip, #1 + cmp ip, #JAZ_REGSET_LEN + bne 3b + + ldmia sp!, {JAZ_REGSET} +1: add stack, stack, #4 - bx ip -#endif // THUMB2EE + bx r0 +#endif // T2JIT #endif // USE_COMPILER .global Thumb2_Install @@ -3564,25 +3412,24 @@ bx lr handle_return: - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - - cmp tmp1, tmp2 + + cmp tmp1, r9 blcc return_check_monitors mov r3, #0 ldrb lr, [jpc, #0] - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_FP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r3, [thread, #THREAD_LAST_JAVA_FP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] add r1, r1, r0, lsl #2 @@ -3596,14 +3443,14 @@ ldreq r0, [stack, #4] streq r0, [r1, #-4]! - str r1, [tmp_xxx, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @ ---------------------------------------------------------------------------------------- stack_overflow_no_frame: - mov r0, tmp1 + mov r0, thread mov ip, #0 str ip, [r0, #THREAD_LAST_JAVA_SP] ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] @@ -3614,7 +3461,7 @@ ldmfd arm_sp!, {regset, pc} stack_overflow_before_frame: - mov r0, tmp1 + mov r0, thread mov ip, #0 str ip, [r0, #THREAD_LAST_JAVA_SP] ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] @@ -3626,7 +3473,7 @@ handle_exception_do_not_unlock: mov r3, #1 - strb r3, [r2, #THREAD_DO_NOT_UNLOCK] + strb r3, [thread, #THREAD_DO_NOT_UNLOCK] b handle_exception_with_bcp abstractmethod_exception: @@ -3645,7 +3492,7 @@ mov r2, r1 ldr r1, [dispatch, #VmSymbols_symbols_Address-XXX] ldr r1, [r1, r0, lsl #2] - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_Raise b handle_exception_with_bcp null_str: @@ -3678,7 +3525,7 @@ beq 1f mov r0, istate - ldr r1, [istate, #ISTATE_THREAD] + mov r1, thread bl Helper_HandleException cmp r0, #0 beq 1f @@ -3689,34 +3536,33 @@ CACHE_CP DISPATCH 0 1: - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] mov r3, #0 - ldrb r0, [tmp_xxx, #THREAD_DO_NOT_UNLOCK] - strb r3, [tmp_xxx, #THREAD_DO_NOT_UNLOCK] + ldrb r0, [thread, #THREAD_DO_NOT_UNLOCK] + strb r3, [thread, #THREAD_DO_NOT_UNLOCK] cmp r0, #0 bne 2f - cmp tmp1, tmp2 + cmp tmp1, r9 blcc return_check_monitors 2: mov r3, #0 - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] add r1, r1, r0, lsl #2 - str r1, [tmp_xxx, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_JAVA_SP] mov r0, #0 @ deoptimized_frames = 0 ldmfd arm_sp!, {fast_regset, pc} @@ -3724,19 +3570,19 @@ return_check_monitors: stmdb arm_sp!, {r4, lr} - DECACHE_JPC + DECACHE_JPC // FIXME: May not be needed. ldr r2, [istate, #ISTATE_METHOD] ldr r4, [r2, #METHOD_ACCESSFLAGS] tst r4, #1<<5 - subne tmp2, tmp2, #8 - cmp tmp1, tmp2 + subne r9, r9, #8 + cmp tmp1, r9 bcs 2f 1: ldr r3, [tmp1, #4] cmp r3, #0 bne 3f add tmp1, tmp1, #8 - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1b 2: @@ -3744,48 +3590,57 @@ ldmeqia arm_sp!, {r4, pc} - ldr tmp1, [tmp2, #4] @ base->obj == NULL + ldr tmp1, [r9, #4] @ base->obj == NULL cmp tmp1, #0 beq 4f - ldr r0, [tmp2, #0] @ r0 = header + ldr r0, [r9, #0] @ r0 = header mov r3, #0 cmp r0, #0 - str r3, [tmp2, #4] @ base->obj = NULL + str r3, [r9, #4] @ base->obj = NULL ldmeqia arm_sp!, {r4, pc} mov r1, tmp1 - mov r2, tmp2 + mov r2, r9 bl cmpxchg_ptr - cmp tmp2, r0 + cmp r9, r0 ldmeqia arm_sp!, {r4, pc} - str tmp1, [tmp2, #4] - - mov r1, tmp2 - ldr r0, [istate, #ISTATE_THREAD] + str tmp1, [r9, #4] + + mov r1, r9 + mov r0, thread bl Helper_synchronized_exit ldmeqia arm_sp!, {r4, pc} 3: - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_RaiseIllegalMonitorException b 2b 4: - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_RaiseIllegalMonitorException ldmia arm_sp!, {r4, pc} - ALIGN_CODE + SLOW_ENTRY accessor_entry: - b slow_accessor_entry - - ALIGN_CODE -slow_accessor_entry: + stmfd arm_sp!, {regset, lr} + mov thread, r2 + ldr r7, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] + rsb r3, r7, r3 + rsb r3, r3, arm_sp + cmp r3, #32768 + blt stack_overflow_no_frame + bl fast_accessor_entry + ldmia sp!, {regset, pc} + + FAST_ENTRY +fast_accessor_entry: USEC adrl ip, dispatch_init_adcon USEC ldr r3, [ip] USEC add r3, r3, ip @@ -3797,10 +3652,9 @@ USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT USEC str r3, [r0, #METHOD_INVOCATIONCOUNTER] USEC cmp r3, ip - USEC bcs normal_entry + USEC bcs fast_normal_entry ldr r1, [r0, #METHOD_CONSTMETHOD] - ldrb r3, [r1, #CONSTMETHOD_CODEOFFSET+2] ldrb r1, [r1, #CONSTMETHOD_CODEOFFSET+3] ldr ip, [r0, #METHOD_CONSTANTS] @@ -3809,14 +3663,14 @@ add r1, ip, #CP_OFFSET ldr r3, [r1, r3, lsl #4]! @ r1 = cache, r3 = flags - ldr ip, [r2, #THREAD_JAVA_SP] @ ip == stack + ldr ip, [thread, #THREAD_JAVA_SP] @ ip == stack and r3, r3, #0x00ff0000 cmp r3, #opc_getfield << 16 ldr r3, [ip, #0] - bne normal_entry + bne fast_normal_entry cmp r3, #0 - beq normal_entry + beq fast_normal_entry ldr r0, [r1, #12] ldr r1, [r1, #8] @@ -3828,46 +3682,6 @@ mov r0, #0 bx lr -.fast_accessor_non_w: - bcs .fast_accessor_h - beq .fast_accessor_sb - tst lr, #2 - bne .fast_accessor_dw -.fast_accessor_sh: - DISPATCH_STATE 2 - DISPATCH_NEXT - ldrsh tmp1, [r2, r3] - DISPATCH_NEXT - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_FINISH -.fast_accessor_h: - DISPATCH_STATE 2 - DISPATCH_NEXT - ldrh tmp1, [r2, r3] - DISPATCH_NEXT - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_FINISH -.fast_accessor_sb: - DISPATCH_STATE 2 - DISPATCH_NEXT - ldrsb tmp1, [r2, r3] - DISPATCH_NEXT - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_FINISH -.fast_accessor_dw: - DISPATCH_STATE 2 - add tmp1, r2, r3 - DISPATCH_NEXT - ldm tmp1, {tmp2, tmp1} - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH - div_zero_jpc_1: sub jpc, jpc, #1 .lrem_0: @@ -3891,10 +3705,10 @@ array_bound_exception_jpc_0_r3: mov r2, r3 b array_bounds_exception -array_bound_exception_jpc_1_tmp2: +array_bound_exception_jpc_1_tmp1: sub jpc, jpc, #1 -array_bound_exception_jpc_0_tmp2: - mov r2, tmp2 +array_bound_exception_jpc_0_tmp1: + mov r2, tmp1 b array_bounds_exception array_bound_exception_jpc_3: sub jpc, jpc, #1 @@ -3907,7 +3721,7 @@ DECACHE_JPC DECACHE_STACK mov r1, r2 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_RaiseArrayBoundException b handle_exception_with_bcp @@ -4840,7 +4654,7 @@ #endif // USE_COMPILER -#ifdef THUMB2EE +#ifdef T2JIT bl Thumb2_Initialize #endif @@ -5512,23 +5326,28 @@ .word jrem_31 .word jrem_32 -#ifdef THUMB2EE +#ifdef T2JIT + + .macro LOAD_FRAME + ldr Rframe, [thread, #THREAD_TOP_ZERO_FRAME] + .endm + @ R0 = BCI @ R1 = index -#define Rthread r9 + .global Thumb2_invokeinterface_stub .type Thumb2_invokeinterface_stub, %function Thumb2_invokeinterface_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + str stack, [Rframe, #FRAME_STACK] add jpc, ip, r0 - add r0, r2, r1, lsl #4 - DECACHE_JPC + str jpc, [Rframe, #FRAME_BCP] ldr r2, [r0, #CP_OFFSET] and r2, r2, #0x00ff0000 @@ -5540,15 +5359,15 @@ ldr r2, [stack, r2, lsl #2] cmp r2, #0 beq istub_null_ptr_exception - ldr tmp2, [r2, #4] @ rcvr->klass() + ldr tmp1, [r2, #4] @ rcvr->klass() tst r3, #flag_methodInterface bne istub_methodInterface ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass - add r1, tmp2, #INSTANCEKLASS_VTABLE_OFFSET - ldr r2, [tmp2, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] - ldr ip, [tmp2, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] + add r1, tmp1, #INSTANCEKLASS_VTABLE_OFFSET + ldr r2, [tmp1, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] + ldr ip, [tmp1, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] add r2, r2, #1 bic r2, r2, #1 @@ -5565,72 +5384,71 @@ ldr r3, [r0, #CP_OFFSET+8] ldr r2, [r1, #-4] - add r3, tmp2, r3, lsl #2 - ldr tmp2, [r3, r2] - cmp tmp2, #0 + add r3, tmp1, r3, lsl #2 + ldr tmp1, [r3, r2] + cmp tmp1, #0 beq istub_abstractmethod_exception istub_invoke: - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] mov r1, #0 - str ip, [istate, #36] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_FP] + str r1, [thread, #THREAD_LAST_JAVA_FP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] - - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 mov r0, #0 - str r0, [Rthread, #THREAD_LAST_JAVA_SP] - str r2, [Rthread, #THREAD_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_FP] - str r2, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r0, [thread, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception ldmia sp!, {ip, pc} istub_methodInterface: tst r3, #flag_vfinalMethod - ldrne tmp2, [r0, #CP_OFFSET+8] + ldrne tmp1, [r0, #CP_OFFSET+8] bne istub_invoke ldr r1, [r0, #CP_OFFSET+8] - add r3, tmp2, r1, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, tmp1, r1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] b istub_invoke istub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokeinterface - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b istub_exception: ldmia sp!, {ip, lr} ldr ip, handle_exception_adcon + LOAD_ISTATE bx ip istub_null_ptr_exception: @@ -5642,9 +5460,10 @@ istub_incompatibleclass_exception: mov r0, #VMSYMBOLS_IncompatibleClassChangeError 3: - CACHE_JPC + ldr jpc, [Rframe, #FRAME_BCP] ldmia sp!, {ip, lr} ldr ip, raise_exception_adcon + LOAD_ISTATE bx ip resolve_invoke_adcon: @@ -5657,22 +5476,24 @@ .word raise_exception helper_aputfield_adcon: .word Helper_aputfield +lr_to_bci_adcon: + .word Thumb2_lr_to_bci @ R0 = BCI @ R1 = index .global Thumb2_invokevirtual_stub .type Thumb2_invokevirtual_stub, %function Thumb2_invokevirtual_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + str stack, [Rframe, #FRAME_STACK] add jpc, ip, r0 - add r0, r2, r1, lsl #4 - DECACHE_JPC + str jpc, [Rframe, #FRAME_BCP] ldr r2, [r0, #CP_OFFSET] and r2, r2, #0xff000000 @@ -5686,152 +5507,304 @@ cmp r2, #0 beq istub_null_ptr_exception - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] tst r3, #flag_vfinalMethod bne 1f ldr r3, [r2, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] 1: mov r1, #0 - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_FP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 - - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] mov r0, #0 - str r0, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + str r0, [thread, #THREAD_LAST_JAVA_SP] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [Rthread, #THREAD_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_FP] - str r2, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception ldmia sp!, {ip, pc} ivstub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokevirtual - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b @ R0 = BCI @ R1 = index + .global Thumb2_invokevfinalresolved_stub +Thumb2_invokevfinalresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp1, [r0, #CP_OFFSET+8] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + add r2, r2, #4 + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index + .global Thumb2_invokevirtualresolved_stub +Thumb2_invokevirtualresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp1, [r0, #CP_OFFSET+8] + ldr r3, [r2, #4] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + add r2, r2, #4 + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index .global Thumb2_invokestatic_stub .type Thumb2_invokestatic_stub, %function Thumb2_invokestatic_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + DECACHE_STACK_USING_FRAME add jpc, ip, r0 add r0, r2, r1, lsl #4 - DECACHE_JPC + DECACHE_JPC_USING_FRAME ldr r2, [r0, #CP_OFFSET] and r2, r2, #0x00ff0000 cmp r2, #opc_invokestatic << 16 bne isstub_resolve 2: - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] mov r1, #0 - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 - - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] - - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 mov r3, #0 - str r3, [Rthread, #THREAD_LAST_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_FP] - str r2, [Rthread, #THREAD_JAVA_SP] - str r2, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] // FIXME: Don't understand this + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception mov r0, #0 ldmia sp!, {ip, pc} isstub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokestatic - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b @ R0 = BCI @ R1 = index + .global Thumb2_invokestaticresolved_stub +Thumb2_invokestaticresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + ldr tmp1, [r0, #CP_OFFSET+4] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + mov r3, #0 + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] // FIXME: Don't understand this + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + mov r0, #0 + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index .global Thumb2_invokespecial_stub .type Thumb2_invokespecial_stub, %function Thumb2_invokespecial_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + DECACHE_STACK_USING_FRAME add jpc, ip, r0 add r0, r2, r1, lsl #4 - DECACHE_JPC - + DECACHE_JPC_USING_FRAME + ldr r2, [r0, #CP_OFFSET] - and r2, r2, #0x00ff0000 + and r2, r2, #0x00ff0000 cmp r2, #opc_invokespecial << 16 bne ispstub_resolve 2: @@ -5841,59 +5814,118 @@ cmp r2, #0 beq istub_null_ptr_exception - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] mov r1, #0 - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread + mov r2, thread blx r3 - - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] - - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [Rthread, #THREAD_JAVA_SP] - str r2, [Rthread, #THREAD_LAST_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_FP] - ldr r3, [Rthread, #4] + mov r3, #0 + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] // FIXME: Don't understand this + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception + mov r0, #0 ldmia sp!, {ip, pc} ispstub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokespecial - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b @ R0 = BCI @ R1 = index + .global Thumb2_invokespecialresolved_stub +Thumb2_invokespecialresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + ldr r3, [r0, #CP_OFFSET+12] + and r3, r3, #255 + ldr r2, [stack, r3, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp1, [r0, #CP_OFFSET+4] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + mov r3, #0 + str r3, [thread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_FP] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] // FIXME: Don't understand this + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + mov r0, #0 + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index .global Thumb2_getfield_word_stub .type Thumb2_getfield_word_stub, %function Thumb2_getfield_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5927,7 +5959,8 @@ .global Thumb2_getfield_sh_stub .type Thumb2_getfield_sh_stub, %function Thumb2_getfield_sh_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5960,7 +5993,8 @@ .global Thumb2_getfield_h_stub .type Thumb2_getfield_h_stub, %function Thumb2_getfield_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5993,7 +6027,8 @@ .global Thumb2_getfield_sb_stub .type Thumb2_getfield_sb_stub, %function Thumb2_getfield_sb_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6026,7 +6061,8 @@ .global Thumb2_getfield_dw_stub .type Thumb2_getfield_dw_stub, %function Thumb2_getfield_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6044,7 +6080,7 @@ stmdb stack!, {r2, r3} @ PUSH r2, r3 bx lr 3: - ldrd r2, r3, [r3, ip] + ldrd r2, r3, [r3, ip] // FIXME: Shold be ldrexd FullBarrier stmdb stack!, {r2, r3} @ PUSH r2, r3 bx lr @@ -6070,42 +6106,59 @@ mov r2, #opc_getfield field_stub_unresolved: stmdb sp!, {r0, r1, ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr lr, [thread, #THREAD_TOP_ZERO_FRAME] + ldr ip, [lr, #FRAME_METHOD] sub r3, stack, #4 ldr ip, [ip, #METHOD_CONSTMETHOD] - str r3, [istate, #ISTATE_STACK] @ DECACHE_STACK + str r3, [lr, #FRAME_STACK] @ DECACHE_STACK add r3, ip, r0 - str r3, [istate, #ISTATE_BCP] @ DECACHE_JPC + str r3, [lr, #FRAME_BCP] @ DECACHE_JPC ldr ip, resolve_get_put_adcon mov r1, r2 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread blx ip ldmia sp!, {r0, r1, ip, lr} - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r3, [thread, #4] + ldr r2, [r2, #FRAME_CONSTANTS] cmp r3, #0 bne field_exception add r2, r2, r1, lsl #4 bx lr field_null_ptr_exception: - ldr ip, [istate, #ISTATE_METHOD] - ldr ip, [ip, #METHOD_CONSTMETHOD] + stmdb sp!, {JAZ_REGSET} + ldr ip, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [ip, #FRAME_METHOD] + ldr r3, [ip, #FRAME_LOCALS] + ldr ip, [r1, #METHOD_CONSTMETHOD] add jpc, ip, r0 - mov r0, #VMSYMBOLS_NullPointerException - ldr ip, raise_exception_adcon - bx ip - -field_exception: - ldr ip, handle_exception_adcon - bx ip + mov r0, #VMSYMBOLS_NullPointerException + bic r0, lr, #TBIT + mov r2, sp + +@ We already have BCI, so just call lr_to_bci to save the locals +@ The result value is ignored + ldr ip, lr_to_bci_adcon + blx ip + + add sp, sp, #JAZ_REGSET_LEN * 4 + ldr ip, raise_exception_adcon + LOAD_ISTATE + bx ip + + field_exception: + ldr ip, handle_exception_adcon + LOAD_ISTATE + bx ip @ R0 = BCI @ R1 = index .global Thumb2_putfield_word_stub .type Thumb2_putfield_word_stub, %function Thumb2_putfield_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6140,7 +6193,8 @@ .global Thumb2_putfield_h_stub .type Thumb2_putfield_h_stub, %function Thumb2_putfield_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6175,7 +6229,8 @@ .global Thumb2_putfield_b_stub .type Thumb2_putfield_b_stub, %function Thumb2_putfield_b_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6210,7 +6265,8 @@ .global Thumb2_putfield_a_stub .type Thumb2_putfield_a_stub, %function Thumb2_putfield_a_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6249,7 +6305,8 @@ .global Thumb2_putfield_dw_stub .type Thumb2_putfield_dw_stub, %function Thumb2_putfield_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6272,6 +6329,7 @@ beq field_null_ptr_exception StoreStoreBarrier + // FIXME: This should use strexd on an MP system strd r2,r3, [ip, r1] StoreLoadBarrier bx lr @@ -6286,7 +6344,8 @@ .global Thumb2_getstatic_word_stub .type Thumb2_getstatic_word_stub, %function Thumb2_getstatic_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6318,7 +6377,8 @@ .global Thumb2_getstatic_h_stub .type Thumb2_getstatic_h_stub, %function Thumb2_getstatic_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6350,7 +6410,8 @@ .global Thumb2_getstatic_sh_stub .type Thumb2_getstatic_sh_stub, %function Thumb2_getstatic_sh_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6382,7 +6443,8 @@ .global Thumb2_getstatic_sb_stub .type Thumb2_getstatic_sb_stub, %function Thumb2_getstatic_sb_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6414,7 +6476,8 @@ .global Thumb2_getstatic_dw_stub .type Thumb2_getstatic_dw_stub, %function Thumb2_getstatic_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -6435,6 +6498,7 @@ ldrd r2, r3, [r3, ip] FullBarrier + // FIXME: This should use strexd on an MP system stmdb stack!, {r2, r3} @ PUSH r2, r3 bx lr 1: @@ -6448,7 +6512,8 @@ .global Thumb2_putstatic_word_stub .type Thumb2_putstatic_word_stub, %function Thumb2_putstatic_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6483,7 +6548,8 @@ .global Thumb2_putstatic_h_stub .type Thumb2_putstatic_h_stub, %function Thumb2_putstatic_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6518,7 +6584,8 @@ .global Thumb2_putstatic_b_stub .type Thumb2_putstatic_b_stub, %function Thumb2_putstatic_b_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6553,7 +6620,8 @@ .global Thumb2_putstatic_dw_stub .type Thumb2_putstatic_dw_stub, %function Thumb2_putstatic_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6588,7 +6656,8 @@ .global Thumb2_putstatic_a_stub .type Thumb2_putstatic_a_stub, %function Thumb2_putstatic_a_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -6622,7 +6691,7 @@ mov lr, ip b 2b -#endif // THUMB2EE +#endif // T2JIT .global Thumb2_stubs_end .type Thumb2_stubs_end, %function @@ -7083,21 +7152,10 @@ dc_18: .word 0x38e38e39 -#define TBIT 1 - .global Thumb2_DivZero_Handler .type Thumb2_DivZero_Handler, %function Thumb2_DivZero_Handler: -#ifdef THUMB2EE - -#define JAZ_V1 r5 -#define JAZ_V2 r6 -#define JAZ_V3 r7 -#define JAZ_V4 r10 -#define JAZ_V5 r11 - -#define JAZ_REGSET JAZ_V1,JAZ_V2,JAZ_V3,JAZ_V4,JAZ_V5,ip -#define JAZ_REGSET_LEN 6 +#ifdef T2JIT adrl r0, idiv_clz_ret cmp r0, lr @@ -7105,22 +7163,24 @@ cmpne r0, lr beq divide_by_zero_exception stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch -#endif // THUMB2EE + LOAD_ISTATE +#endif // T2JIT b divide_by_zero_exception -#ifdef THUMB2EE +#ifdef T2JIT .global Thumb2_Handle_Exception .type Thumb2_Handle_Exception, %function @@ -7134,12 +7194,13 @@ .type Thumb2_Stack_Overflow, %function Thumb2_ArrayBounds_Handler: stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 @@ -7147,25 +7208,32 @@ addne jpc, jpc, r0 bl load_dispatch mov r0, #VMSYMBOLS_ArrayIndexOutOfBounds + LOAD_ISTATE b raise_exception Thumb2_Handle_Exception: stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch + LOAD_ISTATE b handle_exception Thumb2_Handle_Exception_NoRegs: + LOAD_FRAME + ldr r0, [Rframe, #FRAME_STACK_LIMIT] + add r0, r0, #4 + str r0, [thread, #THREAD_JAVA_SP] bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, #0 @@ -7174,25 +7242,28 @@ moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch + LOAD_ISTATE b handle_exception Thumb2_NullPtr_Handler: stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch + LOAD_ISTATE b null_ptr_exception Thumb2_Stack_Overflow: - mov r0, r2 + mov r0, thread mov r2, #0 str r2, [r0, #THREAD_LAST_JAVA_SP] ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] @@ -7206,12 +7277,29 @@ .global Thumb2_Exit_To_Interpreter .type Thumb2_Exit_To_Interpreter, %function Thumb2_Exit_To_Interpreter: + LOAD_ISTATE bl load_dispatch sub stack, stack, #4 CACHE_CP CACHE_LOCALS DISPATCH 0 + .global Thumb2_monitorenter +Thumb2_monitorenter: + stmdb sp!, {ip, lr} + sub stack, stack, #4 + mov r0, r8 + POP r1 + DECACHE_JPC + DECACHE_STACK + bl Helper_monitorenter + CACHE_STACK @ monitorenter may expand stack!!! + ldmia sp!, {ip, lr} + cmp r0, #0 + bne handle_exception + add stack, stack, #4 + bx lr + .global Thumb2_Clear_Cache .type Thumb2_Clear_Cache, %function Thumb2_Clear_Cache: @@ -7223,7 +7311,7 @@ ldmia sp!, {r7} bx lr -#endif // THUMB2EE +#endif // T2JIT .section .init_array,"aw",%init_array .word bci_init(target1) diff -r 85de6921e39e -r 73a07d24174e src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Wed May 16 11:21:07 2012 +0100 +++ b/src/cpu/zero/vm/thumb2.cpp Thu May 17 13:45:50 2012 -0400 @@ -19,12 +19,12 @@ #ifdef __arm__ -#undef THUMB2EE +#undef T2JIT #if !defined(DISABLE_THUMB2) && defined(HOTSPOT_ASM) && !defined(SHARK) -#define THUMB2EE +#define T2JIT #endif -#ifdef THUMB2EE +#ifdef T2JIT // setting DISABLE_THUMB2_JVMTI at build time disables notification // of JVMTI dynamic_generate and compiled_method_load events @@ -33,24 +33,33 @@ #define THUMB2_JVMTI #endif -#define T2EE_PRINT_COMPILATION -#define T2EE_PRINT_STATISTICS -#define T2EE_PRINT_DISASS +#define T2_PRINT_COMPILATION +#define T2_PRINT_STATISTICS +#define T2_PRINT_DISASS +#define T2_PRINT_REGUSAGE + #define T2EE_PRINT_REGUSAGE - -#ifdef T2EE_PRINT_COMPILATION -static char *t2ee_print_compilation; +#define CODE_ALIGN 64 + +#define SLOW_ENTRY_OFFSET 24 +#define FAST_ENTRY_OFFSET 40 + +#ifdef T2_PRINT_STATISTICS +static char *t2_print_statistics; #endif -#ifdef T2EE_PRINT_STATISTICS -static char *t2ee_print_statistics; +#ifdef T2_PRINT_REGUSAGE +static char *t2_print_regusage; #endif -#ifdef T2EE_PRINT_REGUSAGE -static char *t2ee_print_regusage; +static char *t2_ospace; +#define OSPACE t2_ospace + +#ifdef PRODUCT +#define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) +#else +#define THUMB2_CODEBUF_SIZE (4 * 1024 * 1024) #endif - -#define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) #define THUMB2_MAX_BYTECODE_SIZE 10000 #define THUMB2_MAX_T2CODE_SIZE 65000 #define THUMB2_MAXLOCALS 1000 @@ -346,17 +355,14 @@ #define H_EXIT_TO_INTERPRETER 28 -#define H_GETSTATIC H_EXIT_TO_INTERPRETER -#define H_PUTSTATIC H_EXIT_TO_INTERPRETER -#define H_JSR H_EXIT_TO_INTERPRETER #define H_RET H_EXIT_TO_INTERPRETER -#define H_ZOMBIE H_EXIT_TO_INTERPRETER -#define H_MONITOR H_EXIT_TO_INTERPRETER +#define H_DEADCODE H_EXIT_TO_INTERPRETER #define H_ATHROW H_EXIT_TO_INTERPRETER #define H_HANDLE_EXCEPTION 29 #define H_ARRAYBOUND 30 -#define H_UNKNOWN 31 + +#define H_LDC_W 31 #define H_DEBUG_METHODENTRY 32 #define H_DEBUG_METHODEXIT 33 @@ -395,9 +401,17 @@ #define H_HANDLE_EXCEPTION_NO_REGS 60 -#define H_SAFEPOINT 61 - -#define H_LAST 62 // Not used +#define H_INVOKESTATIC_RESOLVED 61 +#define H_INVOKESPECIAL_RESOLVED 62 +#define H_INVOKEVIRTUAL_RESOLVED 63 +#define H_INVOKEVFINAL 64 + +#define H_MONITORENTER 65 +#define H_MONITOREXIT 66 + +#define H_SAFEPOINT 67 + +#define H_LAST 68 // Not used unsigned handlers[H_LAST]; @@ -520,11 +534,13 @@ } #endif // THUMB2_JVMTI -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS short start_bci[THUMB2_MAX_T2CODE_SIZE]; short end_bci[THUMB2_MAX_T2CODE_SIZE]; #endif +bool DebugSwitch = false; + // XXX hardwired constants! #define ENTRY_FRAME 1 #define INTERPRETER_FRAME 2 @@ -533,16 +549,13 @@ #include "offsets_arm.s" -#define BC_FLAGS_MASK 0xfc000000 -#define BC_VISITED_P1 0x80000000 +#define BC_FLAGS_MASK 0xf0000000 +#define BC_VISITED 0x80000000 #define BC_BRANCH_TARGET 0x40000000 #define BC_COMPILED 0x20000000 -#define BC_VISITED_P2 0x10000000 -#define BC_ZOMBIE 0x08000000 -#define BC_BACK_TARGET 0x04000000 - -#define IS_DEAD(x) (((x) & BC_VISITED_P1) == 0) -#define IS_ZOMBIE(x) (((x) & BC_ZOMBIE) || ((x) & BC_VISITED_P2) == 0) +#define BC_BACK_TARGET 0x10000000 + +#define IS_DEAD(x) (((x) & BC_VISITED) == 0) #define LOCAL_MODIFIED 31 #define LOCAL_REF 30 @@ -606,22 +619,21 @@ #define VFP_D6 70 #define VFP_D7 71 -#define PREGS 5 +#define PREGS 6 #define JAZ_V1 ARM_R5 #define JAZ_V2 ARM_R6 #define JAZ_V3 ARM_R7 -#define JAZ_V4 ARM_R10 -#define JAZ_V5 ARM_R11 +#define JAZ_V4 ARM_R8 +#define JAZ_V5 ARM_R9 +#define JAZ_V6 ARM_R11 #define Rstack ARM_R4 #define Rlocals ARM_R7 #define Ristate ARM_R8 -#define Rthread ARM_R9 - -#define Rint_stack ARM_R4 +#define Rthread ARM_R10 + #define Rint_jpc ARM_R5 -#define Rint_istate ARM_R8 #define IS_ARM_INT_REG(r) ((r) <= ARM_PC) #define IS_ARM_FP_REG(r) (!IS_ARM_INT_REG(r)) @@ -648,9 +660,10 @@ // .align CODE_ALIGN // slow_entry: @ callee save interface // push {r4, r5, r6, r7, r9, r10, r11, lr} + // mov Rthread, r2 // bl fast_entry // pop {r4, r5, r6, r7, r9, r10, r11, pc} - unsigned slow_entry[3]; + unsigned slow_entry[4]; unsigned *osr_table; // pointer to the osr table unsigned *exception_table; Compiled_Method *next; @@ -658,20 +671,7 @@ // This is used when receovering from an exception so we can push // the register back into the local variables pool. short regusage[6]; - // OSR Entry point: - // R0 = entry point within compiled method - // R1 = locals - 4000 * 4 - // R2 = thread - // R3 = locals - 31 * 4 - // osr_entry: - // @ Load each local into it register allocated register - // ldr , [R1, #(4000-) * 4] - // or ldr , [R3, #(31-) * 4] - // ... - // mov Rthread, R2 - // bx R0 - // .align CODE_ALIGN - unsigned osr_entry[1]; + unsigned header_end[1]; // fast_entry: // push {r8, lr} // ... @ The compiled code @@ -691,7 +691,7 @@ typedef struct Thumb2_Entrypoint { unsigned compiled_entrypoint; - unsigned osr_entry; + short *regusage; } Thumb2_Entrypoint; typedef struct CodeBuf { @@ -725,8 +725,9 @@ Thumb2_Stack *jstack; Thumb2_Registers *jregs; unsigned compiled_return; - unsigned zombie_bytes; + unsigned compiled_word_return[12]; // R0 .. R11 unsigned is_leaf; + unsigned use_istate; } Thumb2_Info; #define IS_INT_SIZE_BASE_TYPE(c) (c=='B' || c=='C' || c=='F' || c=='I' || c=='S' || c=='Z') @@ -734,6 +735,7 @@ void Thumb2_save_locals(Thumb2_Info *jinfo, unsigned stackdepth); void Thumb2_restore_locals(Thumb2_Info *jinfo, unsigned stackdepth); +void Thumb2_Exit(Thumb2_Info *jinfo, unsigned handler, unsigned bci, unsigned stackdepth); static int method_stackchange(const jbyte *base) { @@ -801,7 +803,7 @@ static const char *local_types[] = { "int", "long", "float", "double", "ref" }; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS class Hsdis { public: @@ -832,7 +834,7 @@ } if (! (decode_instructions)) { - fprintf (stderr, "PrintAssembly (or T2EE_PRINT_DISASS) is set, but\n" + fprintf (stderr, "PrintAssembly (or T2_PRINT_DISASS) is set, but\n" "hsdis-arm.so has not been found or is invalid. If you want to\n" "see a disassembly, please ensure that a valid copy of\n" "hsdis-arm.so is present somewhere in your library load path.\n"); @@ -861,20 +863,6 @@ static Hsdis hsdis; -#if 0 - printf("Local Variable Usage\n"); - printf("====================\n"); - for (idx = 0; idx < nlocals; idx++) { - unsigned linfo = locals_info[idx]; - unsigned typ = (linfo >> LOCAL_INT) & 0x1f; - - printf("Local %d, type = %s (%x)", idx, typ ? local_types[LOG2(typ)] : "!!!unknown!!!", typ); - if (linfo & (1 << LOCAL_MODIFIED)) printf(", modified"); - if (idx < (unsigned)jinfo->method->size_of_parameters()) printf(", parameter"); - putchar('\n'); - } -#endif - fflush(stdout); fflush(stderr); @@ -891,10 +879,10 @@ int len; if (stackinfo & BC_BRANCH_TARGET) - printf("----- Basic Block -----\n"); + fprintf(stderr, "----- Basic Block -----\n"); JASSERT(bci > last_bci, "disass not advancing"); last_bci = bci; - printf("%c%4d : ", (stackinfo & BC_VISITED_P1) ? ' ' : '?', bci); + fprintf(stderr, "%c%4d : ", (stackinfo & BC_VISITED) ? ' ' : '?', bci); opcode = code_base[bci]; if (opcode > OPC_LAST_JAVA_OP) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) @@ -916,11 +904,11 @@ int def; unsigned n, i; - printf("%02x ", opcode); + fprintf(stderr, "%02x ", opcode); for (int i = 1; i < 5; i++) - printf(" "); - printf("%s\n", Bytecodes::name((Bytecodes::Code)opcode)); - printf("\t%d bytes padding\n", nbci - (bci+1)); + fprintf(stderr, " "); + fprintf(stderr, "%s\n", Bytecodes::name((Bytecodes::Code)opcode)); + fprintf(stderr, "\t%d bytes padding\n", nbci - (bci+1)); w = *(unsigned int *)(code_base + nbci + 4); low = (int)BYTESEX_REVERSE(w); w = *(unsigned int *)(code_base + nbci + 8); @@ -928,16 +916,16 @@ w = *(unsigned int *)(code_base + nbci + 0); def = (int)BYTESEX_REVERSE(w); table = (unsigned int *)(code_base + nbci + 12); - printf("\tdefault:\t0x%08x\n", def); - printf("\tlow:\t\t0x%08x\n", low); - printf("\thigh:\t\t0x%08x\n", high); + fprintf(stderr, "\tdefault:\t0x%08x\n", def); + fprintf(stderr, "\tlow:\t\t0x%08x\n", low); + fprintf(stderr, "\thigh:\t\t0x%08x\n", high); n = high - low + 1; while (low <= high) { int off; w = *table++; off = (int)BYTESEX_REVERSE(w); - printf("\toffset %d:\t0x%08x\n", low, off); + fprintf(stderr, "\toffset %d:\t0x%08x\n", low, off); low++; } bci += len; @@ -945,7 +933,7 @@ // The insn sequence generated by tableswitch is 14 // bytes long. const int tableswitch_code_len = 14; - printf("0x%08x:\t", (int)codebuf+idx); + fprintf(stderr, "0x%08x:\t", (int)codebuf+idx); unsigned short *p = codebuf + idx/2; hsdis.decode_instructions((char*)p, (char *)p + tableswitch_code_len, @@ -954,7 +942,7 @@ idx += tableswitch_code_len; } for (i = 0; i < n; i++) { - printf("0x%08x:\t.short\t0x%04x\n", (int)codebuf+idx, *(short *)((int)codebuf + idx)); + fprintf(stderr, "0x%08x:\t.short\t0x%04x\n", (int)codebuf+idx, *(short *)((int)codebuf + idx)); idx += 2; } nodisass = 1; @@ -967,19 +955,19 @@ int npairs; // The Java spec says signed but must be >= 0?? unsigned *table; - printf("%02x ", opcode); + fprintf(stderr, "%02x ", opcode); for (int i = 1; i < 5; i++) - printf(" "); - printf("%s\n", Bytecodes::name((Bytecodes::Code)opcode)); - printf("\t%d bytes padding\n", nbci - (bci+1)); + fprintf(stderr, " "); + fprintf(stderr, "%s\n", Bytecodes::name((Bytecodes::Code)opcode)); + fprintf(stderr, "\t%d bytes padding\n", nbci - (bci+1)); w = *(unsigned int *)(code_base + nbci + 0); def = (int)BYTESEX_REVERSE(w); w = *(unsigned int *)(code_base + nbci + 4); npairs = (int)BYTESEX_REVERSE(w); table = (unsigned int *)(code_base + nbci + 8); - printf("\tdefault:\t0x%08x\n", def); - printf("\tnpairs:\t\t0x%08x\n", npairs); + fprintf(stderr, "\tdefault:\t0x%08x\n", def); + fprintf(stderr, "\tnpairs:\t\t0x%08x\n", npairs); for (int i = 0; i < npairs; i++) { unsigned match, off; w = table[0]; @@ -987,7 +975,7 @@ w = table[1]; table += 2; off = BYTESEX_REVERSE(w); - printf("\t match: 0x%08x, offset: 0x%08x\n", match, off); + fprintf(stderr, "\t match: 0x%08x, offset: 0x%08x\n", match, off); } break; } @@ -995,11 +983,11 @@ default: for (int i = 0; i < 5; i++) { if (i < len) - printf("%02x ", code_base[bci+i]); + fprintf(stderr, "%02x ", code_base[bci+i]); else - printf(" "); + fprintf(stderr, " "); } - printf("%s\n", Bytecodes::name((Bytecodes::Code)code_base[bci])); + fprintf(stderr, "%s\n", Bytecodes::name((Bytecodes::Code)code_base[bci])); break; } bci += len; @@ -1014,10 +1002,10 @@ s2 = *(unsigned short *)((int)codebuf + idx + 2); if (s1 == T_UNDEFINED_16 || ((s1 << 16) + s2) == T_UNDEFINED_32) { if (s1 == T_UNDEFINED_16) { - printf("undefined (0xde00) - UNPATCHED BRANCH???"); + fprintf(stderr, "undefined (0xde00) - UNPATCHED BRANCH???"); len = 2; } else { - printf("undefined (0xf7f0a000) - UNPATCHED BRANCH???"); + fprintf(stderr, "undefined (0xf7f0a000) - UNPATCHED BRANCH???"); len = 4; } } else { @@ -1027,22 +1015,22 @@ && start_bci[(len + idx)/2] == -1) len += 2; hsdis.decode_instructions((char*)p, (char*)p + len, - print_address, NULL, NULL, stdout, + print_address, NULL, NULL, stderr, "force-thumb"); } idx += len; } } } - fflush(stdout); + fflush(stderr); } // where static void *print_address(void *, const char *tag, void *data) { if (strcmp(tag, "insn") == 0) - printf("0x%08x:\t", (unsigned int)data); + fprintf(stderr, "0x%08x:\t", (unsigned int)data); return NULL; } -#endif +#endif // T2_PRINT_DISASS #define BCI(len, pop, push, special, islocal, islocal_n, isstore, local_n, local_type) \ ((len) | ((pop)<<3) | ((push)<<6) | (unsigned)((special) << 31) | ((islocal) << 30) | ((islocal_n) << 29) | ((isstore) << 28) | ((local_n) << 9) | ((local_type) << 11)) @@ -1323,7 +1311,7 @@ BCI(1, 0, 1, 0, 1, 1, 0, 3, BCI_TYPE_INT), // iload_3_iload_N }; -void Thumb2_pass1(Thumb2_Info *jinfo, unsigned bci) +void Thumb2_pass1(Thumb2_Info *jinfo, unsigned stackdepth, unsigned bci) { unsigned code_size = jinfo->code_size; jubyte *code_base = jinfo->code_base; @@ -1337,399 +1325,13 @@ unsigned bytecodeinfo; unsigned opcode; - if (stackinfo & BC_VISITED_P1) break; - bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | BC_VISITED_P1; + if (stackinfo & BC_VISITED) break; + JASSERT((int)stackdepth >= 0, "stackdepth < 0!!"); + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | stackdepth | BC_VISITED; opcode = code_base[bci]; // printf("bci = 0x%04x, opcode = 0x%02x (%s)", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode)); bytecodeinfo = bcinfo[opcode]; if (!BCI_SPECIAL(bytecodeinfo)) { - bci += BCI_LEN(bytecodeinfo); - continue; - } - - switch (opcode) { - - case opc_goto: { - int off = GET_JAVA_S2(code_base+bci+1); - bci += off; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - case opc_goto_w: { - int off = GET_JAVA_U4(code_base+bci+1); - bci += off; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - - case opc_if_icmpeq: - case opc_if_icmpne: - case opc_if_icmplt: - case opc_if_icmpge: - case opc_if_icmpgt: - case opc_if_icmple: - case opc_if_acmpeq: - case opc_if_acmpne: - case opc_ifeq: - case opc_ifne: - case opc_iflt: - case opc_ifge: - case opc_ifgt: - case opc_ifle: - case opc_ifnull: - case opc_ifnonnull: { - int off = GET_JAVA_S2(code_base+bci+1); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - bci += 3; - break; - } - - case opc_invokedynamic: - bci += 5; - break; - case opc_fast_aldc_w: - bci += 3; - break; - case opc_fast_aldc: - bci += 2; - break; - - case opc_jsr: { - int off = GET_JAVA_S2(code_base+bci+1); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - bci += 3; - break; - } - case opc_jsr_w: { - int off = GET_JAVA_U4(code_base+bci+1); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - bci += 5; - break; - } - - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_return_register_finalizer: - case opc_ret: - case opc_athrow: - // The test for BC_VISITED_P1 above will break out of the loop!!! - break; - - case opc_tableswitch: { - int low, high; - unsigned w; - unsigned *table; - unsigned nbci; - int def; - - nbci = bci & ~3; - w = *(unsigned int *)(code_base + nbci + 8); - low = (int)BYTESEX_REVERSE(w); - w = *(unsigned int *)(code_base + nbci + 12); - high = (int)BYTESEX_REVERSE(w); - w = *(unsigned int *)(code_base + nbci + 4); - def = (int)BYTESEX_REVERSE(w); - table = (unsigned int *)(code_base + nbci + 16); - - while (low <= high) { - int off; - w = *table++; - off = (int)BYTESEX_REVERSE(w); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - low++; - } - - bci += def; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - - case opc_lookupswitch: { - unsigned w; - unsigned nbci; - int def; - int npairs; // The Java spec says signed but must be >= 0?? - unsigned *table; - - nbci = bci & ~3; - w = *(unsigned int *)(code_base + nbci + 4); - def = (int)BYTESEX_REVERSE(w); - w = *(unsigned int *)(code_base + nbci + 8); - npairs = (int)BYTESEX_REVERSE(w); - table = (unsigned int *)(code_base + nbci + 16); - - for (int i = 0; i < npairs; i++) { - int off; - w = *table; - table += 2; - off = (int)BYTESEX_REVERSE(w); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - } - - bci += def; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - - case opc_getstatic: - case opc_putstatic: - case opc_getfield: - case opc_putfield: { - bci += 3; - break; - } - - case opc_invokeresolved: - case opc_invokespecialresolved: - case opc_invokestaticresolved: - case opc_invokevfinal: - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - jinfo->is_leaf = 0; - bci += 3; - break; - - case opc_invokeinterface: - jinfo->is_leaf = 0; - bci += 5; - break; - - case opc_multianewarray: - bci += 4; - break; - - case opc_wide: - opcode = code_base[bci+1]; - if (opcode == opc_iinc) { - bci += 6; - } else { - bci += 4; - } - break; - - default: - opcode = code_base[bci]; - fatal(err_msg("Undefined opcode %d\n", opcode)); - break; - } - } -} - -#ifdef ZOMBIE_DETECTION -int Thumb2_is_zombie(Thumb2_Info *jinfo, unsigned bci) -{ - unsigned code_size = jinfo->code_size; - jubyte *code_base = jinfo->code_base; - unsigned bytecodeinfo; - unsigned opcode; - unsigned *bc_stackinfo = jinfo->bc_stackinfo; - - do { - opcode = code_base[bci]; - // Short circuit exit - commented out because even if it has been executed - // we treat throw, jsr, and ret as zombies because they will call out to the - // interpreter. - // if (opcode > OPC_LAST_JAVA_OP) return 0; - bytecodeinfo = bcinfo[opcode]; - if (!BCI_SPECIAL(bytecodeinfo)) { - bci += BCI_LEN(bytecodeinfo); -#if 0 - if (opcode >= opc_iload_iload) { - opcode = code_base[bci]; - bci += BCI_LEN(bcinfo[opcode]); - } else if (BCI_ISLOCAL(bytecodeinfo)) { - if (opcode == opc_iload || (opcode >= opc_iload_0 && opcode <= opc_iload_3)) { - opcode = code_base[bci]; - if (opcode == opc_iload || (opcode >= opc_iload_0 && opcode <= opc_iload_3) || - (opcode >= opc_iconst_m1 && opcode <= opc_iconst_5)) { - printf("found new zombie at %d\n", bci); - return 1; - } - } - } else if (opcode == opc_iadd || opcode == opc_isub || - opcode == opc_iand || opcode == opc_ior || opcode == opc_ixor) { - opcode = code_base[bci]; - if (opcode == opc_istore || (opcode >= opc_istore_0 && opcode <= opc_istore_3)) { - printf("found new zombie at %d\n", bci); - return 1; - } - } -#endif - } else { - switch (opcode) { - case opc_goto: - case opc_goto_w: - case opc_ifeq: - case opc_ifne: - case opc_iflt: - case opc_ifge: - case opc_ifgt: - case opc_ifle: - case opc_ifnull: - case opc_ifnonnull: - case opc_if_icmpeq: - case opc_if_icmpne: - case opc_if_icmplt: - case opc_if_icmpge: - case opc_if_icmpgt: - case opc_if_icmple: - case opc_if_acmpeq: - case opc_if_acmpne: - case opc_tableswitch: - case opc_lookupswitch: - return 0; - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_return_register_finalizer: - return 0; - case opc_jsr: - case opc_jsr_w: - case opc_ret: - case opc_athrow: - return 1; - case opc_invokeinterface: - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - case opc_putfield: - case opc_getfield: - case opc_putstatic: - case opc_getstatic: { - constantPoolCacheOop cp = jinfo->method->constants()->cache(); - ConstantPoolCacheEntry* cache; - int index = GET_NATIVE_U2(code_base+bci+1); - - cache = cp->entry_at(index); - if (!cache->is_resolved((Bytecodes::Code)opcode)) return 1; - bci += 3; - if (opcode == opc_invokeinterface) bci += 2; - break; - - } - case opc_invokeresolved: - case opc_invokespecialresolved: - case opc_invokestaticresolved: - case opc_invokevfinal: - bci += 3; - break; - - case opc_multianewarray: - bci += 4; - break; - - case opc_wide: - opcode = code_base[bci+1]; - if (opcode == opc_iinc) { - bci += 6; - } else { - bci += 4; - } - break; - - default: - opcode = code_base[bci]; - fatal("Undefined opcode %d\n", opcode); - break; - } - } - if (bci >= code_size) break; - } while (!(bc_stackinfo[bci] & BC_BRANCH_TARGET)); - return 0; -} -#endif // ZOMBIE_DETECTION - -void Thumb2_RegAlloc(Thumb2_Info *jinfo) -{ - unsigned *locals_info = jinfo->locals_info; - unsigned i, j; - unsigned linfo; - unsigned score, max_score; - unsigned local; - unsigned nlocals = jinfo->method->max_locals(); - unsigned *pregs = jinfo->jregs->pregs; - unsigned npregs = jinfo->jregs->npregs; - - for (i = 0; i < npregs; i++) jinfo->jregs->mapping[i] = -1; - for (i = 0; i < npregs; i++) { - max_score = 0; - for (j = 0; j < nlocals; j++) { - linfo = locals_info[j]; - - if (linfo & ((1<> 2; - if (linfo & (1<> 2); - if (linfo & (1<> 2; - if (score > max_score) max_score = score, local = j; - } - if (max_score < 2) break; - locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; - jinfo->jregs->mapping[i] = local; - } -#ifdef T2EE_PRINT_REGUSAGE - if (t2ee_print_regusage) { - printf("Regalloc: %d physical registers allocated as follows\n", npregs); - for (j = 0; j < nlocals; j++) { - unsigned r = jinfo->jregs->r_local[j]; - if (r) { - unsigned typ = (locals_info[j] >> LOCAL_INT) & 0x1f; - printf(" ARM Reg R%d -> local %d (type = %s)\n", r, j, local_types[LOG2(typ)]); - } - } - } -#endif -} - -void Thumb2_pass2(Thumb2_Info *jinfo, unsigned stackdepth, unsigned bci) -{ - unsigned code_size = jinfo->code_size; - jubyte *code_base = jinfo->code_base; - unsigned *bc_stackinfo = jinfo->bc_stackinfo; - unsigned *locals_info = jinfo->locals_info; - unsigned check_zombie = 0; - //constantPoolCacheOop cp = jinfo->method->constants()->cache(); - - while (bci < code_size) { - unsigned stackinfo = bc_stackinfo[bci]; - unsigned bytecodeinfo; - unsigned opcode; - - if (stackinfo & BC_VISITED_P2) break; - JASSERT((int)stackdepth >= 0, "stackdepth < 0!!"); - bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | stackdepth | BC_VISITED_P2; -#ifdef ZOMBIE_DETECTION - if (check_zombie || (stackinfo & BC_BRANCH_TARGET)) { - if (Thumb2_is_zombie(jinfo, bci)) { - printf("zombie code at %d\n", bci); - bc_stackinfo[bci] |= BC_ZOMBIE; - return; - } - check_zombie = 0; - } -#endif - opcode = code_base[bci]; -// printf("bci = 0x%04x, opcode = 0x%02x (%s), stackdepth = %d\n", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode), stackdepth); - bytecodeinfo = bcinfo[opcode]; - if (!BCI_SPECIAL(bytecodeinfo)) { if (BCI_ISLOCAL(bytecodeinfo)) { unsigned local = BCI_LOCAL_N(bytecodeinfo); unsigned local_type = BCI_LOCAL_TYPE(bytecodeinfo) + LOCAL_INT; @@ -1760,12 +1362,20 @@ switch (opcode) { - case opc_goto: - bci += GET_JAVA_S2(code_base+bci+1); + case opc_goto: { + int off = GET_JAVA_S2(code_base+bci+1); + bci += off; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; - case opc_goto_w: - bci += GET_JAVA_U4(code_base+bci+1); + } + case opc_goto_w: { + int off = GET_JAVA_U4(code_base+bci+1); + bci += off; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; + } case opc_ifeq: case opc_ifne: @@ -1774,12 +1384,14 @@ case opc_ifgt: case opc_ifle: case opc_ifnull: - case opc_ifnonnull: + case opc_ifnonnull: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; stackdepth -= 1; - Thumb2_pass2(jinfo, stackdepth, bci + GET_JAVA_S2(code_base+bci+1)); - check_zombie = 1; + Thumb2_pass1(jinfo, stackdepth, bci + off); bci += 3; break; + } case opc_if_icmpeq: case opc_if_icmpne: @@ -1788,22 +1400,30 @@ case opc_if_icmpgt: case opc_if_icmple: case opc_if_acmpeq: - case opc_if_acmpne: + case opc_if_acmpne: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; stackdepth -= 2; - Thumb2_pass2(jinfo, stackdepth, bci + GET_JAVA_S2(code_base+bci+1)); - check_zombie = 1; + Thumb2_pass1(jinfo, stackdepth, bci + off); bci += 3; break; - - case opc_jsr: - Thumb2_pass2(jinfo, stackdepth+1, bci + GET_JAVA_S2(code_base+bci+1)); + } + + case opc_jsr: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth+1, bci + off); bci += 3; stackdepth = 0; break; - case opc_jsr_w: - Thumb2_pass2(jinfo, stackdepth+1, bci + GET_JAVA_U4(code_base+bci+1)); + } + case opc_jsr_w: { + int off = GET_JAVA_U4(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth+1, bci + off); bci += 5; break; + } case opc_ireturn: case opc_lreturn: @@ -1814,7 +1434,7 @@ case opc_return_register_finalizer: case opc_ret: case opc_athrow: - // The test for BC_VISITED_P2 above will break out of the loop!!! + // The test for BC_VISITED above will break out of the loop!!! break; case opc_tableswitch: { @@ -1838,12 +1458,14 @@ int off; w = *table++; off = (int)BYTESEX_REVERSE(w); - Thumb2_pass2(jinfo, stackdepth, bci + off); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth, bci + off); low++; } - check_zombie = 1; bci += def; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; } @@ -1867,11 +1489,13 @@ w = *table; table += 2; off = (int)BYTESEX_REVERSE(w); - Thumb2_pass2(jinfo, stackdepth, bci + off); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth, bci + off); } - check_zombie = 1; bci += def; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; } @@ -1927,6 +1551,7 @@ Symbol *sig = pool->signature_ref_at(index); const jbyte *base = sig->base(); + jinfo->is_leaf = 0; //tty->print("%d: %s: %s\n", opcode, name->as_C_string(), sig->as_C_string()); stackdepth += method_stackchange(base); opcode = code_base[bci]; @@ -1942,7 +1567,7 @@ bci += 4; break; - case opc_wide: + case opc_wide: { opcode = code_base[bci+1]; if (opcode == opc_iinc) { bci += 6; @@ -1962,6 +1587,7 @@ fatal(err_msg("Undefined wide opcode %d\n", opcode)); } break; + } default: opcode = code_base[bci]; @@ -1971,6 +1597,50 @@ } } +void Thumb2_RegAlloc(Thumb2_Info *jinfo) +{ + unsigned *locals_info = jinfo->locals_info; + unsigned i, j; + unsigned linfo; + unsigned score, max_score; + unsigned local; + unsigned nlocals = jinfo->method->max_locals(); + unsigned *pregs = jinfo->jregs->pregs; + unsigned npregs = jinfo->jregs->npregs; + + for (i = 0; i < npregs; i++) jinfo->jregs->mapping[i] = -1; + for (i = 0; i < npregs; i++) { + if (jinfo->use_istate && pregs[i] == Ristate) continue; + max_score = 0; + for (j = 0; j < nlocals; j++) { + linfo = locals_info[j]; + + if (linfo & ((1<> 2; + if (linfo & (1<> 2); + if (linfo & (1<> 2; + if (score > max_score) max_score = score, local = j; + } + if (max_score < (OSPACE ? 8 : 2)) break; + locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; + jinfo->jregs->mapping[i] = local; + } +#ifdef T2_PRINT_REGUSAGE + if (t2_print_regusage) { + fprintf(stderr, "Regalloc: %d physical registers allocated as follows\n", npregs); + for (j = 0; j < nlocals; j++) { + unsigned r = jinfo->jregs->r_local[j]; + if (r) { + unsigned typ = (locals_info[j] >> LOCAL_INT) & 0x1f; + fprintf(stderr, " ARM Reg R%d -> local %d (type = %s)\n", r, j, local_types[LOG2(typ)]); + } + } + } +#endif +} + //------------------------------------------------------------------------------------- #define Thumb2 1 @@ -2346,12 +2016,15 @@ return codebuf->idx * 2; } -#define CODE_ALIGN 64 -#define CODE_ALIGN_SIZE 64 - u32 out_align(CodeBuf *codebuf, unsigned align) { - codebuf->idx += (((out_pos(codebuf) + (align-1)) & ~(align-1)) - out_pos(codebuf)) / sizeof(short); + while ((out_pos(codebuf) & (align-1)) != 0) out_16(codebuf, 0); + return out_pos(codebuf); +} + +u32 out_align_offset(CodeBuf *codebuf, unsigned align, unsigned offset) +{ + while ((out_pos(codebuf) & (align-1)) != offset) out_16(codebuf, 0); return out_pos(codebuf); } @@ -2824,6 +2497,16 @@ // return dop_reg(codebuf, DP_MOV, dst, 0, src, SHIFT_LSL, 0); } +int nop_16(CodeBuf *codebuf) +{ + return out_16(codebuf, T_MOV(ARM_R0, ARM_R0)); +} + +int nop_32(CodeBuf *codebuf) +{ + return dop_reg(codebuf, DP_MOV, ARM_R8, 0, ARM_R8, SHIFT_LSL, 0); +} + int mvn_reg(CodeBuf *codebuf, u32 dst, u32 src) { if (dst < ARM_R8 && src < ARM_R8) @@ -3037,7 +2720,7 @@ int cmp_imm(CodeBuf *codebuf, Reg src, u32 imm) { - if (src <= ARM_R8 && imm < 256) return out_16(codebuf, T_CMP_IMM(src, imm)); + if (src < ARM_R8 && imm < 256) return out_16(codebuf, T_CMP_IMM(src, imm)); return dop_imm(codebuf, DP_CMP, 0x0f, src, imm); } @@ -3046,36 +2729,16 @@ return dop_imm(codebuf, DP_TST, 0x0f, src, imm); } -int hbl(CodeBuf *codebuf, unsigned handler) -{ - mov_imm(codebuf, ARM_IP, 0); - str_imm(codebuf, ARM_IP, ARM_IP, 0, 1, 0); -#if 0 - if ((Thumb2 && ThumbEE)) - return out_16(codebuf, T_HBL(handler)); - if (TESTING) - return mov_imm(codebuf, ARM_R8, handler); - J_Unimplemented(); -#endif -} - -#if 0 -int enter_leave(CodeBuf *codebuf, unsigned enter) -{ - if ((Thumb2 && ThumbEE)) - return out_16x2(codebuf, T_ENTER_LEAVE(enter)); - J_Unimplemented(); -} -#endif - -int fullBarrier(CodeBuf *codebuf) -{ - return out_16x2(codebuf, T_DMB(0xf)); -} - -int storeBarrier(CodeBuf *codebuf) -{ - return out_16x2(codebuf, T_DMB(0xe)); +void fullBarrier(CodeBuf *codebuf) +{ + if (os::is_MP()) + out_16x2(codebuf, T_DMB(0xf)); +} + +void storeBarrier(CodeBuf *codebuf) +{ + if (os::is_MP()) + out_16x2(codebuf, T_DMB(0xe)); } int tbh(CodeBuf *codebuf, Reg base, Reg idx) @@ -3458,6 +3121,21 @@ //----------------------------------------------------------------------------------- +// An example of some debugging logic that you can use to trigger a +// breakpoint when a particular method is executing. +#define EQ(S1, S2) (S1 && (strncmp(S1, S2, strlen(S2)) == 0)) +extern "C" void Debug(interpreterState istate) +{ + char valuebuf[8192]; + istate->method()->name_and_sig_as_C_string(valuebuf, sizeof valuebuf); + if (EQ(valuebuf, "java.util.Hashtable.get(Ljava/lang/Object;)") + // && istate->method()->bci_from(istate->bcp()) == 45 + ) { + asm("nop"); + } +} +#undef EQ + void Thumb2_Push_Multiple(CodeBuf *codebuf, Reg *regs, unsigned nregs) { unsigned regset = 0; @@ -3510,58 +3188,6 @@ ldm(codebuf, regset, Rstack, POP_FD, 1); } -#if 0 -int load_multiple(CodeBuf *codebuf, Reg base, Reg *regs, u32 nregs, u32 st, u32 wb) -{ - unsigned regset = 0; - unsigned regmask; - unsigned pre = 0; - int dir = 1; - unsigned u; - Reg r; - - if (st == IB || st == DB) pre = 4; - if (st == DA || st == DB) dir = -4; - JASSERT(nregs > 0, "nregs must be > 0"); - if (nregs == 1) - return ldr_imm(codebuf, regs[0], base, dir, pre, wb); - if (dir > 0) { - u = 0; - do { - r = regs[u]; - regmask = 1<= regset) { - if (!wb && base != ARM_IP) { - mov_reg(codebuf, ARM_IP, base); - base = ARM_IP; - } - ldm(codebuf, regset, base, st, 1); - regset = 0; - } - regset |= regmask; - } while (++u < nregs); - ldm(codebuf, regset, base, st, wb); - } else { - u = nregs; - do { - u--; - r = regs[u]; - regmask = 1< 0); - ldm(codebuf, regset, base, st, wb); - } -} -#endif - int mov_multiple(CodeBuf *codebuf, Reg *dst, Reg *src, unsigned nregs) { unsigned u, n, p; @@ -4024,25 +3650,42 @@ } #define LOCAL_OFFSET(local, stackdepth, nlocals) ((stackdepth)*4 + FRAME_SIZE + ((nlocals)-1-(local))*4) +#define ISTATE_REG(jinfo) ((jinfo)->use_istate ? Ristate : Rstack) +#define ISTATE(jinfo, stackdepth) ((jinfo)->use_istate ? 0 : (((stackdepth)-(jinfo)->jstack->depth)*4)) +#define ISTATE_OFFSET(jinfo, stackdepth, offset) (ISTATE(jinfo, stackdepth) + (offset)) void load_local(Thumb2_Info *jinfo, Reg r, unsigned local, unsigned stackdepth) { -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, r, Rlocals, -local * 4, 1, 0); -#else int nlocals = jinfo->method->max_locals(); - ldr_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); -#endif + if (jinfo->use_istate) + ldr_imm(jinfo->codebuf, r, Ristate, FRAME_SIZE + (nlocals-1-local) * 4, 1, 0); + else + ldr_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); } void store_local(Thumb2_Info *jinfo, Reg r, unsigned local, unsigned stackdepth) { -#ifdef USE_RLOCAL - str_imm(jinfo->codebuf, r, Rlocals, -local << 2, 1, 0); -#else int nlocals = jinfo->method->max_locals(); - str_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); -#endif + if (jinfo->use_istate) + str_imm(jinfo->codebuf, r, Ristate, FRAME_SIZE + (nlocals-1-local) * 4, 1, 0); + else + str_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); +} + +void load_istate(Thumb2_Info *jinfo, Reg r, unsigned istate_offset, unsigned stackdepth) +{ + if (jinfo->use_istate) + ldr_imm(jinfo->codebuf, r, Ristate, istate_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, r, Rstack, ISTATE_OFFSET(jinfo, stackdepth, istate_offset), 1, 0); +} + +void store_istate(Thumb2_Info *jinfo, Reg r, unsigned istate_offset, unsigned stackdepth) +{ + if (jinfo->use_istate) + str_imm(jinfo->codebuf, r, Ristate, istate_offset, 1, 0); + else + str_imm(jinfo->codebuf, r, Rstack, ISTATE_OFFSET(jinfo, stackdepth, istate_offset), 1, 0); } void Thumb2_Load(Thumb2_Info *jinfo, int local, unsigned stackdepth) @@ -4059,7 +3702,6 @@ Thumb2_Spill(jinfo, 1, 0); JASSERT(stackdepth >= jstack->depth, "negative stack offset?"); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r = JSTACK_REG(jstack); PUSH(jstack, r); load_local(jinfo, r, local, stackdepth); @@ -4081,7 +3723,6 @@ } else { Thumb2_Spill(jinfo, 1, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); PUSH(jstack, r_hi); r_lo = PUSH(jstack, JSTACK_REG(jstack)); load_local(jinfo, r_lo, local+1, stackdepth); @@ -4091,14 +3732,12 @@ if (r_lo) { Thumb2_Spill(jinfo, 1, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r_hi = PUSH(jstack, JSTACK_REG(jstack)); load_local(jinfo, r_hi, local, stackdepth); PUSH(jstack, r_lo); } else { Thumb2_Spill(jinfo, 2, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r_hi = PUSH(jstack, JSTACK_REG(jstack)); r_lo = PUSH(jstack, JSTACK_REG(jstack)); load_local(jinfo, r_hi, local, stackdepth); @@ -4115,7 +3754,6 @@ Thumb2_Fill(jinfo, 1); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r = POP(jstack); r_local = jinfo->jregs->r_local[local]; if (r_local) { @@ -4134,7 +3772,6 @@ int nlocals = jinfo->method->max_locals(); Thumb2_Fill(jinfo, 2); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r_lo = POP(jstack); r_hi = POP(jstack); stackdepth -= 2; @@ -4486,15 +4123,6 @@ mov_imm(jinfo->codebuf, ARM_R1, bci); mov_imm(jinfo->codebuf, ARM_IP, 0); str_imm(jinfo->codebuf, ARM_IP, ARM_IP, 0, 1, 0); -// hbl(jinfo->codebuf, handler); -} - -void Thumb2_Debug(Thumb2_Info *jinfo, unsigned handler) -{ -#if 0 - Thumb2_Flush(jinfo); - bl(jinfo->codebuf, handlers[handler]); -#endif } void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start); @@ -4541,7 +4169,7 @@ // the safepoint test // abnormal case: read the polling page, trap to handler // which resets return address into the safepoint check code - // + // // with a negative offset the generated code will look like // movw r_tmp, #polling_page // movt r_tmp, #polling_page @@ -4572,7 +4200,7 @@ // > // L1: // - // + // // n.b. for a return there is no need save or restore locals int r_tmp = Thumb2_Tmp(jinfo, 0); @@ -4617,6 +4245,8 @@ Thumb2_save_locals(jinfo, stackdepth); //} mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); + add_imm(jinfo->codebuf, ARM_R2, ISTATE_REG(jinfo), + ISTATE_OFFSET(jinfo, stackdepth, 0)); bl(jinfo->codebuf, handlers[H_SAFEPOINT]); //if (offset != 0) { Thumb2_restore_locals(jinfo, stackdepth); @@ -4662,13 +4292,14 @@ return -1; } -int Thumb2_Goto(Thumb2_Info *jinfo, unsigned bci, int offset, int len, int stackdepth) +int Thumb2_Goto(Thumb2_Info *jinfo, unsigned bci, int offset, int len, int stackdepth = -1) { unsigned dest_taken = bci + offset; unsigned dest_not_taken = bci + len; unsigned loc; - if (jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { + if (stackdepth >= 0 + && jinfo->bc_stackinfo[dest_taken] & BC_COMPILED) { // n.b. the backwards branch will be planted by the safepoint routine Thumb2_Safepoint(jinfo, stackdepth, bci, offset); return dest_not_taken; @@ -4680,6 +4311,80 @@ return -1; } +void Thumb2_save_locals(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if ((locals_info[i] & (1 << LOCAL_REF)) && (locals_info[i] & (1 << LOCAL_MODIFIED))) { + store_local(jinfo, r, i, stackdepth); + } + } + } +} + +void Thumb2_restore_locals(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if (locals_info[i] & (1<method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if (locals_info[i] & (1 << LOCAL_MODIFIED)) { + store_local(jinfo, r, i, stackdepth); + } + } + } +} + +void Thumb2_invoke_restore(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + load_local(jinfo, r, i, stackdepth); + } + } +} + +void Thumb2_Exit(Thumb2_Info *jinfo, unsigned handler, unsigned bci, unsigned stackdepth) +{ + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[handler]); +} + void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode, int bci, int stackdepth) { Thumb2_Safepoint(jinfo, stackdepth, bci, 0); @@ -4687,13 +4392,8 @@ Reg r_lo, r; Thumb2_Stack *jstack = jinfo->jstack; - if (0 /*jinfo->compiled_return*/) { - unsigned bci = jinfo->compiled_return; - - JASSERT(jinfo->bc_stackinfo[bci] & BC_COMPILED, "return not compiled"); - JASSERT(jinfo->code_base[bci] == opcode, "type of return changed"); - branch_uncond(jinfo->codebuf, jinfo->bc_stackinfo[bci] & ~BC_FLAGS_MASK); - return; + if (jinfo->method->has_monitor_bytecodes()) { + Thumb2_Exit(jinfo, H_EXIT_TO_INTERPRETER, bci, stackdepth); } if (jinfo->method->is_synchronized()) { @@ -4703,7 +4403,7 @@ // Thumb2_save_locals(jinfo); // Free the monitor // - // sub r1, Ristate, #8 + // add r1, #-8 // ldr r2, [r1, #4] // cbz r2, throw_illegal_monitor_state // ldr r0, [r1, #0] @@ -4724,7 +4424,8 @@ // // JAZ_V1 == tmp2 // JAZ_V2 == tmp1 - sub_imm(jinfo->codebuf, ARM_R1, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + add_imm(jinfo->codebuf, ARM_R1, ISTATE_REG(jinfo), ISTATE(jinfo, stackdepth) - frame::interpreter_frame_monitor_size()*wordSize); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R1, 4, 1, 0); loc_illegal_monitor_state = forward_16(jinfo->codebuf); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); @@ -4750,7 +4451,15 @@ cbz_patch(jinfo->codebuf, ARM_R3, loc_success2); } - if (opcode != opc_return) { + if (opcode == opc_return) { + if (jinfo->compiled_return) { + unsigned ret_idx = jinfo->compiled_return; + + branch_uncond(jinfo->codebuf, ret_idx); + return; + } + if (OSPACE) jinfo->compiled_return = jinfo->codebuf->idx * 2; + } else { if (opcode == opc_lreturn || opcode == opc_dreturn) { Thumb2_Fill(jinfo, 2); r_lo = POP(jstack); @@ -4758,6 +4467,13 @@ } else { Thumb2_Fill(jinfo, 1); r = POP(jstack); + if (jinfo->compiled_word_return[r]) { + unsigned ret_idx = jinfo->compiled_word_return[r]; + + branch_uncond(jinfo->codebuf, ret_idx); + return; + } + if (OSPACE) jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; } } @@ -4778,11 +4494,8 @@ } } -// sub_imm(jinfo->codebuf, Ristate, ARM_LR, ISTATE_NEXT_FRAME); str_imm(jinfo->codebuf, ARM_LR, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODEXIT); -// enter_leave(jinfo->codebuf, 0); // deoptimized_frames = 0 // FIXME: This should be done in the slow entry, but only three @@ -4792,113 +4505,12 @@ ldm(jinfo->codebuf, C_REGSET + (1<method->max_locals(); - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - store_local(jinfo, r, i, stackdepth); - } - } -} -#endif - -void Thumb2_save_locals(Thumb2_Info *jinfo, unsigned stackdepth) -{ - int nlocals = jinfo->method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - if ((locals_info[i] & (1 << LOCAL_REF)) && (locals_info[i] & (1 << LOCAL_MODIFIED))) { - store_local(jinfo, r, i, stackdepth); - } - } - } -} - -void Thumb2_restore_locals(Thumb2_Info *jinfo, unsigned stackdepth) -{ - int nlocals = jinfo->method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - if (locals_info[i] & (1<method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - if (locals_info[i] & (1 << LOCAL_MODIFIED)) { - store_local(jinfo, r, i, stackdepth); - } - } - } -} - -void Thumb2_invoke_restore(Thumb2_Info *jinfo, unsigned stackdepth) -{ - int nlocals = jinfo->method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - load_local(jinfo, r, i, stackdepth); - } - } -} - -void Thumb2_Exit(Thumb2_Info *jinfo, unsigned handler, unsigned bci, unsigned stackdepth) -{ - Thumb2_Flush(jinfo); - Thumb2_invoke_save(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - bl(jinfo->codebuf, handlers[handler]); -} - -void Thumb2_Jsr(Thumb2_Info *jinfo, unsigned bci, unsigned stackdepth) -{ - Thumb2_Exit(jinfo, H_JSR, bci, stackdepth); -} - int Thumb2_Accessor(Thumb2_Info *jinfo) { jubyte *code_base = jinfo->code_base; constantPoolCacheOop cp = jinfo->method->constants()->cache(); ConstantPoolCacheEntry* cache; int index = GET_NATIVE_U2(code_base+2); - unsigned loc; unsigned *bc_stackinfo = jinfo->bc_stackinfo; JASSERT(code_base[0] == opc_aload_0 || code_base[0] == opc_iaccess_0, "not an aload_0 in accessor"); @@ -4909,28 +4521,28 @@ TosState tos_type = cache->flag_state(); int field_offset = cache->f2(); - // Slow entry point - loc = forward_32(jinfo->codebuf); - out_32(jinfo->codebuf, 0); - out_32(jinfo->codebuf, 0); + // Slow entry point - callee save + // R0 = method + // R2 = thread + stm(jinfo->codebuf, (1<codebuf, Rthread, ARM_R2); + bl(jinfo->codebuf, out_pos(jinfo->codebuf) + FAST_ENTRY_OFFSET - 6); + ldm(jinfo->codebuf, (1<codebuf, 0); out_32(jinfo->codebuf, 0); // pointer to osr table out_32(jinfo->codebuf, 0); // Space for exception_table pointer out_32(jinfo->codebuf, 0); // next compiled method - out_32(jinfo->codebuf, 0); // regusage - out_32(jinfo->codebuf, 0); - out_32(jinfo->codebuf, 0); - - // OSR entry point - mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); + out_32(jinfo->codebuf, -1); // regusage + out_32(jinfo->codebuf, -1); + out_32(jinfo->codebuf, -1); out_align(jinfo->codebuf, CODE_ALIGN); // fast entry point bc_stackinfo[0] = (bc_stackinfo[0] & BC_FLAGS_MASK) | (jinfo->codebuf->idx * 2) | BC_COMPILED; - branch_uncond_patch(jinfo->codebuf, loc, jinfo->codebuf->idx * 2); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R2, THREAD_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); if (tos_type == btos) ldrsb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); @@ -4952,19 +4564,26 @@ return 1; } +#define STACKDEPTH(jinfo, stackinfo) (((stackinfo) & ~BC_FLAGS_MASK) + \ + ((jinfo)->method->is_synchronized() ? frame::interpreter_frame_monitor_size() : 0)) + + void Thumb2_Enter(Thumb2_Info *jinfo) { int parms = jinfo->method->size_of_parameters(); int extra_locals = jinfo->method->max_locals() - parms; unsigned *locals_info = jinfo->locals_info; int i; + unsigned stackdepth = 0; // Slow entry point - callee save // R0 = method // R2 = thread stm(jinfo->codebuf, I_REGSET + (1<codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); + mov_reg(jinfo->codebuf, Rthread, ARM_R2); + bl(jinfo->codebuf, out_pos(jinfo->codebuf) + FAST_ENTRY_OFFSET - 6); ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); out_32(jinfo->codebuf, 0); // Space for osr_table pointer out_32(jinfo->codebuf, 0); // Space for exception_table pointer @@ -4974,43 +4593,20 @@ out_32(jinfo->codebuf, 0); out_32(jinfo->codebuf, 0); - // OSR entry point == Slow entry + 16 - caller save - // R0 = entry point within compiled method - // R1 = locals - THUMB2_MAXLOCALS * 4 - // R2 = thread - // R3 = locals - 31 * 4 - { - int nlocals = jinfo->method->max_locals(); - - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - ldr_imm(jinfo->codebuf, r, - (i < 32) ? ARM_R3 : ARM_R1, - (i < 32) ? (31 - i) * 4 : (THUMB2_MAXLOCALS - i) * 4, - 1, 0); - } - } - mov_reg(jinfo->codebuf, Rthread, ARM_R2); - mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); - } - out_align(jinfo->codebuf, CODE_ALIGN); // Fast entry point == Slow entry + 64 - caller save // R0 = method // R2 = thread stm(jinfo->codebuf, C_REGSET + (1<codebuf, 1); - ldr_imm(jinfo->codebuf, Rstack, ARM_R2, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODENTRY); + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); { unsigned stacksize; stacksize = (extra_locals + jinfo->method->max_stack()) * sizeof(int); stacksize += FRAME_SIZE + STACK_SPARE; if (!jinfo->is_leaf || stacksize > LEAF_STACK_SIZE) { - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_STACK_BASE, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_JAVA_STACK_BASE, 1, 0); sub_imm(jinfo->codebuf, ARM_R1, Rstack, stacksize + LEAF_STACK_SIZE); cmp_reg(jinfo->codebuf, ARM_R3, ARM_R1); it(jinfo->codebuf, COND_CS, IT_MASK_T); @@ -5031,13 +4627,20 @@ ldr_imm(jinfo->codebuf, ARM_IP, ARM_R0, METHOD_CONSTANTS, 1, 0); - sub_imm(jinfo->codebuf, Ristate, Rstack, FRAME_SIZE); - add_imm(jinfo->codebuf, Rlocals, Rstack, (jinfo->method->max_locals()-1) * sizeof(int)); - str_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); + + sub_imm(jinfo->codebuf, Rstack, Rstack, FRAME_SIZE); + + if (jinfo->use_istate) mov_reg(jinfo->codebuf, Ristate, Rstack); + store_istate(jinfo, Rstack, ISTATE_SELF_LINK, stackdepth); + + store_istate(jinfo, Rstack, ISTATE_MONITOR_BASE, stackdepth); + + store_istate(jinfo, Rlocals, ISTATE_LOCALS, stackdepth); if (jinfo->method->is_synchronized()) { - sub_imm(jinfo->codebuf, Rstack, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + sub_imm(jinfo->codebuf, Rstack, Rstack, frame::interpreter_frame_monitor_size()*wordSize); + stackdepth = frame::interpreter_frame_monitor_size(); if (jinfo->method->is_static()) { ldr_imm(jinfo->codebuf, ARM_R3, ARM_IP, CONSTANTPOOL_POOL_HOLDER, 1, 0); ldr_imm(jinfo->codebuf, JAZ_V1, ARM_R3, KLASS_PART+KLASS_JAVA_MIRROR, 1, 0); @@ -5045,46 +4648,39 @@ ldr_imm(jinfo->codebuf, JAZ_V1, Rlocals, 0, 1, 0); } str_imm(jinfo->codebuf, JAZ_V1, Rstack, 4, 1, 0); - } else - mov_reg(jinfo->codebuf, Rstack, Ristate); - - str_imm(jinfo->codebuf, ARM_R1, Ristate, ISTATE_MSG, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Ristate, ISTATE_OOP_TEMP, 1, 0); + } + + store_istate(jinfo, ARM_R1, ISTATE_MSG, stackdepth); + store_istate(jinfo, ARM_R1, ISTATE_OOP_TEMP, stackdepth); sub_imm(jinfo->codebuf, ARM_R3, Rstack, jinfo->method->max_stack() * sizeof(int)); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_SP, 1, 0); - - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK_BASE, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_JAVA_SP, 1, 0); + + store_istate(jinfo, Rstack, ISTATE_STACK_BASE, stackdepth); sub_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_STACK_LIMIT, 1, 0); - - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_TOP_ZERO_FRAME, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_NEXT_FRAME, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_STACK_LIMIT, stackdepth); + + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_NEXT_FRAME, stackdepth); mov_imm(jinfo->codebuf, ARM_R3, INTERPRETER_FRAME); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_FRAME_TYPE, 1, 0); - - str_imm(jinfo->codebuf, Ristate, Ristate, ISTATE_MONITOR_BASE, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_FRAME_TYPE, stackdepth); mov_imm(jinfo->codebuf, ARM_R1, 0); // set last SP to zero before // setting FP - str_imm(jinfo->codebuf, ARM_R1, ARM_R2, THREAD_LAST_JAVA_SP, 1, 0); - add_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_NEXT_FRAME); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_TOP_ZERO_FRAME, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_LAST_JAVA_FP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_LAST_JAVA_SP, 1, 0); + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + add_imm(jinfo->codebuf, ARM_R3, ISTATE_REG(jinfo), ISTATE(jinfo, stackdepth) + ISTATE_NEXT_FRAME); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_LAST_JAVA_FP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_JAVA_SP, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_LAST_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R3, ARM_IP, CONSTANTPOOL_CACHE, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_CONSTANTS, 1, 0); - - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_THREAD, 1, 0); - str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); - - str_imm(jinfo->codebuf, Ristate, Ristate, ISTATE_SELF_LINK, 1, 0); - - mov_reg(jinfo->codebuf, Rthread, ARM_R2); + store_istate(jinfo, ARM_R3, ISTATE_CONSTANTS, stackdepth); + + store_istate(jinfo, Rthread, ISTATE_THREAD, stackdepth); + store_istate(jinfo, ARM_R0, ISTATE_METHOD, stackdepth); if (jinfo->method->is_synchronized()) { unsigned loc_retry, loc_failed, loc_success, loc_exception; @@ -5093,14 +4689,13 @@ // // Try to acquire the monitor. Seems very sub-optimal // ldr r3, [JAZ_V1, #0] - // sub r1, Ristate, #8 // orr r3, r3, #1 - // str r3, [r1, #0] + // str r3, [Rstack, #0] // retry: // ldrex r0, [JAZ_V1, #0] // cmp r3, r0 // bne failed - // strex r0, r1, [JAZ_V1, #0] + // strex r0, Rstack, [JAZ_V1, #0] // cbz r0, success // b retry // failed: @@ -5109,15 +4704,14 @@ // // ldr_imm(jinfo->codebuf, ARM_R3, JAZ_V1, 0, 1, 0); - sub_imm(jinfo->codebuf, ARM_R1, Ristate, frame::interpreter_frame_monitor_size()*wordSize); orr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 1); - str_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rstack, 0, 1, 0); loc_retry = out_loc(jinfo->codebuf); // retry: ldrex_imm(jinfo->codebuf, ARM_R0, JAZ_V1, 0); cmp_reg(jinfo->codebuf, ARM_R3, ARM_R0); loc_failed = forward_16(jinfo->codebuf); - strex_imm(jinfo->codebuf, ARM_R0, ARM_R1, JAZ_V1, 0); + strex_imm(jinfo->codebuf, ARM_R0, Rstack, JAZ_V1, 0); loc_success = forward_16(jinfo->codebuf); branch_uncond(jinfo->codebuf, loc_retry); bcc_patch(jinfo->codebuf, COND_NE, loc_failed); @@ -5128,8 +4722,6 @@ bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); cbz_patch(jinfo->codebuf, ARM_R0, loc_exception); cbz_patch(jinfo->codebuf, ARM_R0, loc_success); -// mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); -// bl(jinfo->codebuf, handlers[H_MONITOR]); // success: } @@ -5140,11 +4732,11 @@ for (i = 0; i < nlocals; i++) { Reg r = jinfo->jregs->r_local[i]; if (r) { - unsigned stackdepth = 0; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - if (i < parms || (locals_info[i] & (1<codebuf, r, ARM_R1); } } } @@ -5176,14 +4768,7 @@ H_D2F, }; -// Generate code for a load of a jlong. If the operand is volatile, -// generate a sequence of the form -// -// .Lsrc: -// ldrexd r0, r1 , [src] -// strexd r2 , r0, r1, [src] -// cmp r2, #0 -// bne .Lsrc +// Generate code for a load of a jlong. void Thumb2_load_long(Thumb2_Info *jinfo, Reg r_lo, Reg r_hi, Reg base, int field_offset, @@ -5192,22 +4777,17 @@ CodeBuf *codebuf = jinfo->codebuf; if (is_volatile) { Reg r_addr = base; - Reg tmp = Thumb2_Tmp(jinfo, (1<codebuf, r_addr, base, field_offset); } - int loc = out_loc(codebuf); ldrexd(codebuf, r_lo, r_hi, r_addr); - strexd(codebuf, tmp, r_lo, r_hi, r_addr); - cmp_imm(codebuf, tmp, 0); - branch(codebuf, COND_NE, loc); } else { ldrd_imm(codebuf, r_lo, r_hi, base, field_offset, 1, 0); } } -// Generate code for a load of a jlong. If the operand is volatile, +// Generate code for a store of a jlong. If the operand is volatile, // generate a sequence of the form // // .Ldst @@ -5459,16 +5039,26 @@ unsigned stackdepth; for (bci = start; bci < code_size; ) { -#ifdef T2EE_PRINT_DISASS - unsigned start_idx = jinfo->codebuf->idx; + opcode = code_base[bci]; + stackinfo = bc_stackinfo[bci]; +#ifdef T2_PRINT_DISASS + unsigned start_idx; +#endif + + if (stackinfo & BC_BRANCH_TARGET) Thumb2_Flush(jinfo); + + if (!OSPACE && (stackinfo & BC_BACK_TARGET)) { + if (out_pos(codebuf) & 0x02) nop_16(codebuf); + if (out_pos(codebuf) & 0x04) nop_32(codebuf); + } + +#ifdef T2_PRINT_DISASS + start_idx = jinfo->codebuf->idx; if (start_bci[start_idx] == -1) start_bci[start_idx] = bci; #endif - opcode = code_base[bci]; - stackinfo = bc_stackinfo[bci]; - - if (stackinfo & BC_BRANCH_TARGET) Thumb2_Flush(jinfo); + JASSERT(!(stackinfo & BC_COMPILED), "code already compiled for this bytecode?"); - stackdepth = stackinfo & ~BC_FLAGS_MASK; + stackdepth = STACKDEPTH(jinfo, stackinfo); // Stackdepth here is adjusted for monitors bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2) | BC_COMPILED; if (opcode > OPC_LAST_JAVA_OP) @@ -5491,13 +5081,13 @@ (address)(code_base+bci), (address)(code_base+code_size))); } - if (IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo)) { + if (IS_DEAD(stackinfo)) { unsigned zlen = 0; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS unsigned start_bci = bci; #endif - Thumb2_Exit(jinfo, H_ZOMBIE, bci, stackdepth); + Thumb2_Exit(jinfo, H_DEADCODE, bci, stackdepth); do { zlen += len; bci += len; @@ -5506,7 +5096,7 @@ stackinfo = bc_stackinfo[bci]; if (stackinfo & BC_BRANCH_TARGET) break; - if (!(IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo))) break; + if (!IS_DEAD(stackinfo)) break; bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2); @@ -5524,21 +5114,20 @@ } } while (1); -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS end_bci[start_idx] = start_bci + zlen; #endif - jinfo->zombie_bytes += zlen; continue; } #if 0 - if (bci >= 2620) { + if (bci >= 4) { unsigned zlen = 0; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS unsigned start_bci = bci; #endif - Thumb2_Exit(jinfo, H_ZOMBIE, bci, stackdepth); + Thumb2_Exit(jinfo, H_DEADCODE, bci, stackdepth); do { zlen += len; bci += len; @@ -5548,6 +5137,8 @@ if (stackinfo & BC_BRANCH_TARGET) break; + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2); + if (opcode > OPC_LAST_JAVA_OP) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); @@ -5562,15 +5153,14 @@ } } while (1); -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS end_bci[start_idx] = start_bci + zlen; #endif - jinfo->zombie_bytes += zlen; continue; } #endif -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS end_bci[start_idx] = bci + len; #endif @@ -5637,16 +5227,6 @@ v = (unsigned)constants->int_at(index); len += Thumb2_Imm(jinfo, v, bci+len); break; -#if 0 - case JVM_CONSTANT_String: - v = (unsigned)constants->resolved_string_at(index); - len += Thumb2_Imm(jinfo, v, bci+len); - break; - case JVM_CONSTANT_Class: - v = (unsigned)constants->resolved_klass_at(index)->klass_part()->java_mirror(); - len += Thumb2_Imm(jinfo, v, bci+len); - break; -#endif case JVM_CONSTANT_Long: case JVM_CONSTANT_Double: { unsigned long long v; @@ -5660,7 +5240,7 @@ Thumb2_Spill(jinfo, 1, 0); r = JSTACK_REG(jstack); PUSH(jstack, r); - ldr_imm(jinfo->codebuf, r, Ristate, ISTATE_METHOD, 1, 0); + load_istate(jinfo, r, ISTATE_METHOD, stackdepth+1); ldr_imm(jinfo->codebuf, r, r, METHOD_CONSTANTS, 1, 0); ldr_imm(jinfo->codebuf, r, r, CONSTANTPOOL_BASE + (index << 2), 1, 0); if (v == JVM_CONSTANT_Class) @@ -5674,8 +5254,8 @@ Thumb2_Flush(jinfo); mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); Thumb2_save_locals(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R1, opcode != opc_ldc); - bl(jinfo->codebuf, handlers[H_LDC]); +// mov_imm(jinfo->codebuf, ARM_R1, opcode != opc_ldc); + bl(jinfo->codebuf, handlers[opcode == opc_ldc ? H_LDC : H_LDC_W]); Thumb2_restore_locals(jinfo, stackdepth); ldr_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_VM_RESULT, 1, 0); mov_imm(jinfo->codebuf, ARM_R2, 0); @@ -5833,7 +5413,6 @@ res_lo = PUSH(jstack, JSTACK_PREFER(jstack, ~((1<codebuf, shift, shift, 63); and_imm(jinfo->codebuf, ARM_IP, shift, 31); tst_imm(jinfo->codebuf, shift, 32); loc1 = forward_16(jinfo->codebuf); @@ -5863,7 +5442,6 @@ res_lo = PUSH(jstack, JSTACK_PREFER(jstack, ~((1<codebuf, shift, shift, 63); and_imm(jinfo->codebuf, ARM_IP, shift, 31); tst_imm(jinfo->codebuf, shift, 32); loc1 = forward_16(jinfo->codebuf); @@ -5893,7 +5471,6 @@ res_lo = PUSH(jstack, JSTACK_PREFER(jstack, ~((1<codebuf, shift, shift, 63); and_imm(jinfo->codebuf, ARM_IP, shift, 31); tst_imm(jinfo->codebuf, shift, 32); loc1 = forward_16(jinfo->codebuf); @@ -6035,14 +5612,10 @@ mov_reg(jinfo->codebuf, ARM_R0, r_lho); mov_reg(jinfo->codebuf, ARM_R1, r_rho); } -#if 1 if (opcode == opc_frem) bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); else blx(jinfo->codebuf, OPCODE2HANDLER(opcode)); -#else - bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); -#endif PUSH(jstack, ARM_R0); break; } @@ -6222,7 +5795,6 @@ int nlocals = jinfo->method->max_locals(); r = Thumb2_Tmp(jinfo, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); load_local(jinfo, r, local, stackdepth); add_imm(jinfo->codebuf, r, r, constant); store_local(jinfo, r, local, stackdepth); @@ -6257,7 +5829,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -6297,11 +5869,6 @@ break; } - case opc_monitorexit: - case opc_monitorenter: - Thumb2_Exit(jinfo, H_MONITOR, bci, stackdepth); - break; - case opc_getstatic: { constantPoolCacheOop cp = jinfo->method->constants()->cache(); ConstantPoolCacheEntry* cache; @@ -6325,7 +5892,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -6338,7 +5905,7 @@ r_hi = PUSH(jstack, JSTACK_REG(jstack)); r_lo = PUSH(jstack, JSTACK_REG(jstack)); r_addr = Thumb2_Tmp(jinfo, (1<codebuf, r_lo, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r_lo, ISTATE_CONSTANTS, stackdepth+2); ldr_imm(jinfo->codebuf, r_addr, r_lo, CP_OFFSET + (index << 4) + 4, 1, 0); Thumb2_load_long(jinfo, r_lo, r_hi, r_addr, field_offset, cache->is_volatile()); @@ -6347,7 +5914,7 @@ Thumb2_Spill(jinfo, 1, 0); r = JSTACK_REG(jstack); PUSH(jstack, r); - ldr_imm(jinfo->codebuf, r, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r, ISTATE_CONSTANTS, stackdepth+1); ldr_imm(jinfo->codebuf, r, r, CP_OFFSET + (index << 4) + 4, 1, 0); if (tos_type == btos) ldrsb_imm(jinfo->codebuf, r, r, field_offset, 1, 0); @@ -6390,7 +5957,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -6456,7 +6023,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -6475,7 +6042,7 @@ Thumb2_Spill(jinfo, 1, (1<codebuf, r_obj, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r_obj, ISTATE_CONSTANTS, stackdepth-2); ldr_imm(jinfo->codebuf, r_obj, r_obj, CP_OFFSET + (index << 4) + 4, 1, 0); Thumb2_store_long(jinfo, r_lo, r_hi, r_obj, field_offset, cache->is_volatile()); } else { @@ -6485,7 +6052,7 @@ Thumb2_Spill(jinfo, 1, (1<codebuf, r_obj, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r_obj, ISTATE_CONSTANTS, stackdepth-1); ldr_imm(jinfo->codebuf, r_obj, r_obj, CP_OFFSET + (index << 4) + 4, 1, 0); if (tos_type == btos) strb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); @@ -6507,6 +6074,7 @@ break; } + case opc_invokevirtual: case opc_invokestatic: case opc_invokespecial: { constantPoolCacheOop cp = jinfo->method->constants()->cache(); @@ -6515,6 +6083,21 @@ unsigned loc; methodOop callee; + // Call Debug if we're about to enter a synchronized method. +#define DEBUG_REGSET ((1<method->is_synchronized()) { + stm(jinfo->codebuf, DEBUG_REGSET | (1<codebuf, ARM_R0, ISTATE_REG(jinfo), ISTATE_OFFSET(jinfo, stackdepth, 0)); + mov_imm(jinfo->codebuf, ARM_IP, (u32)Debug); + load_istate(jinfo, ARM_R2, ISTATE_METHOD, stackdepth); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); + store_istate(jinfo, ARM_R2, ISTATE_BCP, stackdepth); + blx_reg(jinfo->codebuf, ARM_IP); + ldm(jinfo->codebuf, DEBUG_REGSET | (1<entry_at(index); if (!cache->is_resolved((Bytecodes::Code)opcode)) { Thumb2_Flush(jinfo); @@ -6522,17 +6105,18 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, - handlers[opcode == opc_invokestatic ? H_INVOKESTATIC : H_INVOKESPECIAL]); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + handlers[opcode == opc_invokestatic ? H_INVOKESTATIC : + opcode == opc_invokespecial ? H_INVOKESPECIAL : H_INVOKEVIRTUAL]); + Thumb2_invoke_restore(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } - callee = (methodOop)cache->f1(); - - if (handle_special_method(callee, jinfo, stackdepth)) - break; - - if (callee->is_accessor()) { + callee = opcode == opc_invokevirtual ? (methodOop)cache->f2() : (methodOop)cache->f1(); + if ((opcode != opc_invokevirtual || cache->is_vfinal()) && callee->is_accessor()) { + + if (handle_special_method(callee, jinfo, stackdepth)) + break; + u1 *code = callee->code_base(); int index = GET_NATIVE_U2(&code[2]); constantPoolCacheOop callee_cache = callee->constants()->cache(); @@ -6540,11 +6124,6 @@ Reg r_obj, r; if (entry->is_resolved(Bytecodes::_getfield)) { -#if 0 - tty->print("Inlining accessor (opcode = %s) ", opcode == opc_invokestatic ? "invokestatic" : "invokespecial"); - callee->print_short_name(tty); - tty->print("\n"); -#endif JASSERT(cache->parameter_size() == 1, "not 1 parameter to accessor"); TosState tos_type = entry->flag_state(); @@ -6558,7 +6137,7 @@ r = JSTACK_REG(jstack); PUSH(jstack, r); if (tos_type == btos) - ldrsb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); else if (tos_type == ctos) ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); else if (tos_type == stos) @@ -6569,44 +6148,56 @@ } } - Thumb2_Flush(jinfo); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_CONSTANTS, 1, 0); - mov_imm(jinfo->codebuf, ARM_R1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - if (opcode == opc_invokespecial) - ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, CP_OFFSET + (index << 4) + 4, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); - if (opcode == opc_invokespecial) - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 0, 1, 0); // Null pointer check - cbz better? - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); + Thumb2_Flush(jinfo); + if (OSPACE) { + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[ + opcode == opc_invokestatic ? H_INVOKESTATIC_RESOLVED : + opcode == opc_invokespecial ? H_INVOKESPECIAL_RESOLVED : + cache->is_vfinal() ? H_INVOKEVFINAL : H_INVOKEVIRTUAL_RESOLVED]); + Thumb2_invoke_restore(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); + break; + } + + load_istate(jinfo, ARM_R2, ISTATE_METHOD, stackdepth); + mov_imm(jinfo->codebuf, ARM_R1, 0); + if (opcode != opc_invokestatic) + ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); + if (opcode != opc_invokevirtual || cache->is_vfinal()) + load_istate(jinfo, ARM_R0, ISTATE_CONSTANTS, stackdepth); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + if (opcode != opc_invokestatic) + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4, 1, 0); + if (opcode != opc_invokevirtual || cache->is_vfinal()) + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, + CP_OFFSET + (index << 4) + (opcode == opc_invokevirtual ? 8 : 4), 1, 0); + else + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R3, INSTANCEKLASS_VTABLE_OFFSET + cache->f2() * 4, 1, 0); + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); + str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_FP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); - str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); - Thumb2_invoke_save(jinfo, stackdepth); - sub_imm(jinfo->codebuf, Rstack, Rstack, 4); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); - mov_reg(jinfo->codebuf, ARM_R2, Rthread); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); -add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); -// enter_leave(jinfo->codebuf, 0); - blx_reg(jinfo->codebuf, ARM_R3); -// enter_leave(jinfo->codebuf, 1); - ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); -#endif + ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); + store_istate(jinfo, ARM_R2, ISTATE_BCP, stackdepth); + str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + Thumb2_invoke_save(jinfo, stackdepth); + sub_imm(jinfo->codebuf, Rstack, Rstack, 4); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + store_istate(jinfo, Rstack, ISTATE_STACK, stackdepth+1); + add_imm(jinfo->codebuf, ARM_R3, ARM_R3, FAST_ENTRY_OFFSET); + blx_reg(jinfo->codebuf, ARM_R3); + JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); + stackdepth = STACKDEPTH(jinfo, bc_stackinfo[bci+len]); ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); - JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + load_istate(jinfo, ARM_R2, ISTATE_STACK_LIMIT, stackdepth); + ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + Thumb2_invoke_restore(jinfo, stackdepth); mov_imm(jinfo->codebuf, ARM_R0, 0); // set last SP to zero // before setting FP str_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_LAST_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + Thumb2_invoke_restore(jinfo, stackdepth); add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); @@ -6624,162 +6215,14 @@ int index = GET_NATIVE_U2(code_base+bci+1); unsigned loc, loc_inc_ex; -// Currently we just call the unresolved invokeinterface entry for resolved / -// unresolved alike! - Thumb2_Flush(jinfo); - Thumb2_invoke_save(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - mov_imm(jinfo->codebuf, ARM_R1, index); - blx(jinfo->codebuf, handlers[H_INVOKEINTERFACE]); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - break; - } - - case opc_invokevirtual: { - constantPoolCacheOop cp = jinfo->method->constants()->cache(); - ConstantPoolCacheEntry* cache; - int index = GET_NATIVE_U2(code_base+bci+1); - unsigned loc; - - cache = cp->entry_at(index); - if (!cache->is_resolved((Bytecodes::Code)opcode)) { - Thumb2_Flush(jinfo); - Thumb2_invoke_save(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - mov_imm(jinfo->codebuf, ARM_R1, index); - blx(jinfo->codebuf, handlers[H_INVOKEVIRTUAL]); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - break; - } - - if (cache->is_vfinal()) { - methodOop callee = (methodOop)cache->f2(); - - if (handle_special_method(callee, jinfo, stackdepth)) - break; - - if (callee->is_accessor()) { - u1 *code = callee->code_base(); - int index = GET_NATIVE_U2(&code[2]); - constantPoolCacheOop callee_cache = callee->constants()->cache(); - ConstantPoolCacheEntry *entry = callee_cache->entry_at(index); - Reg r_obj, r; - - if (entry->is_resolved(Bytecodes::_getfield)) { -#if 0 - tty->print("Inlining accessor (opcode = invokevfinal) "); - callee->print_short_name(tty); - tty->print("\n"); -#endif - JASSERT(cache->parameter_size() == 1, "not 1 parameter to accessor"); - - TosState tos_type = entry->flag_state(); - int field_offset = entry->f2(); - - JASSERT(tos_type == btos || tos_type == ctos || tos_type == stos || tos_type == atos || tos_type == itos, "not itos or atos"); - - Thumb2_Fill(jinfo, 1); - r_obj = POP(jstack); - Thumb2_Spill(jinfo, 1, 0); - r = JSTACK_REG(jstack); - PUSH(jstack, r); - if (tos_type == btos) - ldrsb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - else if (tos_type == ctos) - ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - else if (tos_type == stos) - ldrsh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - else - ldr_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - break; - } - } - } - + // Currently we just call the unresolved invokeinterface entry for resolved / + // unresolved alike! Thumb2_Flush(jinfo); - if (cache->is_vfinal()) { - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_CONSTANTS, 1, 0); - mov_imm(jinfo->codebuf, ARM_R1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, CP_OFFSET + (index << 4) + 8, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 0, 1, 0); // Null pointer check - cbz better? - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_FP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); - str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); Thumb2_invoke_save(jinfo, stackdepth); - sub_imm(jinfo->codebuf, Rstack, Rstack, 4); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); - mov_reg(jinfo->codebuf, ARM_R2, Rthread); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); -add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); -// enter_leave(jinfo->codebuf, 0); - blx_reg(jinfo->codebuf, ARM_R3); -// enter_leave(jinfo->codebuf, 1); - ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); -#endif - ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); - JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); - ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_FP, 1, 0); - cmp_imm(jinfo->codebuf, ARM_R3, 0); - it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); - break; - } else { - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4, 1, 0); - mov_imm(jinfo->codebuf, ARM_R1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, ARM_R3, INSTANCEKLASS_VTABLE_OFFSET + cache->f2() * 4, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_FP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); - str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); - Thumb2_invoke_save(jinfo, stackdepth); - sub_imm(jinfo->codebuf, Rstack, Rstack, 4); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); - mov_reg(jinfo->codebuf, ARM_R2, Rthread); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); -add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); -// enter_leave(jinfo->codebuf, 0); - blx_reg(jinfo->codebuf, ARM_R3); -// enter_leave(jinfo->codebuf, 1); - ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); -#endif - ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); - JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); - ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_FP, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - cmp_imm(jinfo->codebuf, ARM_R3, 0); - it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); - } + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[H_INVOKEINTERFACE]); + Thumb2_invoke_restore(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -6810,7 +6253,18 @@ case opc_jsr_w: case opc_jsr: { - Thumb2_Jsr(jinfo , bci, stackdepth); + int offset = opcode == opc_jsr ? + GET_JAVA_S2(jinfo->code_base + bci + 1) : + GET_JAVA_U4(jinfo->code_base + bci + 1); + Reg r; + + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + mov_imm(jinfo->codebuf, r, bci + ((opcode == opc_jsr) ? 3 : 5)); + Thumb2_Flush(jinfo); + bci = Thumb2_Goto(jinfo, bci, offset, len); + len = 0; break; } @@ -6819,25 +6273,20 @@ break; } - case opc_athrow: - Thumb2_Exit(jinfo, H_ATHROW, bci, stackdepth); - break; - - case opc_goto: { - int offset = GET_JAVA_S2(jinfo->code_base + bci + 1); + case opc_goto: + case opc_goto_w: { + int offset = opcode == opc_goto ? + GET_JAVA_S2(jinfo->code_base + bci + 1) : + GET_JAVA_U4(jinfo->code_base + bci + 1); Thumb2_Flush(jinfo); bci = Thumb2_Goto(jinfo, bci, offset, len, stackdepth); len = 0; break; } - case opc_goto_w: { - int offset = GET_JAVA_U4(jinfo->code_base + bci + 1); - Thumb2_Flush(jinfo); - bci = Thumb2_Goto(jinfo, bci, offset, len, stackdepth); - len = 0; + case opc_athrow: + Thumb2_Exit(jinfo, H_ATHROW, bci, stackdepth); break; - } case opc_ifeq: case opc_ifne: @@ -6889,7 +6338,6 @@ case opc_freturn: case opc_areturn: Thumb2_Return(jinfo, opcode, bci, stackdepth); - if (!jinfo->compiled_return) jinfo->compiled_return = bci; break; case opc_return_register_finalizer: { @@ -6907,12 +6355,12 @@ loc_eq = forward_16(jinfo->codebuf); Thumb2_save_locals(jinfo, stackdepth); mov_reg(jinfo->codebuf, ARM_R1, r); - ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + load_istate(jinfo, ARM_R0, ISTATE_METHOD, stackdepth); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); add_imm(jinfo->codebuf, ARM_R0, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + store_istate(jinfo, ARM_R0, ISTATE_BCP, stackdepth); sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); - str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + store_istate(jinfo, ARM_R0, ISTATE_STACK, stackdepth); mov_reg(jinfo->codebuf, ARM_R0, Rthread); mov_imm(jinfo->codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc); @@ -7005,6 +6453,31 @@ break; } + case opc_monitorenter: + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[H_MONITORENTER]); + Thumb2_invoke_restore(jinfo, stackdepth); + break; + + case opc_monitorexit: { + Reg r; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R1, r); + mov_imm(jinfo->codebuf, ARM_R3, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth); + bl(jinfo->codebuf, handlers[H_MONITOREXIT]); + Thumb2_restore_locals(jinfo, stackdepth); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + break; + } + case opc_newarray: { Reg r; unsigned loc; @@ -7103,6 +6576,8 @@ Thumb2_Fill(jinfo, 1); r = POP(jstack); + Thumb2_Flush(jinfo); + table_loc = out_loc(jinfo->codebuf); for (i = 0, tablep = table; i < npairs; i++) { unsigned match; @@ -7169,6 +6644,7 @@ Thumb2_Fill(jinfo, 1); rs = POP(jstack); + Thumb2_Flush(jinfo); r = Thumb2_Tmp(jinfo, (1<codebuf, r, rs, low); cmp_imm(jinfo->codebuf, r, (high-low)+1); @@ -7245,7 +6721,6 @@ int nlocals = jinfo->method->max_locals(); r = ARM_IP; stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); load_local(jinfo, r, local, stackdepth); add_imm(jinfo->codebuf, r, r, constant); store_local(jinfo, r, local, stackdepth); @@ -7276,7 +6751,7 @@ break; } bci += len; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS if (len == 0) { if (start_idx == jinfo->codebuf->idx) start_bci[start_idx] = -1; } else @@ -7433,45 +6908,6 @@ return 0; } -static int DebugSwitch = 1; - -extern "C" void Debug_Ignore_Safepoints(void) -{ - printf("Ignore Safepoints\n"); -} - -extern "C" void Debug_Notice_Safepoints(void) -{ - printf("Notice Safepoints\n"); -} - -extern "C" void Debug_ExceptionReturn(interpreterState istate, intptr_t *stack) -{ - JavaThread *thread = istate->thread(); - - if (thread->has_pending_exception()) { - Handle ex(thread, thread->pending_exception()); - tty->print_cr("Exception %s", Klass::cast(ex->klass())->external_name()); - } -} - -extern "C" void Debug_Stack(intptr_t *stack) -{ - int i; - char msg[16]; - - tty->print(" Stack:"); - for (i = 0; i < 6; i++) { - tty->print(" ["); - sprintf(msg, "%d", i); - tty->print(msg); - tty->print("] = "); - sprintf(msg, "%08x", (int)stack[i]); - tty->print(msg); - } - tty->cr(); -} - extern "C" void Debug_MethodEntry(interpreterState istate, intptr_t *stack, methodOop callee) { #if 0 @@ -7490,6 +6926,7 @@ extern "C" void Debug_MethodExit(interpreterState istate, intptr_t *stack) { +#if 0 if (DebugSwitch) { methodOop method = istate->method(); JavaThread *thread = istate->thread(); @@ -7503,6 +6940,7 @@ tty->flush(); if (exc) tty->print_cr("Exception %s", exc->print_value_string()); } +#endif } extern "C" void Debug_MethodCall(interpreterState istate, intptr_t *stack, methodOop callee) @@ -7520,26 +6958,17 @@ } #endif } - -extern "C" int Debug_irem_Handler(int a, int b) -{ - printf("%d %% %d\n", a, b); - return a%b; -} - extern "C" void Thumb2_Install(methodOop mh, u32 entry); -#define IS_COMPILED(e, cb) ((e) >= (unsigned)(cb) && (e) < (unsigned)(cb) + (cb)->size) - extern "C" unsigned cmpxchg_ptr(unsigned new_value, volatile unsigned *ptr, unsigned cmp_value); static volatile unsigned compiling; static unsigned CompileCount = 0; -static unsigned MaxCompile = 130; +static unsigned MaxCompile = 10000; #define COMPILE_ONLY 0 #define COMPILE_COUNT 0 #define DISASS_AFTER 0 -//#define COMPILE_LIST 0 +//#define COMPILE_LIST #ifdef COMPILE_LIST static const char *compile_list[] = { @@ -7549,10 +6978,9 @@ static unsigned compiled_methods = 0; -#ifdef T2EE_PRINT_STATISTICS +#ifdef T2_PRINT_STATISTICS static unsigned bytecodes_compiled = 0; static unsigned arm_code_generated = 0; -static unsigned total_zombie_bytes = 0; static clock_t total_compile_time = 0; #endif @@ -7585,7 +7013,7 @@ Thumb2_Entrypoint thumb_entry; int compiled_accessor; - if (!(CPUInfo & ARCH_THUMBEE)) + if (!(CPUInfo & ARCH_THUMB2)) UseCompiler = false; if (!UseCompiler || method->is_not_compilable()) { @@ -7600,7 +7028,7 @@ compiled_offset = Thumb2_osr_from_bci(cmethod, branch_pc); if (compiled_offset == 0) return 0; thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; - thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; + thumb_entry.regusage = cmethod->regusage; return *(unsigned long long *)&thumb_entry; } @@ -7615,8 +7043,7 @@ // Othersize we have difficulty access the locals from the stack pointer // if (code_size > THUMB2_MAX_BYTECODE_SIZE || - (method->max_locals() + method->max_stack()) >= 1000 || - method->has_monitor_bytecodes()) { + (method->max_locals() + method->max_stack()) >= 1000) { method->set_not_compilable(); return 0; } @@ -7635,7 +7062,10 @@ if (strcmp(s, method->name_and_sig_as_C_string()) == 0) break; } - if (!s) return 0; + if (!s) { + method->set_not_compilable(); + return 0; + } } #endif @@ -7652,12 +7082,12 @@ if (cmpxchg_ptr(1, &compiling, 0)) return 0; -#ifdef T2EE_PRINT_STATISTICS +#ifdef T2_PRINT_STATISTICS clock_t compile_time = clock(); #endif -#ifdef T2EE_PRINT_COMPILATION - if (t2ee_print_compilation || PrintAssembly) { +#ifdef T2_PRINT_COMPILATION + if (PrintCompilation || PrintAssembly) { fprintf(stderr, "Compiling %d %c%c %s\n", compiled_methods, method->is_synchronized() ? 'S' : ' ', @@ -7668,7 +7098,7 @@ memset(bc_stackinfo, 0, code_size * sizeof(unsigned)); memset(locals_info, 0, method->max_locals() * sizeof(unsigned)); -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS memset(start_bci, 0xff, sizeof(start_bci)); memset(end_bci, 0xff, sizeof(end_bci)); #endif @@ -7684,13 +7114,13 @@ jinfo_str.bc_stackinfo = bc_stackinfo; jinfo_str.locals_info = locals_info; jinfo_str.compiled_return = 0; - jinfo_str.zombie_bytes = 0; + for (int i = 0; i < 12; i++) jinfo_str.compiled_word_return[i] = 0; jinfo_str.is_leaf = 1; + jinfo_str.use_istate = method->has_monitor_bytecodes(); Thumb2_local_info_from_sig(&jinfo_str, method, base); - Thumb2_pass1(&jinfo_str, 0); - Thumb2_pass2(&jinfo_str, 0, 0); + Thumb2_pass1(&jinfo_str, 0, 0); codebuf_str.codebuf = (unsigned short *)cb->hp; codebuf_str.idx = 0; @@ -7711,16 +7141,14 @@ jregs_str.pregs[1] = JAZ_V2; jregs_str.pregs[2] = JAZ_V3; jregs_str.pregs[3] = JAZ_V4; - -#ifndef USE_RLOCAL jregs_str.pregs[4] = JAZ_V5; -#endif + jregs_str.pregs[5] = JAZ_V6; jregs_str.npregs = PREGS; Thumb2_RegAlloc(&jinfo_str); - slow_entry = out_align(&codebuf_str, CODE_ALIGN); + slow_entry = out_align_offset(&codebuf_str, CODE_ALIGN, SLOW_ENTRY_OFFSET); cmethod = (Compiled_Method *)slow_entry; slow_entry |= TBIT; @@ -7736,10 +7164,10 @@ compiled_accessor = 0; } -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS if (DISASS_AFTER == 0 || compiled_methods >= DISASS_AFTER) if (PrintAssembly) - Thumb2_disass(&jinfo_str); + Thumb2_disass(&jinfo_str); #endif for (int i = 0; i < PREGS; i++) @@ -7747,15 +7175,14 @@ Thumb2_Clear_Cache(cb->hp, cb->hp + codebuf_str.idx * 2); -#ifdef T2EE_PRINT_STATISTICS +#ifdef T2_PRINT_STATISTICS compile_time = clock() - compile_time; total_compile_time += compile_time; - if (t2ee_print_statistics) { + if (t2_print_statistics) { unsigned codegen = codebuf_str.idx * 2; bytecodes_compiled += code_size; arm_code_generated += codegen; - total_zombie_bytes += jinfo_str.zombie_bytes; fprintf(stderr, "%d bytecodes => %d bytes code in %.2f sec, totals: %d => %d in %.2f sec\n", code_size, codegen, (double)compile_time/(double)CLOCKS_PER_SEC, bytecodes_compiled, arm_code_generated, (double)total_compile_time/(double)CLOCKS_PER_SEC); @@ -7783,7 +7210,8 @@ compiled_offset = Thumb2_osr_from_bci(cmethod, branch_pc); if (compiled_offset == 0) return 0; thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; - thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; + thumb_entry.regusage = cmethod->regusage; + #ifdef THUMB2_JVMTI { // we need to dispatch a compiled_method_load event @@ -7814,6 +7242,7 @@ address_bci_map, NULL); } #endif // THUMB2_JVMTI + return *(unsigned long long *)&thumb_entry; } @@ -7823,6 +7252,7 @@ extern "C" void Thumb2_Handle_Exception_NoRegs(void); extern "C" void Thumb2_Exit_To_Interpreter(void); extern "C" void Thumb2_Stack_Overflow(void); +extern "C" void Thumb2_monitorenter(void); extern "C" void __divsi3(void); extern "C" void __aeabi_ldivmod(void); @@ -7835,6 +7265,7 @@ extern "C" void Helper_new(void); extern "C" void Helper_instanceof(void); extern "C" void Helper_checkcast(void); +extern "C" void Helper_monitorexit(void); extern "C" void Helper_aastore(void); extern "C" void Helper_aputfield(void); extern "C" void Helper_synchronized_enter(void); @@ -7879,6 +7310,11 @@ extern char Thumb2_putstatic_a_stub[]; extern char Thumb2_putstatic_dw_stub[]; +extern char Thumb2_invokestaticresolved_stub[]; +extern char Thumb2_invokespecialresolved_stub[]; +extern char Thumb2_invokevirtualresolved_stub[]; +extern char Thumb2_invokevfinalresolved_stub[]; + #define STUBS_SIZE (Thumb2_stubs_end-Thumb2_stubs) #define IDIV_STUB (Thumb2_idiv_stub-Thumb2_stubs) #define IREM_STUB (Thumb2_irem_stub-Thumb2_stubs) @@ -7907,13 +7343,18 @@ #define PUTSTATIC_A_STUB (Thumb2_putstatic_a_stub-Thumb2_stubs) #define PUTSTATIC_DW_STUB (Thumb2_putstatic_dw_stub-Thumb2_stubs) +#define INVOKESTATIC_RESOLVED_STUB (Thumb2_invokestaticresolved_stub-Thumb2_stubs) +#define INVOKESPECIAL_RESOLVED_STUB (Thumb2_invokespecialresolved_stub-Thumb2_stubs) +#define INVOKEVIRTUAL_RESOLVED_STUB (Thumb2_invokevirtualresolved_stub-Thumb2_stubs) +#define INVOKEVFINAL_RESOLVED_STUB (Thumb2_invokevfinalresolved_stub-Thumb2_stubs) + extern "C" void Thumb2_NullPtr_Handler(void); extern "C" int Thumb2_Check_Null(unsigned *regs, unsigned pc) { Thumb2_CodeBuf *cb = thumb2_codebuf; - if (!(CPUInfo & ARCH_THUMBEE)) return 0; + if (!(CPUInfo & ARCH_THUMB2)) return 0; if (IS_COMPILED(pc, cb)) { regs[ARM_LR] = pc; regs[ARM_PC] = (unsigned)Thumb2_NullPtr_Handler; @@ -7931,22 +7372,22 @@ u32 loc_irem, loc_idiv, loc_ldiv; int rc; - if (!(CPUInfo & ARCH_THUMBEE)) { + if (!(CPUInfo & ARCH_THUMB2)) { UseCompiler = false; return; } -#ifdef T2EE_PRINT_COMPILATION - t2ee_print_compilation = getenv("T2EE_PRINT_COMPILATION"); +#ifdef T2_PRINT_COMPILATION + PrintCompilation |= getenv("T2_PRINT_COMPILATION") != NULL; #endif -#ifdef T2EE_PRINT_STATISTICS - t2ee_print_statistics = getenv("T2EE_PRINT_STATISTICS"); +#ifdef T2_PRINT_STATISTICS + t2_print_statistics = getenv("T2_PRINT_STATISTICS"); #endif -#ifdef T2EE_PRINT_DISASS - PrintAssembly |= getenv("T2EE_PRINT_DISASS") != NULL; +#ifdef T2_PRINT_DISASS + PrintAssembly |= getenv("T2_PRINT_DISASS") != NULL; #endif -#ifdef T2EE_PRINT_REGUSAGE - t2ee_print_regusage = getenv("T2EE_PRINT_REGUSAGE"); +#ifdef T2_PRINT_REGUSAGE + t2_print_regusage = getenv("T2_PRINT_REGUSAGE"); #endif cb = (Thumb2_CodeBuf *)mmap(0, THUMB2_CODEBUF_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); @@ -7968,7 +7409,6 @@ return; } -#if 1 #ifdef THUMB2_JVMTI // cache the start of the generated stub region for notification later stub_gen_code_start = cb->hp; @@ -7981,7 +7421,7 @@ handlers[H_IDIV] = (unsigned)(cb->hp + IDIV_STUB); handlers[H_IREM] = (unsigned)(cb->hp + IREM_STUB); - handlers[H_INVOKEINTERFACE] = (unsigned)(cb->hp + INVOKEINTERFACE_STUB); +handlers[H_INVOKEINTERFACE] = (unsigned)(cb->hp + INVOKEINTERFACE_STUB); handlers[H_INVOKEVIRTUAL] = (unsigned)(cb->hp + INVOKEVIRTUAL_STUB); handlers[H_INVOKESTATIC] = (unsigned)(cb->hp + INVOKESTATIC_STUB); handlers[H_INVOKESPECIAL] = (unsigned)(cb->hp + INVOKESPECIAL_STUB); @@ -7992,6 +7432,11 @@ handlers[H_GETFIELD_SB] = (unsigned)(cb->hp + GETFIELD_SB_STUB); handlers[H_GETFIELD_DW] = (unsigned)(cb->hp + GETFIELD_DW_STUB); + handlers[H_INVOKESTATIC_RESOLVED] = (unsigned)(cb->hp + INVOKESTATIC_RESOLVED_STUB); + handlers[H_INVOKEVIRTUAL_RESOLVED] = (unsigned)(cb->hp + INVOKESPECIAL_RESOLVED_STUB); + handlers[H_INVOKEVIRTUAL_RESOLVED] = (unsigned)(cb->hp + INVOKEVIRTUAL_RESOLVED_STUB); + handlers[H_INVOKEVFINAL] = (unsigned)(cb->hp + INVOKEVFINAL_RESOLVED_STUB); + handlers[H_PUTFIELD_WORD] = (unsigned)(cb->hp + PUTFIELD_WORD_STUB); handlers[H_PUTFIELD_H] = (unsigned)(cb->hp + PUTFIELD_H_STUB); handlers[H_PUTFIELD_B] = (unsigned)(cb->hp + PUTFIELD_B_STUB); @@ -8011,7 +7456,19 @@ handlers[H_PUTSTATIC_DW] = (unsigned)(cb->hp + PUTSTATIC_DW_STUB); codebuf.idx += (Thumb2_stubs_end-Thumb2_stubs) >> 1; -#endif + + // Disassemble the codebuf we just created. For debugging. This + // first part is all ARM code; the part that we're about to create + // is Thumb code. + if (PrintAssembly) { + Hsdis hsdis; + hsdis.decode_instructions(cb->hp, cb->hp + codebuf.idx * 2, + print_address, NULL, NULL, stderr, + ""); + fputc('\n', stderr); + } + + char *begin_thumb_code = cb->hp + codebuf.idx * 2; handlers[H_LDIV] = handlers[H_LREM] = out_pos(&codebuf); dop_reg(&codebuf, DP_ORR, ARM_IP, ARM_R2, ARM_R3, 0, 0); @@ -8121,7 +7578,8 @@ // r3 = bci // result -> R0, == 0 => exception handlers[H_NEW] = out_pos(&codebuf); - mov_reg(&codebuf, ARM_R0, Ristate); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); ldr_imm(&codebuf, ARM_R2, ARM_R0, ISTATE_METHOD, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_new); ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); @@ -8137,14 +7595,15 @@ // r3 = bci // result -> thread->vm_result handlers[H_NEWARRAY] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); - mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_R3, ARM_R0, ARM_R3); mov_reg(&codebuf, ARM_R0, Rthread); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_BCP, 1, 0); -sub_imm(&codebuf, ARM_R3, Rstack, 4); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei); mov_reg(&codebuf, ARM_PC, ARM_IP); // ANEWARRAY Stub @@ -8153,14 +7612,18 @@ // r3 = tos // result -> thread->vm_result handlers[H_ANEWARRAY] = out_pos(&codebuf); -sub_imm(&codebuf, ARM_R1, Rstack, 4); - str_imm(&codebuf, ARM_R1, Ristate, ISTATE_STACK, 1, 0); - ldr_imm(&codebuf, ARM_R1, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(&codebuf, ARM_IP, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R1, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R1, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R1); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + + sub_imm(&codebuf, ARM_R1, Rstack, 4); + str_imm(&codebuf, ARM_R1, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + + ldr_imm(&codebuf, ARM_R1, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_R1, ARM_R1, METHOD_CONSTANTS, 1, 0); - add_reg(&codebuf, ARM_R0, ARM_IP, ARM_R0); mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); mov_reg(&codebuf, ARM_R0, Rthread); mov_reg(&codebuf, ARM_PC, ARM_IP); @@ -8168,14 +7631,15 @@ // r0 = bci // r1 = dimensions (*4) handlers[H_MULTIANEWARRAY] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); sub_imm(&codebuf, ARM_R3, Rstack, 4); ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); add_reg(&codebuf, Rstack, Rstack, ARM_R1); mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); mov_reg(&codebuf, ARM_R0, Rthread); sub_imm(&codebuf, ARM_R1, Rstack, 4); mov_reg(&codebuf, ARM_PC, ARM_R3); @@ -8183,45 +7647,91 @@ // LDC Stub // r0 = bci handlers[H_LDC] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); sub_imm(&codebuf, ARM_R3, Rstack, 4); ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime3ldcEP10JavaThreadb); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); mov_reg(&codebuf, ARM_R0, Rthread); -// mov_imm(&codebuf, ARM_R1, 0); + mov_imm(&codebuf, ARM_R1, 0); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// LDC_W Stub +// r0 = bci + handlers[H_LDC_W] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); + mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime3ldcEP10JavaThreadb); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + mov_reg(&codebuf, ARM_R0, Rthread); + mov_imm(&codebuf, ARM_R1, 1); mov_reg(&codebuf, ARM_PC, ARM_R3); // INSTANCEOF Stub // r1 = index +// r2 = tos // r3 = bci // result -> R0, == -1 => exception handlers[H_INSTANCEOF] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + ldr_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_IP, ARM_R3); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_instanceof); - ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); - add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R3); -sub_imm(&codebuf, ARM_R3, Rstack, 4); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); - mov_reg(&codebuf, ARM_R0, Ristate); mov_reg(&codebuf, ARM_PC, ARM_IP); // CHECKCAST Stub // r1 = index +// r2 = tos // r3 = bci // result -> R0, != 0 => exception handlers[H_CHECKCAST] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + ldr_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_IP, ARM_R3); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_checkcast); - ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); - add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R3); -sub_imm(&codebuf, ARM_R3, Rstack, 4); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); - mov_reg(&codebuf, ARM_R0, Ristate); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// MONITORENTER +// r0 = bci + handlers[H_MONITORENTER] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R2, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_monitorenter); + ldr_imm(&codebuf, ARM_R1, ARM_R2, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, Rint_jpc, ARM_IP, ARM_R0); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// MONITOREXIT Stub +// r1 = tos +// r3 = bci +// result -> R0, != 0 => exception + handlers[H_MONITOREXIT] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + ldr_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_IP, ARM_R3); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_monitorexit); mov_reg(&codebuf, ARM_PC, ARM_IP); // AASTORE Stub @@ -8230,14 +7740,16 @@ // r2 = index // r3 = arrayref handlers[H_AASTORE] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); -sub_imm(&codebuf, ARM_R0, Rstack, 4); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + str_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_IP, Rstack, 4); + str_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_STACK, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_aastore); - mov_reg(&codebuf, ARM_R0, Ristate); mov_reg(&codebuf, ARM_PC, ARM_IP); // APUTFIELD Stub @@ -8248,16 +7760,20 @@ // SYNCHRONIZED_ENTER Stub // r0 = bci -// r1 = monitor +// Rstack = monitor handlers[H_SYNCHRONIZED_ENTER] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); - add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); -sub_imm(&codebuf, ARM_R0, Rstack, 4); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + ldr_imm(&codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_R1, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R2, ARM_R2, ARM_R0); + str_imm(&codebuf, ARM_R2, ARM_R1, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + + sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, ARM_R1, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_synchronized_enter); mov_reg(&codebuf, ARM_R0, Rthread); + mov_reg(&codebuf, ARM_R1, Rstack); mov_reg(&codebuf, ARM_PC, ARM_IP); // @@ -8265,12 +7781,14 @@ // r0 = bci // r1 = monitor handlers[H_SYNCHRONIZED_EXIT] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R2, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + + ldr_imm(&codebuf, ARM_IP, ARM_R2, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); -sub_imm(&codebuf, ARM_R0, Rstack, 4); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, ARM_R2, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + str_imm(&codebuf, ARM_IP, ARM_R2, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_synchronized_exit); mov_reg(&codebuf, ARM_R0, Rthread); mov_reg(&codebuf, ARM_PC, ARM_IP); @@ -8309,10 +7827,11 @@ // EXIT_TO_INTERPRETER // r0 = bci handlers[H_EXIT_TO_INTERPRETER] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R1, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R2, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Exit_To_Interpreter); + ldr_imm(&codebuf, ARM_R1, ARM_R2, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_IP, ARM_R1, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, Rint_jpc, ARM_IP, ARM_R0); - mov_imm(&codebuf, ARM_R3, (u32)Thumb2_Exit_To_Interpreter); mov_reg(&codebuf, ARM_PC, ARM_R3); // H_SAFEPOINT @@ -8321,10 +7840,11 @@ // Set up BytecodeInterpreter->_bcp for the GC // bci+CONSTMETHOD_CODEOFFSET is passed in ARM_R1 - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + // istate is passed in ARM_R2 + ldr_imm(&codebuf, ARM_R0, ARM_R2, ISTATE_METHOD, 1, 0); ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R1); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + str_imm(&codebuf, ARM_R0, ARM_R2, ISTATE_BCP, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_SafePoint); mov_reg(&codebuf, ARM_R0, Rthread); @@ -8343,10 +7863,10 @@ // Disassemble the codebuf we just created. For debugging if (PrintAssembly) { Hsdis hsdis; - hsdis.decode_instructions(cb->hp, cb->hp + codebuf.idx * 2, - print_address, NULL, NULL, stdout, + hsdis.decode_instructions(begin_thumb_code, cb->hp + codebuf.idx * 2, + print_address, NULL, NULL, stderr, "force-thumb"); - putchar('\n'); + fputc('\n', stderr); } Thumb2_Clear_Cache(cb->hp, cb->hp + codebuf.idx * 2); @@ -8360,6 +7880,6 @@ #endif // THUMB2_JVMTI } -#endif // THUMB2EE +#endif // T2JIT #endif // __arm__ From ddadacha at redhat.com Thu May 17 11:13:16 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 17 May 2012 14:13:16 -0400 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader In-Reply-To: <20120517155418.GT21272@redhat.com> References: <4FB42921.6040109@redhat.com> <20120517153826.GR21272@redhat.com> <20120517155418.GT21272@redhat.com> Message-ID: <4FB53FBC.6080709@redhat.com> On 17/05/12 11:54 AM, Deepak Bhole wrote: > * Deepak Bhole [2012-05-17 11:38]: >> * Danesh Dadachanji [2012-05-16 18:33]: >>> Hi, >>> >>> The attached patches make JNLPClassLoader use a global JCV to ensure >>> we can actually check the app is signed entirely by at least one >>> common signer. Currently, the classloader does not maintain >>> verification of jars loaded upon main initialization vs jars loaded >>> at runtime. Therefore, we are not actually able to enforce an >>> application to be signed entirely by one signer. >>> >>> The application may initially be signed entirely (i.e. all >>> resources/archives specified have a common signer) but then as >>> classes are loaded at runtime (e.g. via manifest classpath), these >>> are not verified along with the original jars. A new JarCertVerifier >>> is used to verify each set. >>> >>> I used an instance var per JNLPClassLoader to keep track of all the >>> jars verified thus far. Each JNLPClassLoader keeps track of its own >>> app's jars so when JNLP extensions are specified, a new >>> JNLPClassLoader is created. This ensures there can be separate >>> signers between different JNLPs. >>> >>> The current method to determine if a jar is signed completely was to >>> check against JarCertVerifier#anyJarSigned. This method is somewhat >>> flawed. If any single entry is signed then this method returns true. >>> However, if one entry of a jar is signed and another unsigned, then >>> the jar is considered unsigned, as is the app as a whole. Therefore, >>> I have included JarCertVerifier#isFullySigned in the conditional as >>> well to ensure the app is in fact fully signed. >>> >>> Another change is the removal of permission checking of nested jars. >>> If the entry of the nested jar is signed, then we should assume that >>> the person signing the jar trusts it to do whatever it must. The >>> nested jar is given the same security context as its parent jar. >>> >>> I've extensively tested this against a combination of >>> singed/unsigned entries in >>> resource/archive-specified/nested/manifest-classpath/extension jars >>> using JNLPs, the applet tag, javaws and jnlp_href, as well as many >>> duplicate jars. I have also run through all the regression tests for >>> HEAD, 1.2 and 1.1, everything ran fine. >>> >>> I propose the following patches to HEAD, 1.2 and 1.1. >> >> I see nothing immediately wrong. However this patch will now allow > > s/now/not > I thought so. =) >> applets to have different signers -- I take it that is expected and that >> this patch only removes individual verifiers and collapses them to 1 per >> loader? Yes, this is intentional, sorry for not mentioning it in the original email. We somewhat enforce this already. In HEAD, all jars passed into the HTML tag are verified for 1 signer. The only catch is when jars found on the manifest classpath are accessed at runtime, it verifies them with a new JCV var. I do not agree with this, if we are enforcing everything be signed by 1 signer (including applets) then we should be doing so. The patch takes that into account when using a global JCV. FWIW, the reason to enforce this for applets (even though proprietary does not) is because JCV is not capable of handling multiple certs. There is no way of keeping track of the ones that have gone through and the ones all other jars have. The major changes I'm making to JCV are going to take that into account so for now, I think this is a good temporary solution. Cheers, Danesh >> >>> >>> ChangeLog: (s/JarCertVerifier/JarSigner/g for release branches) >>> +2012-05-16 Danesh Dadachanji >>> + >>> + Use a global JarCertVerifier in the classloader to keep track of every >>> + jar that has been verified. >>> + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> + (addNewJar), (initializeResources), (verifySignedJNLP): >>> + Replaced use of local JarCertVerifier variable with the instance variable. >>> + Added calls to isFullySigned wherever signer verification is done. >>> + (activateJars): No longer verifies nested jars. These receive the same >>> + security permissions as their parent jar, regardless of the nested >>> + jar's signing. >>> + (verifyJars): Removed. >>> + * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: >>> + (add): New public method that resets some instance vars and >>> + calls verifyJars. >>> + (verifyJars): Modifier changed to private, above method should be used. >>> + (isFullySignedByASingleCert): renamed to isFullySigned. >>> + >>> >>> A note for 1.1, it does not have the changeset that brought in >>> verification of a signed JNLP as a jar entry so those 2 hunks are >>> removed. Also, 1.1 and 1.2 are still using JarSigner instead of >>> JarCertVerifier so I have accounted for that. Apart from these, the >>> patches are identical in logic. All three patches attached. >>> >>> Any and all comments much appreciated! Please especially ask of a testcase if you have one in mind. >>> >>> Cheers, >>> Danesh >> >>> diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> @@ -151,7 +151,7 @@ public class JNLPClassLoader extends URL >>> private ArrayList unverifiedJars = null; >>> >>> /** the jar cert verifier tool to verify our jars */ >>> - private JarCertVerifier jcv = null; >>> + private final JarCertVerifier jcv = new JarCertVerifier(); >>> >>> private boolean signing = false; >>> >>> @@ -469,11 +469,10 @@ public class JNLPClassLoader extends URL >>> >>> if (JNLPRuntime.isVerifying()) { >>> >>> - JarCertVerifier jcv; >>> waitForJars(initialJars); //download the jars first. >>> >>> try { >>> - jcv = verifyJars(initialJars); >>> + jcv.add(initialJars, tracker); >>> } catch (Exception e) { >>> //we caught an Exception from the JarCertVerifier class. >>> //Note: one of these exceptions could be from not being able >>> @@ -484,7 +483,7 @@ public class JNLPClassLoader extends URL >>> } >>> >>> //Case when at least one jar has some signing >>> - if (jcv.anyJarsSigned()&& jcv.isFullySignedByASingleCert()) { >>> + if (jcv.anyJarsSigned()&& jcv.isFullySigned()) { >>> signing = true; >>> >>> if (!jcv.allJarsSigned()&& >>> @@ -700,7 +699,6 @@ public class JNLPClassLoader extends URL >>> private void verifySignedJNLP(JARDesc jarDesc, JarFile jarFile) >>> throws LaunchException { >>> >>> - JarCertVerifier signer = new JarCertVerifier(); >>> List desc = new ArrayList(); >>> desc.add(jarDesc); >>> >>> @@ -711,9 +709,7 @@ public class JNLPClassLoader extends URL >>> InputStreamReader jnlpReader = null; >>> >>> try { >>> - signer.verifyJars(desc, tracker); >>> - >>> - if (signer.allJarsSigned()) { // If the jar is signed >>> + if (jcv.isFullySigned()) { // If the jar is signed >>> >>> Enumeration entries = jarFile.entries(); >>> JarEntry je; >>> @@ -1031,15 +1027,25 @@ public class JNLPClassLoader extends URL >>> continue; >>> } >>> >>> - JarCertVerifier signer = new JarCertVerifier(); >>> - List jars = new ArrayList(); >>> - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); >>> - jars.add(jarDesc); >>> tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); >>> - signer.verifyJars(jars, tracker); >>> >>> - if (signer.anyJarsSigned()&& !signer.getAlreadyTrustPublisher()) { >>> - checkTrustWithUser(signer); >>> + URL codebase = file.getCodeBase(); >>> + if (codebase == null) { >>> + //FIXME: codebase should be the codebase of the Main Jar not >>> + //the location. Although, it still works in the current state. >>> + codebase = file.getResources().getMainJAR().getLocation(); >>> + } >>> + >>> + SecurityDesc jarSecurity = null; >>> + if (jcv.isFullySigned()) { >>> + // Already trust application, nested jar should be given >>> + jarSecurity = new SecurityDesc(file, >>> + SecurityDesc.ALL_PERMISSIONS, >>> + codebase.getHost()); >>> + } else { >>> + jarSecurity = new SecurityDesc(file, >>> + SecurityDesc.SANDBOX_PERMISSIONS, >>> + codebase.getHost()); >>> } >>> >>> try { >>> @@ -1049,25 +1055,6 @@ public class JNLPClassLoader extends URL >>> CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); >>> addURL(fakeRemote); >>> >>> - SecurityDesc jarSecurity = file.getSecurity(); >>> - >>> - if (file instanceof PluginBridge) { >>> - >>> - URL codebase = null; >>> - >>> - if (file.getCodeBase() != null) { >>> - codebase = file.getCodeBase(); >>> - } else { >>> - //Fixme: codebase should be the codebase of the Main Jar not >>> - //the location. Although, it still works in the current state. >>> - codebase = file.getResources().getMainJAR().getLocation(); >>> - } >>> - >>> - jarSecurity = new SecurityDesc(file, >>> - SecurityDesc.ALL_PERMISSIONS, >>> - codebase.getHost()); >>> - } >>> - >>> jarLocationSecurityMap.put(fakeRemote, jarSecurity); >>> >>> } catch (MalformedURLException mfue) { >>> @@ -1276,18 +1263,6 @@ public class JNLPClassLoader extends URL >>> } >>> >>> /** >>> - * Verifies code signing of jars to be used. >>> - * >>> - * @param jars the jars to be verified. >>> - */ >>> - private JarCertVerifier verifyJars(List jars) throws Exception { >>> - >>> - jcv = new JarCertVerifier(); >>> - jcv.verifyJars(jars, tracker); >>> - return jcv; >>> - } >>> - >>> - /** >>> * Find the loaded class in this loader or any of its extension loaders. >>> */ >>> protected Class findLoadedClassAll(String name) { >>> @@ -1442,7 +1417,6 @@ public class JNLPClassLoader extends URL >>> >>> // Verify if needed >>> >>> - final JarCertVerifier signer = new JarCertVerifier(); >>> final List jars = new ArrayList(); >>> jars.add(desc); >>> >>> @@ -1454,14 +1428,14 @@ public class JNLPClassLoader extends URL >>> >>> AccessController.doPrivileged(new PrivilegedExceptionAction() { >>> public Void run() throws Exception { >>> - signer.verifyJars(jars, tracker); >>> + jcv.add(jars, tracker); >>> >>> - if (signer.anyJarsSigned()&& !signer.getAlreadyTrustPublisher()) { >>> - checkTrustWithUser(signer); >>> + if (jcv.anyJarsSigned()&& jcv.isFullySigned()&& !jcv.getAlreadyTrustPublisher()) { >>> + checkTrustWithUser(jcv); >>> } >>> >>> final SecurityDesc security; >>> - if (signer.anyJarsSigned()) { >>> + if (jcv.anyJarsSigned()&& jcv.isFullySigned()) { >>> security = new SecurityDesc(file, >>> SecurityDesc.ALL_PERMISSIONS, >>> file.getCodeBase().getHost()); >>> diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java >>> --- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java >>> +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java >>> @@ -90,10 +90,10 @@ public class JarCertVerifier implements >>> private boolean anyJarsSigned = false; >>> >>> /** all of the jar files that were verified */ >>> - private ArrayList verifiedJars = null; >>> + private ArrayList verifiedJars = new ArrayList(); >>> >>> /** all of the jar files that were not verified */ >>> - private ArrayList unverifiedJars = null; >>> + private ArrayList unverifiedJars = new ArrayList(); >>> >>> /** the certificates used for jar verification */ >>> private HashMap certs = new HashMap(); >>> @@ -165,7 +165,7 @@ public class JarCertVerifier implements >>> * >>> * @return Whether or not all entries have a common signer >>> */ >>> - public boolean isFullySignedByASingleCert() { >>> + public boolean isFullySigned() { >>> >>> for (CertPath cPath : certs.keySet()) { >>> // If this cert has signed everything, return true >>> @@ -177,11 +177,27 @@ public class JarCertVerifier implements >>> return false; >>> } >>> >>> - public void verifyJars(List jars, ResourceTracker tracker) >>> + /** >>> + * Update the verifier to consider new jars when verifying. >>> + * @param jars List of new jars to be verified. >>> + * @param tracker Resource tracker used to obtain the the jars from cache >>> + * @throws Exception Caused by issues with obtaining the jars' entries or >>> + * interacting with the tracker. >>> + */ >>> + public void add(List jars, ResourceTracker tracker) >>> throws Exception { >>> + // Reset the vars that need to be updated again during verification. >>> + certPath = null; >>> + alreadyTrustPublisher = false; >>> + rootInCacerts = false; >>> + details.remove(R("SUntrustedCertificate")); >>> + details.remove(R("STrustedCertificate")); >>> >>> - verifiedJars = new ArrayList(); >>> - unverifiedJars = new ArrayList(); >>> + verifyJars(jars, tracker); >>> + } >>> + >>> + private void verifyJars(List jars, ResourceTracker tracker) >>> + throws Exception { >>> >>> for (int i = 0; i< jars.size(); i++) { >>> >> >>> diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> @@ -137,7 +137,7 @@ public class JNLPClassLoader extends URL >>> private ArrayList unverifiedJars = null; >>> >>> /** the jarsigner tool to verify our jars */ >>> - private JarSigner js = null; >>> + private final JarSigner js = new JarSigner(); >>> >>> private boolean signing = false; >>> >>> @@ -437,11 +437,10 @@ public class JNLPClassLoader extends URL >>> >>> if (JNLPRuntime.isVerifying()) { >>> >>> - JarSigner js; >>> waitForJars(initialJars); //download the jars first. >>> >>> try { >>> - js = verifyJars(initialJars); >>> + js.add(initialJars, tracker); >>> } catch (Exception e) { >>> //we caught an Exception from the JarSigner class. >>> //Note: one of these exceptions could be from not being able >>> @@ -452,7 +451,7 @@ public class JNLPClassLoader extends URL >>> } >>> >>> //Case when at least one jar has some signing >>> - if (js.anyJarsSigned()&& js.isFullySignedByASingleCert()) { >>> + if (js.anyJarsSigned()&& js.isFullySigned()) { >>> signing = true; >>> >>> if (!js.allJarsSigned()&& >>> @@ -721,15 +720,25 @@ public class JNLPClassLoader extends URL >>> continue; >>> } >>> >>> - JarSigner signer = new JarSigner(); >>> - List jars = new ArrayList(); >>> - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); >>> - jars.add(jarDesc); >>> tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); >>> - signer.verifyJars(jars, tracker); >>> >>> - if (signer.anyJarsSigned()&& !signer.getAlreadyTrustPublisher()) { >>> - checkTrustWithUser(signer); >>> + URL codebase = file.getCodeBase(); >>> + if (codebase == null) { >>> + //FIXME: codebase should be the codebase of the Main Jar not >>> + //the location. Although, it still works in the current state. >>> + codebase = file.getResources().getMainJAR().getLocation(); >>> + } >>> + >>> + SecurityDesc jarSecurity = null; >>> + if (js.isFullySigned()) { >>> + // Already trust application, nested jar should be given >>> + jarSecurity = new SecurityDesc(file, >>> + SecurityDesc.ALL_PERMISSIONS, >>> + codebase.getHost()); >>> + } else { >>> + jarSecurity = new SecurityDesc(file, >>> + SecurityDesc.SANDBOX_PERMISSIONS, >>> + codebase.getHost()); >>> } >>> >>> try { >>> @@ -739,25 +748,6 @@ public class JNLPClassLoader extends URL >>> CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); >>> addURL(fakeRemote); >>> >>> - SecurityDesc jarSecurity = file.getSecurity(); >>> - >>> - if (file instanceof PluginBridge) { >>> - >>> - URL codebase = null; >>> - >>> - if (file.getCodeBase() != null) { >>> - codebase = file.getCodeBase(); >>> - } else { >>> - //Fixme: codebase should be the codebase of the Main Jar not >>> - //the location. Although, it still works in the current state. >>> - codebase = file.getResources().getMainJAR().getLocation(); >>> - } >>> - >>> - jarSecurity = new SecurityDesc(file, >>> - SecurityDesc.ALL_PERMISSIONS, >>> - codebase.getHost()); >>> - } >>> - >>> jarLocationSecurityMap.put(fakeRemote, jarSecurity); >>> >>> } catch (MalformedURLException mfue) { >>> @@ -966,18 +956,6 @@ public class JNLPClassLoader extends URL >>> } >>> >>> /** >>> - * Verifies code signing of jars to be used. >>> - * >>> - * @param jars the jars to be verified. >>> - */ >>> - private JarSigner verifyJars(List jars) throws Exception { >>> - >>> - js = new JarSigner(); >>> - js.verifyJars(jars, tracker); >>> - return js; >>> - } >>> - >>> - /** >>> * Find the loaded class in this loader or any of its extension loaders. >>> */ >>> protected Class findLoadedClassAll(String name) { >>> @@ -1132,7 +1110,6 @@ public class JNLPClassLoader extends URL >>> >>> // Verify if needed >>> >>> - final JarSigner signer = new JarSigner(); >>> final List jars = new ArrayList(); >>> jars.add(desc); >>> >>> @@ -1144,14 +1121,14 @@ public class JNLPClassLoader extends URL >>> >>> AccessController.doPrivileged(new PrivilegedExceptionAction() { >>> public Void run() throws Exception { >>> - signer.verifyJars(jars, tracker); >>> + js.add(jars, tracker); >>> >>> - if (signer.anyJarsSigned()&& !signer.getAlreadyTrustPublisher()) { >>> - checkTrustWithUser(signer); >>> + if (js.anyJarsSigned()&& js.isFullySigned()&& !js.getAlreadyTrustPublisher()) { >>> + checkTrustWithUser(js); >>> } >>> >>> final SecurityDesc security; >>> - if (signer.anyJarsSigned()) { >>> + if (js.anyJarsSigned()&& js.isFullySigned()) { >>> security = new SecurityDesc(file, >>> SecurityDesc.ALL_PERMISSIONS, >>> file.getCodeBase().getHost()); >>> diff --git a/netx/net/sourceforge/jnlp/tools/JarSigner.java b/netx/net/sourceforge/jnlp/tools/JarSigner.java >>> --- a/netx/net/sourceforge/jnlp/tools/JarSigner.java >>> +++ b/netx/net/sourceforge/jnlp/tools/JarSigner.java >>> @@ -90,10 +90,10 @@ public class JarSigner implements CertVe >>> private boolean anyJarsSigned = false; >>> >>> /** all of the jar files that were verified */ >>> - private ArrayList verifiedJars = null; >>> + private ArrayList verifiedJars = new ArrayList(); >>> >>> /** all of the jar files that were not verified */ >>> - private ArrayList unverifiedJars = null; >>> + private ArrayList unverifiedJars = new ArrayList(); >>> >>> /** the certificates used for jar verification */ >>> private HashMap certs = new HashMap(); >>> @@ -165,7 +165,7 @@ public class JarSigner implements CertVe >>> * >>> * @return Whether or not all entries have a common signer >>> */ >>> - public boolean isFullySignedByASingleCert() { >>> + public boolean isFullySigned() { >>> >>> for (CertPath cPath : certs.keySet()) { >>> // If this cert has signed everything, return true >>> @@ -177,11 +177,27 @@ public class JarSigner implements CertVe >>> return false; >>> } >>> >>> - public void verifyJars(List jars, ResourceTracker tracker) >>> + /** >>> + * Update the verifier to consider new jars when verifying. >>> + * @param jars List of new jars to be verified. >>> + * @param tracker Resource tracker used to obtain the the jars from cache >>> + * @throws Exception Caused by issues with obtaining the jars' entries or >>> + * interacting with the tracker. >>> + */ >>> + public void add(List jars, ResourceTracker tracker) >>> throws Exception { >>> + // Reset the vars that need to be updated again during verification. >>> + certPath = null; >>> + alreadyTrustPublisher = false; >>> + rootInCacerts = false; >>> + details.remove(R("SUntrustedCertificate")); >>> + details.remove(R("STrustedCertificate")); >>> >>> - verifiedJars = new ArrayList(); >>> - unverifiedJars = new ArrayList(); >>> + verifyJars(jars, tracker); >>> + } >>> + >>> + private void verifyJars(List jars, ResourceTracker tracker) >>> + throws Exception { >>> >>> for (int i = 0; i< jars.size(); i++) { >>> >> >>> diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> @@ -137,7 +137,7 @@ public class JNLPClassLoader extends URL >>> private ArrayList unverifiedJars = null; >>> >>> /** the jarsigner tool to verify our jars */ >>> - private JarSigner js = null; >>> + private final JarSigner js = new JarSigner(); >>> >>> private boolean signing = false; >>> >>> @@ -437,11 +437,10 @@ public class JNLPClassLoader extends URL >>> >>> if (JNLPRuntime.isVerifying()) { >>> >>> - JarSigner js; >>> waitForJars(initialJars); //download the jars first. >>> >>> try { >>> - js = verifyJars(initialJars); >>> + js.add(initialJars, tracker); >>> } catch (Exception e) { >>> //we caught an Exception from the JarSigner class. >>> //Note: one of these exceptions could be from not being able >>> @@ -452,7 +451,7 @@ public class JNLPClassLoader extends URL >>> } >>> >>> //Case when at least one jar has some signing >>> - if (js.anyJarsSigned()&& js.isFullySignedByASingleCert()) { >>> + if (js.anyJarsSigned()&& js.isFullySigned()) { >>> signing = true; >>> >>> if (!js.allJarsSigned()&& >>> @@ -721,15 +720,25 @@ public class JNLPClassLoader extends URL >>> continue; >>> } >>> >>> - JarSigner signer = new JarSigner(); >>> - List jars = new ArrayList(); >>> - JARDesc jarDesc = new JARDesc(new File(extractedJarLocation).toURL(), null, null, false, false, false, false); >>> - jars.add(jarDesc); >>> tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); >>> - signer.verifyJars(jars, tracker); >>> >>> - if (signer.anyJarsSigned()&& !signer.getAlreadyTrustPublisher()) { >>> - checkTrustWithUser(signer); >>> + URL codebase = file.getCodeBase(); >>> + if (codebase == null) { >>> + //FIXME: codebase should be the codebase of the Main Jar not >>> + //the location. Although, it still works in the current state. >>> + codebase = file.getResources().getMainJAR().getLocation(); >>> + } >>> + >>> + SecurityDesc jarSecurity = null; >>> + if (js.isFullySigned()) { >>> + // Already trust application, nested jar should be given >>> + jarSecurity = new SecurityDesc(file, >>> + SecurityDesc.ALL_PERMISSIONS, >>> + codebase.getHost()); >>> + } else { >>> + jarSecurity = new SecurityDesc(file, >>> + SecurityDesc.SANDBOX_PERMISSIONS, >>> + codebase.getHost()); >>> } >>> >>> try { >>> @@ -739,25 +748,6 @@ public class JNLPClassLoader extends URL >>> CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); >>> addURL(fakeRemote); >>> >>> - SecurityDesc jarSecurity = file.getSecurity(); >>> - >>> - if (file instanceof PluginBridge) { >>> - >>> - URL codebase = null; >>> - >>> - if (file.getCodeBase() != null) { >>> - codebase = file.getCodeBase(); >>> - } else { >>> - //Fixme: codebase should be the codebase of the Main Jar not >>> - //the location. Although, it still works in the current state. >>> - codebase = file.getResources().getMainJAR().getLocation(); >>> - } >>> - >>> - jarSecurity = new SecurityDesc(file, >>> - SecurityDesc.ALL_PERMISSIONS, >>> - codebase.getHost()); >>> - } >>> - >>> jarLocationSecurityMap.put(fakeRemote, jarSecurity); >>> >>> } catch (MalformedURLException mfue) { >>> @@ -966,18 +956,6 @@ public class JNLPClassLoader extends URL >>> } >>> >>> /** >>> - * Verifies code signing of jars to be used. >>> - * >>> - * @param jars the jars to be verified. >>> - */ >>> - private JarSigner verifyJars(List jars) throws Exception { >>> - >>> - js = new JarSigner(); >>> - js.verifyJars(jars, tracker); >>> - return js; >>> - } >>> - >>> - /** >>> * Find the loaded class in this loader or any of its extension loaders. >>> */ >>> protected Class findLoadedClassAll(String name) { >>> @@ -1132,7 +1110,6 @@ public class JNLPClassLoader extends URL >>> >>> // Verify if needed >>> >>> - final JarSigner signer = new JarSigner(); >>> final List jars = new ArrayList(); >>> jars.add(desc); >>> >>> @@ -1144,14 +1121,14 @@ public class JNLPClassLoader extends URL >>> >>> AccessController.doPrivileged(new PrivilegedExceptionAction() { >>> public Void run() throws Exception { >>> - signer.verifyJars(jars, tracker); >>> + js.add(jars, tracker); >>> >>> - if (signer.anyJarsSigned()&& !signer.getAlreadyTrustPublisher()) { >>> - checkTrustWithUser(signer); >>> + if (js.anyJarsSigned()&& js.isFullySigned()&& !js.getAlreadyTrustPublisher()) { >>> + checkTrustWithUser(js); >>> } >>> >>> final SecurityDesc security; >>> - if (signer.anyJarsSigned()) { >>> + if (js.anyJarsSigned()&& js.isFullySigned()) { >>> security = new SecurityDesc(file, >>> SecurityDesc.ALL_PERMISSIONS, >>> file.getCodeBase().getHost()); >>> diff --git a/netx/net/sourceforge/jnlp/tools/JarSigner.java b/netx/net/sourceforge/jnlp/tools/JarSigner.java >>> --- a/netx/net/sourceforge/jnlp/tools/JarSigner.java >>> +++ b/netx/net/sourceforge/jnlp/tools/JarSigner.java >>> @@ -90,10 +90,10 @@ public class JarSigner implements CertVe >>> private boolean anyJarsSigned = false; >>> >>> /** all of the jar files that were verified */ >>> - private ArrayList verifiedJars = null; >>> + private ArrayList verifiedJars = new ArrayList(); >>> >>> /** all of the jar files that were not verified */ >>> - private ArrayList unverifiedJars = null; >>> + private ArrayList unverifiedJars = new ArrayList(); >>> >>> /** the certificates used for jar verification */ >>> private HashMap certs = new HashMap(); >>> @@ -165,7 +165,7 @@ public class JarSigner implements CertVe >>> * >>> * @return Whether or not all entries have a common signer >>> */ >>> - public boolean isFullySignedByASingleCert() { >>> + public boolean isFullySigned() { >>> >>> for (CertPath cPath : certs.keySet()) { >>> // If this cert has signed everything, return true >>> @@ -177,11 +177,27 @@ public class JarSigner implements CertVe >>> return false; >>> } >>> >>> - public void verifyJars(List jars, ResourceTracker tracker) >>> + /** >>> + * Update the verifier to consider new jars when verifying. >>> + * @param jars List of new jars to be verified. >>> + * @param tracker Resource tracker used to obtain the the jars from cache >>> + * @throws Exception Caused by issues with obtaining the jars' entries or >>> + * interacting with the tracker. >>> + */ >>> + public void add(List jars, ResourceTracker tracker) >>> throws Exception { >>> + // Reset the vars that need to be updated again during verification. >>> + certPath = null; >>> + alreadyTrustPublisher = false; >>> + rootInCacerts = false; >>> + details.remove(R("SUntrustedCertificate")); >>> + details.remove(R("STrustedCertificate")); >>> >>> - verifiedJars = new ArrayList(); >>> - unverifiedJars = new ArrayList(); >>> + verifyJars(jars, tracker); >>> + } >>> + >>> + private void verifyJars(List jars, ResourceTracker tracker) >>> + throws Exception { >>> >>> for (int i = 0; i< jars.size(); i++) { >>> >> From ddadacha at redhat.com Thu May 17 11:26:58 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 17 May 2012 14:26:58 -0400 Subject: [RFC][icedtea-web] Do not allow searching of jar manifest classpath if jnlp_href is being used In-Reply-To: <4FB4C9E7.4060607@redhat.com> References: <4FB430FF.8060201@redhat.com> <4FB4C9E7.4060607@redhat.com> Message-ID: <4FB542F2.4050104@redhat.com> Hi Jiri, Thanks for the review! Comments below On 17/05/12 05:50 AM, Jiri Vanek wrote: > On 05/17/2012 12:58 AM, Danesh Dadachanji wrote: >> Hi, > > I think this is ok, but few hints: > >> Applets run by the plugin are allowed to specify classpaths in their jars' manifest files. IMO this >> is fine for applets run via specifying a main class but this is not okay if they are run via >> jnlp_href. When using a JNLP via javaws, you do not have access to manifest's classpaths. I believe >> this is a property of JNLP files. Therefore, since jnlp_href points to a JNLP file to do the guide >> the launching and resource tracking, I propose we ignore classpaths when the plugin runs using >> jnlp_href. >> >> To note, the proprietary plugin allows classpath specified jars but I do not think this is correct >> behaviour. > > Although I agree with you, I'm afraid we have to follow proprietary plugin wherever specification is not clear :-/. But I do not see > this as blocker for this changeset. I realize that specification is not clear but regardless, I would rather we deviate from proprietary plugin here. An app run from a JNLP is expected to have all its jars fully signed by 1 signer, right? Then it should not matter how we run this, be it through the plugin or from javaws. What do you think? > (eg this https://bugzilla.redhat.com/show_bug.cgi?id=816592 is nice example of brutality allowed in proprietary one:-/) Yeah I agree, that is quite horrible. :S > > FWIW I've run through all the regression tests, none of them use this so far. > > Please - tests!!! And if before the fix then best! I really would lke to see reproducers before push. > Sorry, I did not realize we supported manifest entries! I am writing a test now but I've run into a problem. The plugin will search your current directory for jars by default (at least it was when I ran my test manually). So I would need to put the manifest classpath specified jar in a different dir than jnlp_test_server. Is this possible with our current engine? It can be a subdir even. >> >> Is this okay to push to HEAD, 1.2 and 1.1? > Are all three branches necessary? In this case I'm maybe just for head.. But 1.2 can live long enough to have this too (and your next > work need this (?)). >> >> +2012-05-16 Danesh Dadachanji >> + >> + Classpaths in jars' manifests are only considered when the applet is run >> + without using jnlp_href and a JNLP file. >> + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): >> + Add conditional check for use of jnlp_href. >> + >> >> There are no differences in the patches between HEAD, 1.2 and 1.1 so I've only attached one. >> >> Cheers, >> Danesh >> >> PS: this patch is dependent on this backport[1] going into 1.1. >> >> [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018533.html > > Thanx a lot and sorry for sitting on tests :(( The more tests the better! Cheers, Danesh From jvanek at redhat.com Thu May 17 11:43:37 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 20:43:37 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <20120517154741.GS21272@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> Message-ID: <4FB546D9.7090203@redhat.com> On 05/17/2012 05:47 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-17 04:25]: >> On 05/16/2012 06:58 PM, Deepak Bhole wrote: >>> * Jiri Vanek [2012-05-11 08:52]: ... >>>>> >>>>>>>> > 2. It's still expecting the plugin to be in >>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), >>>>>>>> > the final install location. It needs to link to to the copy in the >>>>>>>> > build directory. >>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers >>>>>>> tests are run against $(DESTDIR). >>>>> Then they are wrong too. I should be able to check it works before I >>>>> commit to installing it on my system. >>>> >>>> Well they are reproducers, they expect to be run on installed stuff. >>>> >>> >>> Is it possible to make them run without installation at all? e.g. >>> firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH >> >> Yes. And even link from mozilla-fs can be easily targeted to >> builddir. It is not an blocker. There are two different issues: >> >> 1 - design) the concept is to test installed application >> 2 - implementation) [here I can be wrong, but I believe I'm not] >> inside javaws (not relevant but..) and inside IcedTeaPlugin.so are >> harcoded paths to installdir jars of netx. So To make it work form >> builddir I have to make build just for testing, what I believe is >> contra productive. So if I will link library from buildddir, it will >> still be necessary to have installed application (and so have jars >> in install dir where the so file is searching for them). I think >> that any hacking around to make it work is much worser then have >> installed application before reproducers runs. >> > > Can we do a fake install somewhere and run tests through there? My only > concern here is that if all I want to do is run tests, I am forced to > either consciously make sure I don't specify a system install prefix, or > to overwrite what is on the system already. Yes. Fake install is solution. Actually current solution :). I consider --prefix as best. It is doing exactly what we need without complications. Testsuite is then run again s prefixed installdir. J. > > Cheers, > Deepak > >> >>> >>> Cheers, >>> Deepak >>> >>>> ok now? >>>>> >>>>>>>> > >> >>> Thanx for review! >> >> Thanx again for clarifying! >> >> >> J. From ddadacha at redhat.com Thu May 17 11:53:21 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 17 May 2012 14:53:21 -0400 Subject: [RFC][icedtea-web] Fix for single instance service with applets using jnlp_href In-Reply-To: <4F912D3C.9080804@redhat.com> References: <4F2849F3.2030003@redhat.com> <4F5DD2F8.8000904@redhat.com> <4F5E2C2F.7090603@redhat.com> <4F912D3C.9080804@redhat.com> Message-ID: <4FB54921.1010106@redhat.com> On 20/04/12 05:32 AM, Jiri Vanek wrote: >>> >> >> Yeah, it was a confusing service to wrap my head around. :S >> >> Right now, SingleInstanceService is available to use from applets/applications run by javaws. I am >> trying to port this over to the plugin so that when jnlp_href is used, applets have access to it. >> >> The point of the service itself is to only let one instance of an applet run at a time. There's a >> catch to running another instance of the applet though. While the first one is running, it is setup >> with a listener for later instances to use. The idea is that the second instance can communicate >> with the running instance, passing along some args to be handled by the listener, and then exit. >> When you run another instance of the applet, icedtea-web is supposed to recognize this as the second >> instance and pass on a list of arguments provided by the dev. See the API for >> SingleInstanceListener[1] for the methods. I think the following signleapp example[2] might help you >> too. >> >> Here's an example run path: >> >> 1. Start single instance app. The dev has set it up to handle params accordingly, say to spit it out >> on the screen to log. >> 2. IcedTea-Web sets up a single instance server to keep track of the instance running. >> 3. The second app is run, args are passed in by the dev again. Let's say they are the current >> date/time. >> 4. IcedTea-Web notices the second app is a second instance of the first one and checks that the >> first one's server is still running, then denies init of the second applet. The second instance's >> args are taken and passed along to the first instance's newActivation(String[] args) method. >> 5. Dev's newActivation method reacts accordingly. >> >> I hope the example[2] helps clear up any doubts I have not covered but please ask if it doesn't! >> >>>> Attached is a patch to fix SingleInstanceService to work when applets >>>> use jnlp_href. >>>> >>>> If a single instance exists, it'll throw a fatal exception for the >>>> second applet and stop running it. The applet passes the args along >>>> while checking. However, proprietary documentation is unclear about >>>> which args are passed so for now I have left it as a FIXME until >>>> that's cleared up. >>> I believe applets parameters inside tag/jnlp descriptor are correct way. >> >> These args I was referring to are from the second instance being run so we're talking about >> different things here. =) Please see above. >> > Well well... It was digging to find what this should be doing, and it looks tome like it is not doing something. > > Can I ask for large set of reproducers? > > two same javaws applications runnig together/ two same javaws applications running as SingleInstance and passing params / two different > javaws running together/ two different javaws applications running as SingleInstance and "passing" params > > two same applets-in-javaws applications runig together/ two same applets-in-javaws applications running as SingleInstance and passing > params / two different applets-in-javaws running together/ two different applets-in-javaws applications running as SingleInstance and > "passing" params > > two same applets-in-browser running together/ two same applets-in-javaws applications running as SingleInstance and passing params /two > different applets-in-browser running together/ two different applets-in-javaws applications running as SingleInstance and "passing" params > > Could you elaborate more on the purpose of "two same javaws applications running together"? Similarly for the "applets-in-browser" and "applets-in-javaws" ones. As I understand it, these are just normal runs without SingleInstance, right? How is this related to the patch? > > It will need similar approach as I have used in xfork test, but better then sleep use StdOut use contentReader listeners and do not > wait for timeout (as it really delays test runs) > I'm not sure how this would be run in the current engine. We need to ensure both apps (for each test) are running at the same time. I don't think there is a way to guarantee this, is there? I know the tests are run one after another but they are only ordered alphabetically right? There is no way to specify I want to run test X and then immediately after run test Y (while test X is still running), is there? > > The patch itself looks ok, and if will pass above tests, then it is ok for head. The only issue is passing params to applet. Yes, By param you mean through SingleInstance, not through tags right? > specification is silent in this issue, but I'm against String[0] (at least it is hard to test!:)). My idea here is to pass new > String{key1,value1, key2,value2...keyn,valuen}. Better then nothing I believe. > Would you mind elaborating on this some more too? I don't understand what the String{key,value,...} is meant to be. > Thanx for hard work! Thanks for the comments! Sorry for the long delay. Cheers, Danesh From adomurad at icedtea.classpath.org Thu May 17 11:14:10 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Thu, 17 May 2012 18:14:10 +0000 Subject: /hg/icedtea-web: Went through the source of IcedTeaWeb with Find... Message-ID: changeset 7151720a2f5b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7151720a2f5b author: Adam Domurad date: Thu May 17 14:14:03 2012 -0400 Went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls. diffstat: ChangeLog | 14 ++++++++++ netx/net/sourceforge/jnlp/JNLPFile.java | 2 +- netx/net/sourceforge/jnlp/SecurityDesc.java | 4 +- netx/net/sourceforge/jnlp/Version.java | 5 ++- plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java | 2 +- plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java | 10 +++--- 6 files changed, 26 insertions(+), 11 deletions(-) diffs (113 lines): diff -r b9a6491e6715 -r 7151720a2f5b ChangeLog --- a/ChangeLog Wed May 16 17:01:46 2012 +0200 +++ b/ChangeLog Thu May 17 14:14:03 2012 -0400 @@ -1,3 +1,17 @@ +2012-05-17 Adam Domurad + + Fixed uses of == to compare String objects to .equals where + appropriate. + Noted a non-obvious use of == to compare a 'magic' String reference. + * netx/net/sourceforge/jnlp/JNLPFile.java: + Changed calls that compare String contents from == to .equals + * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: + Same + * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: + Same + * netx/net/sourceforge/jnlp/Version.java: Added comment explaining why + == was used vs .equals + 2012-05-14 Jiri Vanek * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: diff -r b9a6491e6715 -r 7151720a2f5b netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Wed May 16 17:01:46 2012 +0200 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Thu May 17 14:14:03 2012 -0400 @@ -208,7 +208,7 @@ //(i.e. If the jnlp file being launched exist locally, but it //originated from a website, then download the one from the website //into the cache). - if (sourceLocation != null && location.getProtocol() == "file") { + if (sourceLocation != null && "file".equals(location.getProtocol())) { openURL(sourceLocation, version, policy); } diff -r b9a6491e6715 -r 7151720a2f5b netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Wed May 16 17:01:46 2012 +0200 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Thu May 17 14:14:03 2012 -0400 @@ -202,7 +202,7 @@ PermissionCollection permissions = getSandBoxPermissions(); // discard sandbox, give all - if (type == ALL_PERMISSIONS) { + if (ALL_PERMISSIONS.equals(type)) { permissions = new Permissions(); if (customTrustedPolicy == null) { permissions.add(new AllPermission()); @@ -213,7 +213,7 @@ } // add j2ee to sandbox if needed - if (type == J2EE_PERMISSIONS) + if (J2EE_PERMISSIONS.equals(type)) for (int i = 0; i < j2eePermissions.length; i++) permissions.add(j2eePermissions[i]); diff -r b9a6491e6715 -r 7151720a2f5b netx/net/sourceforge/jnlp/Version.java --- a/netx/net/sourceforge/jnlp/Version.java Wed May 16 17:01:46 2012 +0200 +++ b/netx/net/sourceforge/jnlp/Version.java Thu May 17 14:14:03 2012 -0400 @@ -230,6 +230,7 @@ Integer number2 = Integer.valueOf(0); // compare as integers + // for normalization key, compare exact object, not using .equals try { if (!(part1 == emptyString)) // compare to magic normalization key number1 = Integer.valueOf(part1); @@ -242,9 +243,9 @@ // means to compare as strings } - if (part1 == emptyString) + if (part1 == emptyString) // compare to magic normalization key part1 = ""; - if (part2 == emptyString) + if (part2 == emptyString) // compare to magic normalization key part2 = ""; return part1.compareTo(part2); diff -r b9a6491e6715 -r 7151720a2f5b plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java --- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java Wed May 16 17:01:46 2012 +0200 +++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java Thu May 17 14:14:03 2012 -0400 @@ -50,7 +50,7 @@ String[] args = message.split(" "); // FIXME: Is it even possible to distinguish between null and void // here? - if (args[3] != "null" && args[3] != "void") + if (!"null".equals(args[3]) && !"void".equals(args[3])) object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[3])); setDone(true); } diff -r b9a6491e6715 -r 7151720a2f5b plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java --- a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java Wed May 16 17:01:46 2012 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java Thu May 17 14:14:03 2012 -0400 @@ -41,15 +41,15 @@ public PluginCallRequest getPluginCallRequest(String id, String message, Long reference) { - if (id == "member") { + if ("member".equals(id)) { return new GetMemberPluginCallRequest(message, reference); - } else if (id == "void") { + } else if ("void".equals(id)) { return new VoidPluginCallRequest(message, reference); - } else if (id == "window") { + } else if ("window".equals(id)) { return new GetWindowPluginCallRequest(message, reference); - } else if (id == "proxyinfo") { + } else if ("proxyinfo".equals(id)) { return new PluginProxyInfoRequest(message, reference); - } else if (id == "cookieinfo") { + } else if ("cookieinfo".equals(id)) { return new PluginCookieInfoRequest(message, reference); } else { throw new RuntimeException("Unknown plugin call request type requested from factory"); From dbhole at redhat.com Thu May 17 12:04:25 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 15:04:25 -0400 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FB546D9.7090203@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> Message-ID: <20120517190425.GU21272@redhat.com> * Jiri Vanek [2012-05-17 14:40]: > On 05/17/2012 05:47 PM, Deepak Bhole wrote: > >* Jiri Vanek [2012-05-17 04:25]: > >>On 05/16/2012 06:58 PM, Deepak Bhole wrote: > >>>* Jiri Vanek [2012-05-11 08:52]: > ... > >>>>> > >>>>>>>> > 2. It's still expecting the plugin to be in > >>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > >>>>>>>> > the final install location. It needs to link to to the copy in the > >>>>>>>> > build directory. > >>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers > >>>>>>> tests are run against $(DESTDIR). > >>>>>Then they are wrong too. I should be able to check it works before I > >>>>>commit to installing it on my system. > >>>> > >>>>Well they are reproducers, they expect to be run on installed stuff. > >>>> > >>> > >>>Is it possible to make them run without installation at all? e.g. > >>>firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH > >> > >>Yes. And even link from mozilla-fs can be easily targeted to > >>builddir. It is not an blocker. There are two different issues: > >> > >>1 - design) the concept is to test installed application > >>2 - implementation) [here I can be wrong, but I believe I'm not] > >>inside javaws (not relevant but..) and inside IcedTeaPlugin.so are > >>harcoded paths to installdir jars of netx. So To make it work form > >>builddir I have to make build just for testing, what I believe is > >>contra productive. So if I will link library from buildddir, it will > >>still be necessary to have installed application (and so have jars > >>in install dir where the so file is searching for them). I think > >>that any hacking around to make it work is much worser then have > >>installed application before reproducers runs. > >> > > > >Can we do a fake install somewhere and run tests through there? My only > >concern here is that if all I want to do is run tests, I am forced to > >either consciously make sure I don't specify a system install prefix, or > >to overwrite what is on the system already. > > Yes. Fake install is solution. Actually current solution :). > I consider --prefix as best. It is doing exactly what we need without complications. > Testsuite is then run again s prefixed installdir. > Sorry, I am confused. --prefix? But so then aren't we back to the same problem of the user having to remember to give a temp prefix if they want to 'make test' or risk overwriting what is on the system? Cheers, Deepak > J. > > > >Cheers, > >Deepak > > > >> > >>> > >>>Cheers, > >>>Deepak > >>> > >>>>ok now? > >>>>> > >>>>>>>> > > >> > >>>Thanx for review! > >> > >>Thanx again for clarifying! > >> > >> > >>J. > From jvanek at redhat.com Thu May 17 12:18:31 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 21:18:31 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <20120517190425.GU21272@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> <20120517190425.GU21272@redhat.com> Message-ID: <4FB54F07.7050308@redhat.com> On 05/17/2012 09:04 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-17 14:40]: >> On 05/17/2012 05:47 PM, Deepak Bhole wrote: >>> * Jiri Vanek [2012-05-17 04:25]: >>>> On 05/16/2012 06:58 PM, Deepak Bhole wrote: >>>>> * Jiri Vanek [2012-05-11 08:52]: >> ... >>>>>>> >>>>>>>>>> > 2. It's still expecting the plugin to be in >>>>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), >>>>>>>>>> > the final install location. It needs to link to to the copy in the >>>>>>>>>> > build directory. >>>>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers >>>>>>>>> tests are run against $(DESTDIR). >>>>>>> Then they are wrong too. I should be able to check it works before I >>>>>>> commit to installing it on my system. >>>>>> >>>>>> Well they are reproducers, they expect to be run on installed stuff. >>>>>> >>>>> >>>>> Is it possible to make them run without installation at all? e.g. >>>>> firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH >>>> >>>> Yes. And even link from mozilla-fs can be easily targeted to >>>> builddir. It is not an blocker. There are two different issues: >>>> >>>> 1 - design) the concept is to test installed application >>>> 2 - implementation) [here I can be wrong, but I believe I'm not] >>>> inside javaws (not relevant but..) and inside IcedTeaPlugin.so are >>>> harcoded paths to installdir jars of netx. So To make it work form >>>> builddir I have to make build just for testing, what I believe is >>>> contra productive. So if I will link library from buildddir, it will >>>> still be necessary to have installed application (and so have jars >>>> in install dir where the so file is searching for them). I think >>>> that any hacking around to make it work is much worser then have >>>> installed application before reproducers runs. >>>> >>> >>> Can we do a fake install somewhere and run tests through there? My only >>> concern here is that if all I want to do is run tests, I am forced to >>> either consciously make sure I don't specify a system install prefix, or >>> to overwrite what is on the system already. >> >> Yes. Fake install is solution. Actually current solution :). >> I consider --prefix as best. It is doing exactly what we need without complications. >> Testsuite is then run again s prefixed installdir. >> > > Sorry, I am confused. > > --prefix? But so then aren't we back to the same problem of the user > having to remember to give a temp prefix if they want to 'make test' or > risk overwriting what is on the system?\ Yes we are. What do you think about stopping of testsuite in case that prefix will not be specified? But I'm confused to. Normal user will never run run-netx-dist-tests. This family of targets will be always run by someone who understand the stuff. And if not, it will not make any harm. I still do not understand why is it so evil to test installed application (as eg jtreg is dooing). Looking forward for "whats going to happen" :) J. From dbhole at redhat.com Thu May 17 12:17:43 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 15:17:43 -0400 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FB54F07.7050308@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> <20120517190425.GU21272@redhat.com> <4FB54F07.7050308@redhat.com> Message-ID: <20120517191742.GV21272@redhat.com> * Jiri Vanek [2012-05-17 15:15]: > On 05/17/2012 09:04 PM, Deepak Bhole wrote: > >* Jiri Vanek [2012-05-17 14:40]: > >>On 05/17/2012 05:47 PM, Deepak Bhole wrote: > >>>* Jiri Vanek [2012-05-17 04:25]: > >>>>On 05/16/2012 06:58 PM, Deepak Bhole wrote: > >>>>>* Jiri Vanek [2012-05-11 08:52]: > >>... > >>>>>>> > >>>>>>>>>> > 2. It's still expecting the plugin to be in > >>>>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > >>>>>>>>>> > the final install location. It needs to link to to the copy in the > >>>>>>>>>> > build directory. > >>>>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers > >>>>>>>>> tests are run against $(DESTDIR). > >>>>>>>Then they are wrong too. I should be able to check it works before I > >>>>>>>commit to installing it on my system. > >>>>>> > >>>>>>Well they are reproducers, they expect to be run on installed stuff. > >>>>>> > >>>>> > >>>>>Is it possible to make them run without installation at all? e.g. > >>>>>firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH > >>>> > >>>>Yes. And even link from mozilla-fs can be easily targeted to > >>>>builddir. It is not an blocker. There are two different issues: > >>>> > >>>>1 - design) the concept is to test installed application > >>>>2 - implementation) [here I can be wrong, but I believe I'm not] > >>>>inside javaws (not relevant but..) and inside IcedTeaPlugin.so are > >>>>harcoded paths to installdir jars of netx. So To make it work form > >>>>builddir I have to make build just for testing, what I believe is > >>>>contra productive. So if I will link library from buildddir, it will > >>>>still be necessary to have installed application (and so have jars > >>>>in install dir where the so file is searching for them). I think > >>>>that any hacking around to make it work is much worser then have > >>>>installed application before reproducers runs. > >>>> > >>> > >>>Can we do a fake install somewhere and run tests through there? My only > >>>concern here is that if all I want to do is run tests, I am forced to > >>>either consciously make sure I don't specify a system install prefix, or > >>>to overwrite what is on the system already. > >> > >>Yes. Fake install is solution. Actually current solution :). > >>I consider --prefix as best. It is doing exactly what we need without complications. > >>Testsuite is then run again s prefixed installdir. > >> > > > >Sorry, I am confused. > > > >--prefix? But so then aren't we back to the same problem of the user > >having to remember to give a temp prefix if they want to 'make test' or > >risk overwriting what is on the system?\ > > Yes we are. What do you think about stopping of testsuite in case that prefix will not be specified? > But I'm confused to. Normal user will never run run-netx-dist-tests. This family of targets will be always run by someone who understand the stuff. And if not, it will not make any harm. I still do not understand why is it so evil to test installed application (as eg jtreg is dooing). > Oh it is not evil. I have nothing against testing an installed application. I just want to make sure that something as innocuous as 'make test' is not going to nuke my system installation. Cheers, Deepak > Looking forward for "whats going to happen" :) > J. From jvanek at redhat.com Thu May 17 12:31:45 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 21:31:45 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <20120517191742.GV21272@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> <20120517190425.GU21272@redhat.com> <4FB54F07.7050308@redhat.com> <20120517191742.GV21272@redhat.com> Message-ID: <4FB55221.6010507@redhat.com> On 05/17/2012 09:17 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-17 15:15]: >> On 05/17/2012 09:04 PM, Deepak Bhole wrote: >>> * Jiri Vanek [2012-05-17 14:40]: >>>> On 05/17/2012 05:47 PM, Deepak Bhole wrote: >>>>> * Jiri Vanek [2012-05-17 04:25]: >>>>>> On 05/16/2012 06:58 PM, Deepak Bhole wrote: >>>>>>> * Jiri Vanek [2012-05-11 08:52]: >>>> ... >>>>>>>>> >>>>>>>>>>>> > 2. It's still expecting the plugin to be in >>>>>>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), >>>>>>>>>>>> > the final install location. It needs to link to to the copy in the >>>>>>>>>>>> > build directory. >>>>>>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers >>>>>>>>>>> tests are run against $(DESTDIR). >>>>>>>>> Then they are wrong too. I should be able to check it works before I >>>>>>>>> commit to installing it on my system. >>>>>>>> >>>>>>>> Well they are reproducers, they expect to be run on installed stuff. >>>>>>>> >>>>>>> >>>>>>> Is it possible to make them run without installation at all? e.g. >>>>>>> firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH >>>>>> >>>>>> Yes. And even link from mozilla-fs can be easily targeted to >>>>>> builddir. It is not an blocker. There are two different issues: >>>>>> >>>>>> 1 - design) the concept is to test installed application >>>>>> 2 - implementation) [here I can be wrong, but I believe I'm not] >>>>>> inside javaws (not relevant but..) and inside IcedTeaPlugin.so are >>>>>> harcoded paths to installdir jars of netx. So To make it work form >>>>>> builddir I have to make build just for testing, what I believe is >>>>>> contra productive. So if I will link library from buildddir, it will >>>>>> still be necessary to have installed application (and so have jars >>>>>> in install dir where the so file is searching for them). I think >>>>>> that any hacking around to make it work is much worser then have >>>>>> installed application before reproducers runs. >>>>>> >>>>> >>>>> Can we do a fake install somewhere and run tests through there? My only >>>>> concern here is that if all I want to do is run tests, I am forced to >>>>> either consciously make sure I don't specify a system install prefix, or >>>>> to overwrite what is on the system already. >>>> >>>> Yes. Fake install is solution. Actually current solution :). >>>> I consider --prefix as best. It is doing exactly what we need without complications. >>>> Testsuite is then run again s prefixed installdir. >>>> >>> >>> Sorry, I am confused. >>> >>> --prefix? But so then aren't we back to the same problem of the user >>> having to remember to give a temp prefix if they want to 'make test' or >>> risk overwriting what is on the system?\ >> >> Yes we are. What do you think about stopping of testsuite in case that prefix will not be specified? >> But I'm confused to. Normal user will never run run-netx-dist-tests. This family of targets will be always run by someone who understand the stuff. And if not, it will not make any harm. I still do not understand why is it so evil to test installed application (as eg jtreg is dooing). >> > > Oh it is not evil. I have nothing against testing an installed > application. I just want to make sure that something as innocuous as > 'make test' is not going to nuke my system installation. Tests will definitely not! I also do not believe make links will do not harm. They are linking and unlinking correctly. And are linking correct stuff to correct place. Maybe I should run unlink* after each test run (but I dont like this idea)? Now the unlink is depending on make clean. But make links must be called manually, so there is no danger of being invoked by mistake. And if icedte-web is linked incorrectly there is test to catch it. J. > > Cheers, > Deepak > >> Looking forward for "whats going to happen" :) >> J. From adomurad at redhat.com Thu May 17 12:38:10 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 17 May 2012 15:38:10 -0400 Subject: Removal of two instances of synchronization on Boolean Message-ID: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> Hello all. Tiny patch here to remove two instances of synchronization on Boolean (considered bad practice as typically only two Boolean objects exist). While I was not entirely sure what should be done about the Boolean synchronization, Deepak's opinion was that the synchronization was not needed, so I submitted this small patch. 2012-05-17 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed unnecessary synchronization on Boolean (dangerous) for code that did not require synchronization. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch3.patch Type: text/x-patch Size: 1204 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/552e41fc/patch3.patch From adomurad at redhat.com Thu May 17 12:41:03 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 17 May 2012 15:41:03 -0400 Subject: [RFC][icedtea-web] Removal of two instances of synchronization on Boolean In-Reply-To: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <1337283663.10504.7.camel@voip-10-15-18-79.yyz.redhat.com> On Thu, 2012-05-17 at 15:38 -0400, Adam Domurad wrote: > Hello all. Tiny patch here to remove two instances of synchronization on > Boolean (considered bad practice as typically only two Boolean objects > exist). > > While I was not entirely sure what should be done about the Boolean > synchronization, Deepak's opinion was that the synchronization was not > needed, so I submitted this small patch. > 2012-05-17 Adam Domurad > > * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: > Removed > unnecessary synchronization on Boolean (dangerous) for code that > did > not require synchronization. Woops, forgot to add [RFC][icedtea-web]. Added in this reply's header. From dbhole at redhat.com Thu May 17 12:42:22 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 15:42:22 -0400 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FB55221.6010507@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> <20120517190425.GU21272@redhat.com> <4FB54F07.7050308@redhat.com> <20120517191742.GV21272@redhat.com> <4FB55221.6010507@redhat.com> Message-ID: <20120517194222.GW21272@redhat.com> * Jiri Vanek [2012-05-17 15:28]: > On 05/17/2012 09:17 PM, Deepak Bhole wrote: > >* Jiri Vanek [2012-05-17 15:15]: > >>On 05/17/2012 09:04 PM, Deepak Bhole wrote: > >>>* Jiri Vanek [2012-05-17 14:40]: > >>>>On 05/17/2012 05:47 PM, Deepak Bhole wrote: > >>>>>* Jiri Vanek [2012-05-17 04:25]: > >>>>>>On 05/16/2012 06:58 PM, Deepak Bhole wrote: > >>>>>>>* Jiri Vanek [2012-05-11 08:52]: > >>>>... > >>>>>>>>> > >>>>>>>>>>>> > 2. It's still expecting the plugin to be in > >>>>>>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), > >>>>>>>>>>>> > the final install location. It needs to link to to the copy in the > >>>>>>>>>>>> > build directory. > >>>>>>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers > >>>>>>>>>>> tests are run against $(DESTDIR). > >>>>>>>>>Then they are wrong too. I should be able to check it works before I > >>>>>>>>>commit to installing it on my system. > >>>>>>>> > >>>>>>>>Well they are reproducers, they expect to be run on installed stuff. > >>>>>>>> > >>>>>>> > >>>>>>>Is it possible to make them run without installation at all? e.g. > >>>>>>>firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH > >>>>>> > >>>>>>Yes. And even link from mozilla-fs can be easily targeted to > >>>>>>builddir. It is not an blocker. There are two different issues: > >>>>>> > >>>>>>1 - design) the concept is to test installed application > >>>>>>2 - implementation) [here I can be wrong, but I believe I'm not] > >>>>>>inside javaws (not relevant but..) and inside IcedTeaPlugin.so are > >>>>>>harcoded paths to installdir jars of netx. So To make it work form > >>>>>>builddir I have to make build just for testing, what I believe is > >>>>>>contra productive. So if I will link library from buildddir, it will > >>>>>>still be necessary to have installed application (and so have jars > >>>>>>in install dir where the so file is searching for them). I think > >>>>>>that any hacking around to make it work is much worser then have > >>>>>>installed application before reproducers runs. > >>>>>> > >>>>> > >>>>>Can we do a fake install somewhere and run tests through there? My only > >>>>>concern here is that if all I want to do is run tests, I am forced to > >>>>>either consciously make sure I don't specify a system install prefix, or > >>>>>to overwrite what is on the system already. > >>>> > >>>>Yes. Fake install is solution. Actually current solution :). > >>>>I consider --prefix as best. It is doing exactly what we need without complications. > >>>>Testsuite is then run again s prefixed installdir. > >>>> > >>> > >>>Sorry, I am confused. > >>> > >>>--prefix? But so then aren't we back to the same problem of the user > >>>having to remember to give a temp prefix if they want to 'make test' or > >>>risk overwriting what is on the system?\ > >> > >>Yes we are. What do you think about stopping of testsuite in case that prefix will not be specified? > >>But I'm confused to. Normal user will never run run-netx-dist-tests. This family of targets will be always run by someone who understand the stuff. And if not, it will not make any harm. I still do not understand why is it so evil to test installed application (as eg jtreg is dooing). > >> > > > >Oh it is not evil. I have nothing against testing an installed > >application. I just want to make sure that something as innocuous as > >'make test' is not going to nuke my system installation. > > Tests will definitely not! I also do not believe make links will do not harm. They are linking and unlinking correctly. And are linking correct stuff to correct place. Maybe I should run unlink* after each test run (but I dont like this idea)? Now the unlink is depending on make clean. But make links must be called manually, so there is no danger of being invoked by mistake. And if icedte-web is linked incorrectly there is test to catch it. > What if something goes wrong during testing and it exits before unlinking? The user system would be set to use the wrong plugin -- worse yet, it could be without the user's knowledge. Cheers, Deepak > J. > > > >Cheers, > >Deepak > > > >>Looking forward for "whats going to happen" :) > >>J. > From dbhole at redhat.com Thu May 17 12:44:23 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 15:44:23 -0400 Subject: Removal of two instances of synchronization on Boolean In-Reply-To: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <20120517194422.GX21272@redhat.com> * Adam Domurad [2012-05-17 15:39]: > Hello all. Tiny patch here to remove two instances of synchronization on > Boolean (considered bad practice as typically only two Boolean objects > exist). > > While I was not entirely sure what should be done about the Boolean > synchronization, Deepak's opinion was that the synchronization was not > needed, so I submitted this small patch. Hi Adam, Right, I don't think synchronization is needed because the value is modified only once. The second lock below locks just to read, and all it does with the value is determine whether to print a stack trace. OK for 1.1/1.2/HEAD from me, but a second review is advisable as I was already in favor of this approach before posting. Cheers, Deepak > 2012-05-17 Adam Domurad > > * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: > Removed > unnecessary synchronization on Boolean (dangerous) for code that > did > not require synchronization. > diff --git a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > @@ -322,9 +322,7 @@ > PluginDebug.debug(" PIPE: appletviewer read: ", message); > > if (message == null || message.equals("shutdown")) { > - synchronized (shuttingDown) { > - shuttingDown = true; > - } > + shuttingDown = true; > try { > // Close input/output channels to plugin. > pluginInputReader.close(); > @@ -362,10 +360,8 @@ > } catch (IOException e) { > // if we are shutting down, ignore write failures as > // pipe may have closed > - synchronized (shuttingDown) { > - if (!shuttingDown) { > - e.printStackTrace(); > - } > + if (!shuttingDown) { > + e.printStackTrace(); > } > > // either ways, if the pipe is broken, there is nothing From jvanek at redhat.com Thu May 17 12:04:06 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 17 May 2012 21:04:06 +0200 Subject: [RFC][icedtea-web] Use global JarCertVerifier in JNLPClassLoader - tests In-Reply-To: <4FB52974.1080408@redhat.com> References: <4FB42921.6040109@redhat.com> <4FB4C8C7.8060109@redhat.com> <4FB52974.1080408@redhat.com> Message-ID: <4FB54BA6.8010105@redhat.com> On 05/17/2012 06:38 PM, Danesh Dadachanji wrote: > Hi Jiri, > ... >>> The nested jar is given the same security context as its parent jar. >>> >> >> >>> I've extensively tested this against a combination of singed/unsigned entries in >> >> Please share those reproducers. They have to be tracked for regression. >> > > Unfortunately all of these are hardcoded jars that I made manually. They're too complicated to add to the test engine. Things like having multiple signers for different jars, having only one of two entries in a jar signed are not possible yet. > > I want to avoid pushing jars to the repo. However, I think out of the 50+ scenarios I ran through, there is maybe 10% similarity between all of them, if that even. Each test will need its own mechanism to create proper jars with each test run. We will have to add a new feature to the test engine to do these customized tests. Yap. I will try to help with it. >As we discussed on IRC, the best looking approach is to use additional Makefiles in each of the tests' directories. Then, if these are present, the test is built according to this Makefile's specifications. I will have to think about this some more but I'll just leave this here for now. =) I'm hesitating with delaying the tests. Imho tests are always forgotten when fix is delivered... There is always something more funny to do then tests. I would prefer th etest have priorirty before fix .. at least some most-issue-describing ones. Do you think you can include few (cca 5) most describing ones (probably with Make extension)? > >>> resource/archive-specified/nested/manifest-classpath/extension jars using JNLPs, the applet tag, >>> javaws and jnlp_href, as well as many duplicate jars. I have also run through all the regression >> >> I think this changset do not belongs to 1.1. What is motivation for do so? > > This is a very security oriented fix. Right now in 1.1 we do not ensure that the entire app is signed by 1 common signer. If jars are brought in on the fly (e.g. classpath), they currently can have different signers. Technically we are okay for JNLPs because of other restrictions (such as no manifest classpaths accepted) but IMHO that's too close of a call that it's scary. Having this global JCV will ensure that everything absolutely must be signed by at least 1 signer, not just the jars passed in when doing the verification. Ok. Thanx for clarification. > >> >>> tests for HEAD, 1.2 and 1.1, everything ran fine. >>> >> >> >> >> ^ This is true reason of my reply. This changeset will need bunch of reproducers. They will be better even before the push of this >> changeset so I will be able to track they fix. >> >> Sorry for adding more work but it is really necessary. > > np =) > >> >> Also when I walked through code of JarCertVerifier, it looks like easily to be tempted by unnit tests. What do you think? > > Unit tests are hard for JCV. =( For my major update to JCV (that is still in the works), I focused on making the class more unit testable. Currently, it's very dependent on passing JARDesc lists into the methods. IOW we would have to create these jars inside of the unit tests. That's a whole other task in itself. TBH I think it will be wasted effort to do this if my larger JCV updates will make things easier. Good! > >> >> >> Thanx again, J. > > Thanks for reviewing! > > Cheers, > Danesh From omajid at redhat.com Thu May 17 12:48:01 2012 From: omajid at redhat.com (Omair Majid) Date: Thu, 17 May 2012 15:48:01 -0400 Subject: Removal of two instances of synchronization on Boolean In-Reply-To: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FB555F1.60800@redhat.com> On 05/17/2012 03:38 PM, Adam Domurad wrote: > Hello all. Tiny patch here to remove two instances of synchronization on > Boolean (considered bad practice as typically only two Boolean objects > exist). > > While I was not entirely sure what should be done about the Boolean > synchronization, Deepak's opinion was that the synchronization was not > needed, so I submitted this small patch. I could be wrong, but seems to me that read() and write() are running in different threads. Without some form of synchronization, writes from one thread may not be visible to the other thread at all. Making shuttingDown a 'volatile boolean' should be sufficient. Cheers, Omair From dbhole at redhat.com Thu May 17 13:19:57 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 16:19:57 -0400 Subject: Removal of two instances of synchronization on Boolean In-Reply-To: <4FB555F1.60800@redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> <4FB555F1.60800@redhat.com> Message-ID: <20120517201957.GY21272@redhat.com> * Omair Majid [2012-05-17 15:56]: > On 05/17/2012 03:38 PM, Adam Domurad wrote: > > Hello all. Tiny patch here to remove two instances of synchronization on > > Boolean (considered bad practice as typically only two Boolean objects > > exist). > > > > While I was not entirely sure what should be done about the Boolean > > synchronization, Deepak's opinion was that the synchronization was not > > needed, so I submitted this small patch. > > I could be wrong, but seems to me that read() and write() are running in > different threads. Without some form of synchronization, writes from one > thread may not be visible to the other thread at all. Making > shuttingDown a 'volatile boolean' should be sufficient. > Good point. Yes, please change it to volatile. Cheers, Deepak From adomurad at redhat.com Thu May 17 13:28:16 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 17 May 2012 16:28:16 -0400 Subject: Removal of two instances of synchronization on Boolean In-Reply-To: <4FB555F1.60800@redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> <4FB555F1.60800@redhat.com> Message-ID: <1337286496.10504.10.camel@voip-10-15-18-79.yyz.redhat.com> On Thu, 2012-05-17 at 15:48 -0400, Omair Majid wrote: > On 05/17/2012 03:38 PM, Adam Domurad wrote: > > Hello all. Tiny patch here to remove two instances of synchronization on > > Boolean (considered bad practice as typically only two Boolean objects > > exist). > > > > While I was not entirely sure what should be done about the Boolean > > synchronization, Deepak's opinion was that the synchronization was not > > needed, so I submitted this small patch. > > I could be wrong, but seems to me that read() and write() are running in > different threads. Without some form of synchronization, writes from one > thread may not be visible to the other thread at all. Making > shuttingDown a 'volatile boolean' should be sufficient. > > Cheers, > Omair Thanks. The adjusted patch is attached. Also, for the subject of another patch I'm working on, does the comment at the top of the file suggest the class is named VoidPluginCallRequest or is it just me ? -------------- next part -------------- A non-text attachment was scrubbed... Name: patch3.patch Type: text/x-patch Size: 1506 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/852186ae/patch3.patch From dbhole at redhat.com Thu May 17 13:34:43 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 17 May 2012 16:34:43 -0400 Subject: Removal of two instances of synchronization on Boolean In-Reply-To: <1337286496.10504.10.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> <4FB555F1.60800@redhat.com> <1337286496.10504.10.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <20120517203443.GZ21272@redhat.com> * Adam Domurad [2012-05-17 16:30]: > On Thu, 2012-05-17 at 15:48 -0400, Omair Majid wrote: > > On 05/17/2012 03:38 PM, Adam Domurad wrote: > > > Hello all. Tiny patch here to remove two instances of synchronization on > > > Boolean (considered bad practice as typically only two Boolean objects > > > exist). > > > > > > While I was not entirely sure what should be done about the Boolean > > > synchronization, Deepak's opinion was that the synchronization was not > > > needed, so I submitted this small patch. > > > > I could be wrong, but seems to me that read() and write() are running in > > different threads. Without some form of synchronization, writes from one > > thread may not be visible to the other thread at all. Making > > shuttingDown a 'volatile boolean' should be sufficient. > > > > Cheers, > > Omair > > > Thanks. The adjusted patch is attached. Also, for the subject of another > patch I'm working on, does the comment at the top of the file suggest > the class is named VoidPluginCallRequest or is it just me ? Looks good to me! OK for 1.1/1.2/HEAD from me. Thanks, Deepak > diff --git a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > @@ -59,7 +59,7 @@ > private JavaConsole console = new JavaConsole(); > > private PluginMessageConsumer consumer; > - private Boolean shuttingDown = false; > + private volatile boolean shuttingDown = false; > > > public PluginStreamHandler(InputStream inputstream, OutputStream outputstream) > @@ -322,9 +322,7 @@ > PluginDebug.debug(" PIPE: appletviewer read: ", message); > > if (message == null || message.equals("shutdown")) { > - synchronized (shuttingDown) { > - shuttingDown = true; > - } > + shuttingDown = true; > try { > // Close input/output channels to plugin. > pluginInputReader.close(); > @@ -362,10 +360,8 @@ > } catch (IOException e) { > // if we are shutting down, ignore write failures as > // pipe may have closed > - synchronized (shuttingDown) { > - if (!shuttingDown) { > - e.printStackTrace(); > - } > + if (!shuttingDown) { > + e.printStackTrace(); > } > > // either ways, if the pipe is broken, there is nothing From ddadacha at redhat.com Thu May 17 14:16:20 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 17 May 2012 17:16:20 -0400 Subject: [RFC][icedtea-web] Fix for PR855: AppletStub getDocumentBase() doesn't return full URL In-Reply-To: <20120416171814.GB14177@redhat.com> References: <4F2C425B.2040805@redhat.com> <20120416171814.GB14177@redhat.com> Message-ID: <4FB56AA4.6080205@redhat.com> On 16/04/12 01:18 PM, Deepak Bhole wrote: > * Danesh Dadachanji [2012-02-03 15:40]: >> Hi, >> >> This patch is a fix for PR855[1]. The return of getDocumentBase() >> currently doesn't include the HTML file. According to the docs, it >> should return the entire path of the HTML, including the filename. >> >> Attached is a patch that adds this. I've checked all the traces of >> the bytes grabbed from the pipe over on the java side. I believe I >> covered every read and assignment of the buffer/vars setup from the >> buffer and so on. We fortunately only ever used getDocumentBase()'s >> return to grab the host IP or use it as a base URL. The latter code >> grabbed the return and cut off everything after the last '/', which >> back before patch is the entire URL, post patch is the URL excluding >> the file name. >> >> Okay for HEAD? Thoughts on backporting to release branches? It was >> reported against 1.1.3 but this is a pretty big change that >> potentially affects the way users' applications behave. >> > > Looking at the surrounding code, we are taking a URL, splitting it on > "/" and then combining the first length-1 components. This was done to > purposely remove the file name itself. > > However if we want to add the file name back, we should just remove all > of the splitting/combing code rather than appending the last part. > > Have you tried using NPVARIANT_TO_STRING(href).utf8characters directly? > Ah yes I wasn't paying attention to the surrounding code :S How's this look? I'd like to backport this to 1.2 as well. The reporter uses 1.1.3 though so perhaps it should go into 1.1 too? Thoughts? Cheers, Danesh -------------- next part -------------- A non-text attachment was scrubbed... Name: get-document-base-02.patch Type: text/x-patch Size: 970 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/f6b1dbf1/get-document-base-02.patch From adomurad at redhat.com Thu May 17 14:19:01 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 17 May 2012 17:19:01 -0400 (EDT) Subject: [RFC][icedtea-web] Small code cleanup changes: fixing some code cloning, misleading comments & parameters etc In-Reply-To: <05ec96bd-3a19-446f-8646-68adf13d79fa@zmail19.collab.prod.int.phx2.redhat.com> Message-ID: <0c5c7455-df06-4bf2-873d-29936850b4e6@zmail19.collab.prod.int.phx2.redhat.com> Hi all. This incorporates some changes I made to reduce code cloning on a patch that I have to reconsider partially, as well as some comment clean ups etc. Generally contains small code cleanup changes, fixing some code cloning, misleading comments & parameters etc Changelog: 2012-05-17 Adam Domurad Code cleanup, unification of cloned code & comment fixing * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java: Added break statements (good practice, here it wouldn't affect the code due to a check of == null before changing the value). * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java: Made fields intended as constants 'final' * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: generateData(DirectoryNode root) had useless parameter - was set before being used. Similarly, the 'root' member variable was never set. Made the 'root' member variable set instead and passed to generateData. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Reduced cloning of code by introducing two methods, initializeCertificateTable(table) and createCertificateScrollPane(table) * plugin/icedteanp/java/sun/applet/JavaConsole.java: Fixed a usage of == where .equals is more appropriate * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java: Comment at top implies class is named VoidPluginCallRequest, with description cloned from that class. Added proper class name with TODO for someone better fit to describe the class. * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: Same * plugin/icedteanp/java/sun/applet/PluginClassLoader.java: Same * plugin/icedteanp/java/sun/applet/PluginDebug.java: Same * plugin/icedteanp/java/sun/applet/PluginException.java: Same * plugin/icedteanp/java/sun/applet/PluginMain.java: Same * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Same * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: Same * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Same * plugin/icedteanp/java/sun/applet/RequestQueue.java: Same -------------- next part -------------- A non-text attachment was scrubbed... Name: patch4.patch Type: text/x-patch Size: 11460 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/0667f97d/patch4.patch From ddadacha at redhat.com Thu May 17 14:34:12 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 17 May 2012 17:34:12 -0400 Subject: [RFC][icedtea-web] Fix for PR855: AppletStub getDocumentBase() doesn't return full URL In-Reply-To: <4FB56AA4.6080205@redhat.com> References: <4F2C425B.2040805@redhat.com> <20120416171814.GB14177@redhat.com> <4FB56AA4.6080205@redhat.com> Message-ID: <4FB56ED4.1040405@redhat.com> On 17/05/12 05:16 PM, Danesh Dadachanji wrote: > > On 16/04/12 01:18 PM, Deepak Bhole wrote: >> * Danesh Dadachanji [2012-02-03 15:40]: >>> Hi, >>> >>> This patch is a fix for PR855[1]. The return of getDocumentBase() >>> currently doesn't include the HTML file. According to the docs, it >>> should return the entire path of the HTML, including the filename. >>> >>> Attached is a patch that adds this. I've checked all the traces of >>> the bytes grabbed from the pipe over on the java side. I believe I >>> covered every read and assignment of the buffer/vars setup from the >>> buffer and so on. We fortunately only ever used getDocumentBase()'s >>> return to grab the host IP or use it as a base URL. The latter code >>> grabbed the return and cut off everything after the last '/', which >>> back before patch is the entire URL, post patch is the URL excluding >>> the file name. >>> >>> Okay for HEAD? Thoughts on backporting to release branches? It was >>> reported against 1.1.3 but this is a pretty big change that >>> potentially affects the way users' applications behave. >>> >> >> Looking at the surrounding code, we are taking a URL, splitting it on >> "/" and then combining the first length-1 components. This was done to >> purposely remove the file name itself. >> >> However if we want to add the file name back, we should just remove all >> of the splitting/combing code rather than appending the last part. >> >> Have you tried using NPVARIANT_TO_STRING(href).utf8characters directly? >> > > Ah yes I wasn't paying attention to the surrounding code :S > > How's this look? I'd like to backport this to 1.2 as well. The reporter uses 1.1.3 though so perhaps it should go into 1.1 too? Thoughts? > Woops forgot the ChangeLog entry: +2012-05-17 Danesh Dadachanji + + PR855: AppletStub getDocumentBase() doesn't return full URL + * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_get_documentbase): + Assign documentbase_copy directly to href's value instead of iterating + through the segments to remove the file from the path. + There were also some tabs in my previous patch, those are gone now in the new attachment. > Cheers, > Danesh -------------- next part -------------- A non-text attachment was scrubbed... Name: get-document-base-02.patch Type: text/x-patch Size: 1476 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120517/d323cc61/get-document-base-02.patch From omajid at redhat.com Thu May 17 14:44:14 2012 From: omajid at redhat.com (Omair Majid) Date: Thu, 17 May 2012 17:44:14 -0400 Subject: [RFC][icedtea-web] Small code cleanup changes: fixing some code cloning, misleading comments & parameters etc In-Reply-To: <0c5c7455-df06-4bf2-873d-29936850b4e6@zmail19.collab.prod.int.phx2.redhat.com> References: <0c5c7455-df06-4bf2-873d-29936850b4e6@zmail19.collab.prod.int.phx2.redhat.com> Message-ID: <4FB5712E.1080509@redhat.com> Hi Adam, On 05/17/2012 05:19 PM, Adam Domurad wrote: > This incorporates some changes I made to reduce code cloning on a > patch that I have to reconsider partially, as well as some comment > clean ups etc. Generally contains small code cleanup changes, fixing > some code cloning, misleading comments & parameters etc Comments in-line, below. > diff --git a/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java b/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java > --- a/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java > +++ b/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java > @@ -198,12 +198,14 @@ public class BrowserAwareProxySelector e > if (optionDescription == null) { > optionDescription = "Automatic"; > } > + break; > case BROWSER_PROXY_TYPE_SYSTEM: > // means use $http_proxy, $ftp_proxy etc. > // TODO implement env vars if possible > if (optionDescription == null) { > optionDescription = "System"; > } > + break; > default: > if (optionDescription == null) { > optionDescription = "Unknown"; Please don't do this. The fall-through here is intentional. It wont do much harm, but it will leave out extra information for debugging. I wouldn't mind if you added a comment here indicating this, though. Something like: /* fallthrough */ > diff --git a/plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java b/plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java > --- a/plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java > +++ b/plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* AppletSecurityContextManager TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > --- a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > +++ b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginCallRequestFactory TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginClassLoader.java b/plugin/icedteanp/java/sun/applet/PluginClassLoader.java > --- a/plugin/icedteanp/java/sun/applet/PluginClassLoader.java > +++ b/plugin/icedteanp/java/sun/applet/PluginClassLoader.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginClassLoader > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginDebug.java b/plugin/icedteanp/java/sun/applet/PluginDebug.java > --- a/plugin/icedteanp/java/sun/applet/PluginDebug.java > +++ b/plugin/icedteanp/java/sun/applet/PluginDebug.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginDebug TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginException.java b/plugin/icedteanp/java/sun/applet/PluginException.java > --- a/plugin/icedteanp/java/sun/applet/PluginException.java > +++ b/plugin/icedteanp/java/sun/applet/PluginException.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginException TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginMain.java b/plugin/icedteanp/java/sun/applet/PluginMain.java > --- a/plugin/icedteanp/java/sun/applet/PluginMain.java > +++ b/plugin/icedteanp/java/sun/applet/PluginMain.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginMain TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java > --- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java > +++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginMessageConsumer TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java > --- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java > +++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginMessageHandler TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* PluginStreamHandler > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > diff --git a/plugin/icedteanp/java/sun/applet/RequestQueue.java b/plugin/icedteanp/java/sun/applet/RequestQueue.java > --- a/plugin/icedteanp/java/sun/applet/RequestQueue.java > +++ b/plugin/icedteanp/java/sun/applet/RequestQueue.java > @@ -1,4 +1,4 @@ > -/* VoidPluginCallRequest -- represent Java-to-JavaScript requests > +/* RequestQueue TODO: describe this class > Copyright (C) 2008 Red Hat > > This file is part of IcedTea. > Could you actually fill in the TODOs befor commiting? Cheers, Omair From adinn at redhat.com Fri May 18 02:01:16 2012 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 18 May 2012 10:01:16 +0100 Subject: Thermostat 0.2 Released! In-Reply-To: References: Message-ID: <4FB60FDC.2070106@redhat.com> Hi Thermostatters, I tried building thermostat 0.2 (or rather the latest hg clone of the repo) yesterday and got an error from surefire when executing the agent tests. Details included below. regards, Andrew Dinn ----------- Here is the maven output ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- . . . Running com.redhat.thermostat.agent.config.AgentOptionParserTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 sec Running com.redhat.thermostat.backend.system.DistributionInformationTest Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec <<< FAILURE! Results : Failed tests: testName(com.redhat.thermostat.backend.system.DistributionInformationTest) testVersion(com.redhat.thermostat.backend.system.DistributionInformationTest) Tests run: 85, Failures: 2, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Thermostat ........................................ SUCCESS [6.154s] [INFO] Thermostat Common ................................. SUCCESS [17.301s] [INFO] Thermostat Agent .................................. FAILURE [4.588s] [INFO] Thermostat Client ................................. SKIPPED [INFO] Thermostat Client Core ............................ SKIPPED [INFO] Thermostat Client Launcher ........................ SKIPPED [INFO] Thermostat Client VmClassStat plugin .............. SKIPPED [INFO] Thermostat Example Client bundle .................. SKIPPED [INFO] Thermostat Process handler plugin ................. SKIPPED [INFO] Thermostat Client Terminate VM plugin ............. SKIPPED [INFO] Thermostat Tools .................................. SKIPPED [INFO] Thermostat Distribution ........................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 28.947s [INFO] Finished at: Fri May 18 09:50:44 BST 2012 [INFO] Final Memory: 31M/199M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project thermostat-agent: There are test failures. ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- The surefire .txt output for the offending test includes this ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- ------------------------------------------------------------------------------- Test set: com.redhat.thermostat.backend.system.DistributionInformationTest ------------------------------------------------------------------------------- Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec <<< FAILURE! testName(com.redhat.thermostat.backend.system.DistributionInformationTest) Time elapsed: 0.005 sec <<< FAILURE! java.lang.AssertionError at org.junit.Assert.fail(Assert.java:92) at org.junit.Assert.assertTrue(Assert.java:43) at org.junit.Assert.assertFalse(Assert.java:68) at org.junit.Assert.assertFalse(Assert.java:79) at com.redhat.thermostat.backend.system.DistributionInformationTest.testName(DistributionInformationTest.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) . . . ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- The corresponding code is ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- . . . 48 public void testName() { 49 if (TestUtils.isLinux()) { 50 DistributionInformation info = DistributionInformation.get(); 51 String name = info.getName(); 52 assertNotNull(name); 53 assertTrue(name.length() > 0); 54 assertFalse(name.startsWith(":")); 55 assertFalse(name.equals(DistributionInformation.UNKNOWN_NAME)); . . . ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- From jvanek at redhat.com Fri May 18 02:08:09 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 18 May 2012 11:08:09 +0200 Subject: [rfc] [icedtea-web] make links In-Reply-To: <20120517194222.GW21272@redhat.com> References: <73a2686d-0ecc-4f49-b2b2-89f669faaec7@zmail17.collab.prod.int.phx2.redhat.com> <4FAD0982.1010608@redhat.com> <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> <20120517190425.GU21272@redhat.com> <4FB54F07.7050308@redhat.com> <20120517191742.GV21272@redhat.com> <4FB55221.6010507@redhat.com> <20120517194222.GW21272@redhat.com> Message-ID: <4FB61179.4090508@redhat.com> On 05/17/2012 09:42 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-17 15:28]: >> On 05/17/2012 09:17 PM, Deepak Bhole wrote: >>> * Jiri Vanek [2012-05-17 15:15]: >>>> On 05/17/2012 09:04 PM, Deepak Bhole wrote: >>>>> * Jiri Vanek [2012-05-17 14:40]: >>>>>> On 05/17/2012 05:47 PM, Deepak Bhole wrote: >>>>>>> * Jiri Vanek [2012-05-17 04:25]: >>>>>>>> On 05/16/2012 06:58 PM, Deepak Bhole wrote: >>>>>>>>> * Jiri Vanek [2012-05-11 08:52]: >>>>>> ... >>>>>>>>>>> >>>>>>>>>>>>>> > 2. It's still expecting the plugin to be in >>>>>>>>>>>>>> > $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY), >>>>>>>>>>>>>> > the final install location. It needs to link to to the copy in the >>>>>>>>>>>>>> > build directory. >>>>>>>>>>>>> Hmm... I still believe I'm doing the correct thing. All Reproducers >>>>>>>>>>>>> tests are run against $(DESTDIR). >>>>>>>>>>> Then they are wrong too. I should be able to check it works before I >>>>>>>>>>> commit to installing it on my system. >>>>>>>>>> >>>>>>>>>> Well they are reproducers, they expect to be run on installed stuff. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Is it possible to make them run without installation at all? e.g. >>>>>>>>> firefox can be told to look for plugins elsewhere with MOZ_PLUGIN_PATH >>>>>>>> >>>>>>>> Yes. And even link from mozilla-fs can be easily targeted to >>>>>>>> builddir. It is not an blocker. There are two different issues: >>>>>>>> >>>>>>>> 1 - design) the concept is to test installed application >>>>>>>> 2 - implementation) [here I can be wrong, but I believe I'm not] >>>>>>>> inside javaws (not relevant but..) and inside IcedTeaPlugin.so are >>>>>>>> harcoded paths to installdir jars of netx. So To make it work form >>>>>>>> builddir I have to make build just for testing, what I believe is >>>>>>>> contra productive. So if I will link library from buildddir, it will >>>>>>>> still be necessary to have installed application (and so have jars >>>>>>>> in install dir where the so file is searching for them). I think >>>>>>>> that any hacking around to make it work is much worser then have >>>>>>>> installed application before reproducers runs. >>>>>>>> >>>>>>> >>>>>>> Can we do a fake install somewhere and run tests through there? My only >>>>>>> concern here is that if all I want to do is run tests, I am forced to >>>>>>> either consciously make sure I don't specify a system install prefix, or >>>>>>> to overwrite what is on the system already. >>>>>> >>>>>> Yes. Fake install is solution. Actually current solution :). >>>>>> I consider --prefix as best. It is doing exactly what we need without complications. >>>>>> Testsuite is then run again s prefixed installdir. >>>>>> >>>>> >>>>> Sorry, I am confused. >>>>> >>>>> --prefix? But so then aren't we back to the same problem of the user >>>>> having to remember to give a temp prefix if they want to 'make test' or >>>>> risk overwriting what is on the system?\ >>>> >>>> Yes we are. What do you think about stopping of testsuite in case that prefix will not be specified? >>>> But I'm confused to. Normal user will never run run-netx-dist-tests. This family of targets will be always run by someone who understand the stuff. And if not, it will not make any harm. I still do not understand why is it so evil to test installed application (as eg jtreg is dooing). >>>> >>> >>> Oh it is not evil. I have nothing against testing an installed >>> application. I just want to make sure that something as innocuous as >>> 'make test' is not going to nuke my system installation. >> >> Tests will definitely not! I also do not believe make links will do not harm. They are linking and unlinking correctly. And are linking correct stuff to correct place. Maybe I should run unlink* after each test run (but I dont like this idea)? Now the unlink is depending on make clean. But make links must be called manually, so there is no danger of being invoked by mistake. And if icedte-web is linked incorrectly there is test to catch it. >> > > What if something goes wrong during testing and it exits before > unlinking? The user system would be set to use the wrong plugin -- worse > yet, it could be without the user's knowledge. agree - but form this point of view I'm doing the best thing right now. make make check make install make links //must be run manually make run-netx-dist-tests //if links point to something not installed by this make install, then there is tests to catch this. If there are no correct links all browser tests will fail make unlink (or make clean) //make unlink *restores* previous configuration > > Cheers, > Deepak > >> J. >>> >>> Cheers, >>> Deepak >>> Looking forward for "whats going to happen" O:) J. >> From jvanek at redhat.com Fri May 18 02:15:11 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 18 May 2012 11:15:11 +0200 Subject: [RFC][icedtea-web] Fix for PR855: AppletStub getDocumentBase() doesn't return full URL In-Reply-To: <4FB56AA4.6080205@redhat.com> References: <4F2C425B.2040805@redhat.com> <20120416171814.GB14177@redhat.com> <4FB56AA4.6080205@redhat.com> Message-ID: <4FB6131F.50004@redhat.com> On 05/17/2012 11:16 PM, Danesh Dadachanji wrote: > > On 16/04/12 01:18 PM, Deepak Bhole wrote: >> * Danesh Dadachanji [2012-02-03 15:40]: >>> Hi, >>> >>> This patch is a fix for PR855[1]. The return of getDocumentBase() >>> currently doesn't include the HTML file. According to the docs, it >>> should return the entire path of the HTML, including the filename. >>> >>> Attached is a patch that adds this. I've checked all the traces of >>> the bytes grabbed from the pipe over on the java side. I believe I >>> covered every read and assignment of the buffer/vars setup from the >>> buffer and so on. We fortunately only ever used getDocumentBase()'s >>> return to grab the host IP or use it as a base URL. The latter code >>> grabbed the return and cut off everything after the last '/', which >>> back before patch is the entire URL, post patch is the URL excluding >>> the file name. >>> >>> Okay for HEAD? Thoughts on backporting to release branches? It was >>> reported against 1.1.3 but this is a pretty big change that >>> potentially affects the way users' applications behave. >>> >> >> Looking at the surrounding code, we are taking a URL, splitting it on >> "/" and then combining the first length-1 components. This was done to >> purposely remove the file name itself. >> >> However if we want to add the file name back, we should just remove all >> of the splitting/combing code rather than appending the last part. >> >> Have you tried using NPVARIANT_TO_STRING(href).utf8characters directly? >> > > Ah yes I wasn't paying attention to the surrounding code :S > > How's this look? I'd like to backport this to 1.2 as well. The reporter uses 1.1.3 though so perhaps > it should go into 1.1 too? Thoughts? > > Cheers, > Danesh Can we get also test for this? :( From jvanek at redhat.com Fri May 18 04:27:59 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 18 May 2012 13:27:59 +0200 Subject: [rfc] [icedtea-web] fix for PR811 In-Reply-To: <4FB501BE.2040501@redhat.com> References: <4FB3BBF0.2040404@redhat.com> <4FB3C113.30308@redhat.com> <4FB3D6D2.9010600@redhat.com> <4FB501BE.2040501@redhat.com> Message-ID: <4FB6323F.9050802@redhat.com> On 05/17/2012 03:48 PM, Pavel Tisnovsky wrote: > Jiri Vanek wrote: >> On 05/16/2012 05:00 PM, Pavel Tisnovsky wrote: ... >> >> So You are an voulnteer to review both fix and tests? Thanx a lot! But > > well I'll try! Below are my comments: > >> be very carefull. I'm afraid URL of resources is one of basic stones in >> netx. I have tried really a lot to figure what everything is affected by >> this change, and it looks like all. And there are dark corners in netx;) >> >> >> Thanx a lot again - J. >> all the indentations and typos should be fixed now > + StringBuilder composed = new StringBuilder(""); > > I'm not 100% sure about following code. At least it is IMHO better to > use characters instead of one-characters strings and refactor these > magical constants into final fields - PATH_SEPARATOR, QUERY_SEPARATOR etc. etc. Done. I have tasted a bit against strange characters and looks fine. I have also realized that I forgot to encode query. It is now done. > > Btw is it really working for all characters - ie. the ones outside of ASCII? > > + for (int i = 0; i< ss.length; i++) { > + > } 2012-05-18 Jiri Vanek More tests for Spaces and characters in urls * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: and * netx/net/sourceforge/jnlp/cache/CacheUtil.java: for unit-tests purposes (cacheDir) make to point to tmp dir when no DeploymentConfiguration exists. * tests/jnlp_tests/signed/Spaces can be everywhere signed/: couple of new test dooing the same as simple "Spaces can be everywhere" but are signed * tests/jnlp_tests/simple/Spaces can be everywhere/: added new test-cases and html/jnlp test files to try more combinations of encodable characters x launches * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: unittest for url encoder behavior * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: unittest for urlEquals function 2012-05-18 Jiri Vanek Fixed behavior when encoded/characters needed encoding included in url * NEWS: mentioned PR811 * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlEquals) Enhanced to be able compare encoded/decoded urls correctly. (notNullUrlEquals) new method to separate comparing of individual parts of url from null checks * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addResource) is now encoding url if needed. (normalizeUrl) new method to encode path in url of all except file protocol. (normalizeChunk) New method for encoding of atomic piece. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixed811-fix3.diff Type: text/x-patch Size: 8606 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120518/bb164c35/fixed811-fix3.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: fixed811-tests3.diff Type: text/x-patch Size: 57218 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120518/bb164c35/fixed811-tests3.diff From ptisnovs at icedtea.classpath.org Fri May 18 05:30:54 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 18 May 2012 12:30:54 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/framework/PrintTest.java: Message-ID: changeset 4e7e5cbdb27a in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=4e7e5cbdb27a author: Pavel Tisnovsky date: Fri May 18 14:33:30 2012 +0200 * src/org/gfxtest/framework/PrintTest.java: * src/org/gfxtest/testsuites/PrintTestBasic.java: Added new constant field, renamed other commond constant fields. * src/org/gfxtest/testsuites/PrintTestLines.java: Refactored - print test now use anonymous class which implements set of callback functions to make this test suite simpler. diffstat: ChangeLog | 9 + src/org/gfxtest/framework/PrintTest.java | 20 +- src/org/gfxtest/testsuites/PrintTestBasic.java | 4 +- src/org/gfxtest/testsuites/PrintTestLines.java | 451 +++++++++++++++++------- 4 files changed, 333 insertions(+), 151 deletions(-) diffs (truncated from 668 to 500 lines): diff -r a629c44369cf -r 4e7e5cbdb27a ChangeLog --- a/ChangeLog Thu May 17 14:43:44 2012 +0200 +++ b/ChangeLog Fri May 18 14:33:30 2012 +0200 @@ -1,3 +1,12 @@ +2012-05-18 Pavel Tisnovsky + + * src/org/gfxtest/framework/PrintTest.java: + * src/org/gfxtest/testsuites/PrintTestBasic.java: + Added new constant field, renamed other commond constant fields. + * src/org/gfxtest/testsuites/PrintTestLines.java: + Refactored - print test now use anonymous class which implements + set of callback functions to make this test suite simpler. + 2012-05-17 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingPathByRoundRectangleShape.java: diff -r a629c44369cf -r 4e7e5cbdb27a src/org/gfxtest/framework/PrintTest.java --- a/src/org/gfxtest/framework/PrintTest.java Thu May 17 14:43:44 2012 +0200 +++ b/src/org/gfxtest/framework/PrintTest.java Fri May 18 14:33:30 2012 +0200 @@ -53,25 +53,35 @@ * Maximum width of line rendered onto a paper. */ protected static final float MAX_STROKE_WIDTH = 15.0f; - + + /** + * Change of stroke width. + */ + protected static final float STROKE_WIDTH_DELTA = 0.5f; + /** * Border around the test picture. */ protected static final int BORDER = 10; - + /** * Offset between two circles. */ protected static final int CIRCLE_RADIUS_STEP = 10; - + /** * Horizontal distance between two lines. */ - protected static final int HOR_STEP = 10; + protected static final int HORIZONTAL_STEP = 10; /** * Vertical distance between two lines. */ - protected static final int VER_STEP = 10; + protected static final int VERTICAL_STEP = 10; + + /** + * Diagonal distance between two lines. + */ + protected static final int DIAGONAL_STEP = 16; } diff -r a629c44369cf -r 4e7e5cbdb27a src/org/gfxtest/testsuites/PrintTestBasic.java --- a/src/org/gfxtest/testsuites/PrintTestBasic.java Thu May 17 14:43:44 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestBasic.java Fri May 18 14:33:30 2012 +0200 @@ -138,7 +138,7 @@ int x2 = width; // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP) + for (int y = 0; y < height; y += VERTICAL_STEP) { graphics.drawLine(x1, y, x2, y); // compute new horizontal coordinates of line endpoints @@ -173,7 +173,7 @@ int y2 = height; // draw all lines onto a paper - for (int x = 0; x < width; x += HOR_STEP) + for (int x = 0; x < width; x += HORIZONTAL_STEP) { graphics.drawLine(x, y1, x, y2); // compute new vertical coordinates of line endpoints diff -r a629c44369cf -r 4e7e5cbdb27a src/org/gfxtest/testsuites/PrintTestLines.java --- a/src/org/gfxtest/testsuites/PrintTestLines.java Thu May 17 14:43:44 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestLines.java Fri May 18 14:33:30 2012 +0200 @@ -75,6 +75,125 @@ @Zoom(1) public class PrintTestLines extends PrintTest { + + /** + * Method which renders set of horizontal lines using various colors and + * stroke styles. For each line, the callback function/method is called to + * perform all required setup. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @param offset + * between two near lines + * @param horizontalLineDrawCallbacks + * class containing set of callback methods + */ + private void drawHorizontalLines(TestImage image, Graphics2D graphics, int verticalStep, HorizontalLineDrawCallbacks horizontalLineDrawCallbacks) + { + // setup rendering + horizontalLineDrawCallbacks.setup(image, graphics); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of line endpoints + final int x1 = BORDER; + final int x2 = width - BORDER; + + // index to color palette + int colorIndex = 0; + + // draw all lines onto a paper + for (int y = 0; y < height; y += verticalStep) + { + // setup can be made for each line + horizontalLineDrawCallbacks.iterationCallBack(y, colorIndex++); + // render the line + graphics.drawLine(x1, y, x2, y); + } + // cleanup rendering + horizontalLineDrawCallbacks.cleanup(); + } + + /** + * Method which renders set of vertical lines using various colors and + * stroke styles. For each line, the callback function/method is called to + * perform all required setup. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @param verticalLineDrawCallbacks + * class containing set of callback methods + */ + private void drawVerticalLines(TestImage image, Graphics2D graphics, VerticalLineDrawCallbacks verticalLineDrawCallbacks) + { + } + + /** + * Method which renders set of diagonal lines using various colors and + * stroke styles. For each line, the callback function/method is called to + * perform all required setup. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @param diagonalLineDrawCallbacks + * class containing set of callback methods + */ + private void drawDiagonalLines(TestImage image, Graphics2D graphics, DiagonalLineDrawCallbacks diagonalLineDrawCallbacks) + { + // setup rendering + diagonalLineDrawCallbacks.setup(image, graphics); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // length of the "path" + final int length = width + height; + + // coordinates of the first line + int x1 = BORDER; + int y1 = BORDER; + int x2 = BORDER; + int y2 = BORDER; + + int index = 0; + + // draw all lines onto a paper + for (int d = 0; d < length; d += DIAGONAL_STEP) + { + if (x1 < width - BORDER) + { + x1 += DIAGONAL_STEP; + } + else + { + y1 += DIAGONAL_STEP; + } + if (y2 < height - BORDER) + { + y2 += DIAGONAL_STEP; + } + else + { + x2 += DIAGONAL_STEP; + } + // setup can be made for each line + diagonalLineDrawCallbacks.iterationCallBack(length, index++); + // render the line + graphics.drawLine(x1, y1, x2, y2); + } + // cleanup rendering + diagonalLineDrawCallbacks.cleanup(); + } + /** * Test basic behavior of method Graphics.drawLine(). Horizontal lines are * rendered with default width and default end caps. Color of all rendered @@ -88,23 +207,14 @@ */ public TestResult testDrawHorizontalLinesBasicStyle(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP) + drawHorizontalLines(image, graphics, VERTICAL_STEP, new HorizontalLineDrawCallbacks() { - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + return; + } + }); // test return value return TestResult.PASSED; @@ -123,28 +233,16 @@ */ public TestResult testDrawHorizontalLinesColorPalette(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - - // index to color palette - int colorIndex = 0; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP) + drawHorizontalLines(image, graphics, VERTICAL_STEP, new HorizontalLineDrawCallbacks() { - // set line color - graphics.setColor(ColorPalette.getColor(colorIndex++)); - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + // set line color + this.graphics.setColor(ColorPalette.getColor(index)); + return; + } + }); // test return value return TestResult.PASSED; @@ -163,26 +261,16 @@ */ public TestResult testDrawHorizontalLinesGrayScale(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP) + drawHorizontalLines(image, graphics, VERTICAL_STEP, new HorizontalLineDrawCallbacks() { - float gray = y * 1.0f / height; - // set line color - graphics.setColor(GrayscalePalette.createGrayscaleColor(gray)); - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + float gray = y * 1.0f / this.image.getHeight(); + // set line color + this.graphics.setColor(GrayscalePalette.createGrayscaleColor(gray)); + } + }); // test return value return TestResult.PASSED; @@ -201,28 +289,20 @@ */ public TestResult testDrawHorizontalLinesChangeWidth(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + // stroke width + float strokeWidth = 0.0f; - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - - // stroke width - float strokeWidth = 0.0f; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP * 2) - { - graphics.setStroke(new BasicStroke(strokeWidth)); - strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); // test return value return TestResult.PASSED; @@ -231,6 +311,7 @@ /** * Test basic behavior of method Graphics.drawLine(). * Horizontal lines are rendered with various width and end caps set to CAP_BUTT. + * Join style is set bevel style. * Color of all rendered lines are set to black. * * @param image @@ -239,28 +320,22 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testDrawHorizontalLinesChangeWidthCapButt(TestImage image, Graphics2D graphics) + public TestResult testDrawHorizontalLinesChangeWidthCapButtJoinBevel(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + // stroke width + float strokeWidth = 0.0f; - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - float strokeWidth = 0.0f; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP * 2) - { - graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); - strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); // test return value return TestResult.PASSED; @@ -277,28 +352,22 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testDrawHorizontalLinesChangeWidthCapRound(TestImage image, Graphics2D graphics) + public TestResult testDrawHorizontalLinesChangeWidthCapRoundJoinBevel(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + // stroke width + float strokeWidth = 0.0f; - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - float strokeWidth = 0.0f; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP * 2) - { - graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); - strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); // test return value return TestResult.PASSED; @@ -315,28 +384,22 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testDrawHorizontalLinesChangeWidthCapSquare(TestImage image, Graphics2D graphics) + public TestResult testDrawHorizontalLinesChangeWidthCapSquareJoinBevel(TestImage image, Graphics2D graphics) { - // set drawing color - graphics.setColor(Color.BLACK); + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + // stroke width + float strokeWidth = 0.0f; - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int x1 = BORDER; - final int x2 = width - BORDER; - float strokeWidth = 0.0f; - - // draw all lines onto a paper - for (int y = 0; y < height; y += VER_STEP * 2) - { - graphics.setStroke(new BasicStroke(strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL)); - strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; - // render the line - graphics.drawLine(x1, y, x2, y); - } + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); // test return value return TestResult.PASSED; @@ -367,7 +430,7 @@ final int y2 = height - BORDER; // draw all lines onto a paper - for (int x = 0; x < width; x += HOR_STEP) + for (int x = 0; x < width; x += HORIZONTAL_STEP) From dbhole at redhat.com Fri May 18 06:16:43 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 18 May 2012 09:16:43 -0400 Subject: [rfc] [icedtea-web] make links In-Reply-To: <4FB61179.4090508@redhat.com> References: <20120516165852.GK21272@redhat.com> <4FB4B60C.1060705@redhat.com> <20120517154741.GS21272@redhat.com> <4FB546D9.7090203@redhat.com> <20120517190425.GU21272@redhat.com> <4FB54F07.7050308@redhat.com> <20120517191742.GV21272@redhat.com> <4FB55221.6010507@redhat.com> <20120517194222.GW21272@redhat.com> <4FB61179.4090508@redhat.com> Message-ID: <20120518131642.GC21272@redhat.com> * Jiri Vanek [2012-05-18 05:07]: > On 05/17/2012 09:42 PM, Deepak Bhole wrote: ... ... > > > >What if something goes wrong during testing and it exits before > >unlinking? The user system would be set to use the wrong plugin -- worse > >yet, it could be without the user's knowledge. > > agree - but form this point of view I'm doing the best thing right now. > > make > make check > make install > make links //must be run manually > make run-netx-dist-tests //if links point to something not > installed by this make install, then there is tests to catch this. > If there are no correct links all browser tests will fail > make unlink (or make clean) //make unlink *restores* previous configuration > Ah, so something common like make test will never accidentally run it. Okay, then I have no objections to this approach. Cheers, Deepak > > > >Cheers, > >Deepak > > > >>J. > >>> > >>>Cheers, > >>>Deepak > >>> > Looking forward for "whats going to happen" O:) > J. > >> > From omajid at redhat.com Fri May 18 06:19:57 2012 From: omajid at redhat.com (Omair Majid) Date: Fri, 18 May 2012 09:19:57 -0400 Subject: Removal of two instances of synchronization on Boolean In-Reply-To: <1337286496.10504.10.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337283490.10504.5.camel@voip-10-15-18-79.yyz.redhat.com> <4FB555F1.60800@redhat.com> <1337286496.10504.10.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FB64C7D.1060408@redhat.com> On 05/17/2012 04:28 PM, Adam Domurad wrote: > Thanks. The adjusted patch is attached. Also, for the subject of another > patch I'm working on, does the comment at the top of the file suggest > the class is named VoidPluginCallRequest or is it just me ? The updated patch looks fine to me. I guess the comment's there because someone just copy-pasted the header and forgot to read what it says. Cheers, Omair From adomurad at icedtea.classpath.org Fri May 18 06:27:30 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Fri, 18 May 2012 13:27:30 +0000 Subject: /hg/icedtea-web: Removal of synchronization on Boolean in Plugin... Message-ID: changeset b67e12ff7837 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b67e12ff7837 author: Adam Domurad date: Fri May 18 09:27:24 2012 -0400 Removal of synchronization on Boolean in PluginStreamHandler. Synchronization on Boolean is dangerous and was unnecessary in this context. As well, the Boolean flag that was being used during shut down was changed to a volatile boolean so changes could be seen without synchronization. diffstat: plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diffs (36 lines): diff -r 7151720a2f5b -r b67e12ff7837 plugin/icedteanp/java/sun/applet/PluginStreamHandler.java --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Thu May 17 14:14:03 2012 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Fri May 18 09:27:24 2012 -0400 @@ -59,7 +59,7 @@ private JavaConsole console = new JavaConsole(); private PluginMessageConsumer consumer; - private Boolean shuttingDown = false; + private volatile boolean shuttingDown = false; public PluginStreamHandler(InputStream inputstream, OutputStream outputstream) @@ -322,9 +322,7 @@ PluginDebug.debug(" PIPE: appletviewer read: ", message); if (message == null || message.equals("shutdown")) { - synchronized (shuttingDown) { - shuttingDown = true; - } + shuttingDown = true; try { // Close input/output channels to plugin. pluginInputReader.close(); @@ -362,10 +360,8 @@ } catch (IOException e) { // if we are shutting down, ignore write failures as // pipe may have closed - synchronized (shuttingDown) { - if (!shuttingDown) { - e.printStackTrace(); - } + if (!shuttingDown) { + e.printStackTrace(); } // either ways, if the pipe is broken, there is nothing From ptisnovs at redhat.com Fri May 18 06:34:42 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 18 May 2012 15:34:42 +0200 Subject: [rfc] [icedtea-web] fix for PR811 In-Reply-To: <4FB6323F.9050802@redhat.com> References: <4FB3BBF0.2040404@redhat.com> <4FB3C113.30308@redhat.com> <4FB3D6D2.9010600@redhat.com> <4FB501BE.2040501@redhat.com> <4FB6323F.9050802@redhat.com> Message-ID: <4FB64FF2.6090902@redhat.com> Hi Jiri, the icedtea-web patch (w/o tests): it think it's ok, but please fix this typo in a comment: sielnt -> silent Personally I'd rather to rewrite notNullUrlEquals() method not to use if-then-else blocks at all (you can directly return the return value of the expression) but it's just a personal feeling ;-) the test patch: I'm not sure if following lines are ok in case of JDK7: + System.out.println("connecting NotOnly spaces can kill ?????????? too.jnlp request"); + System.err.println("connecting NotOnly spaces can kill ?????????? too.jnlp request"); Cheers, Pavel Jiri Vanek wrote: > On 05/17/2012 03:48 PM, Pavel Tisnovsky wrote: >> Jiri Vanek wrote: >>> On 05/16/2012 05:00 PM, Pavel Tisnovsky wrote: > ... >>> >>> So You are an voulnteer to review both fix and tests? Thanx a lot! But >> >> well I'll try! Below are my comments: >> >>> be very carefull. I'm afraid URL of resources is one of basic stones in >>> netx. I have tried really a lot to figure what everything is affected by >>> this change, and it looks like all. And there are dark corners in netx;) >>> >>> >>> Thanx a lot again - J. >>> > > all the indentations and typos should be fixed now > >> + StringBuilder composed = new StringBuilder(""); >> >> I'm not 100% sure about following code. At least it is IMHO better to >> use characters instead of one-characters strings and refactor these >> magical constants into final fields - PATH_SEPARATOR, QUERY_SEPARATOR >> etc. etc. > > Done. I have tasted a bit against strange characters and looks fine. > I have also realized that I forgot to encode query. It is now done. > >> >> Btw is it really working for all characters - ie. the ones outside of >> ASCII? >> >> + for (int i = 0; i< ss.length; i++) { >> + >> } > > 2012-05-18 Jiri Vanek > > More tests for Spaces and characters in urls > * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: and > * netx/net/sourceforge/jnlp/cache/CacheUtil.java: for unit-tests > purposes (cacheDir) make to point to tmp dir when no > DeploymentConfiguration exists. > * tests/jnlp_tests/signed/Spaces can be everywhere signed/: > couple of new test dooing the same as simple "Spaces can be everywhere" > but are signed > * tests/jnlp_tests/simple/Spaces can be everywhere/: added new > test-cases > and html/jnlp test files to try more combinations of encodable > characters > x launches > * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: > unittest for url encoder behavior > * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: > unittest for urlEquals function > > > 2012-05-18 Jiri Vanek > > Fixed behavior when encoded/characters needed encoding included in url > * NEWS: mentioned PR811 > * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlEquals) Enhanced > to be able compare encoded/decoded urls correctly. > (notNullUrlEquals) new method to separate comparing of individual > parts of > url from null checks > * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addResource) > is now encoding url if needed. (normalizeUrl) new method to encode > path in > url of all except file protocol. (normalizeChunk) New method for > encoding > of atomic piece. > From jvanek at icedtea.classpath.org Fri May 18 07:23:27 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 18 May 2012 14:23:27 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset bcaec1cfd8f2 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bcaec1cfd8f2 author: Jiri Vanek date: Fri May 18 16:18:29 2012 +0200 More tests for Spaces and characters in urls changeset 3d01ef4139f4 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=3d01ef4139f4 author: Jiri Vanek date: Fri May 18 16:23:30 2012 +0200 Fixed behavior when encoded/characters needed encoding included in url (PR811) diffstat: ChangeLog | 31 + NEWS | 1 + netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 4 +- netx/net/sourceforge/jnlp/cache/CacheUtil.java | 42 +- netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 128 ++++- tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ?????????? too signed.jnlp | 61 ++ tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp | 53 + tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp | 53 + tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp | 53 + tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html | 42 + tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java | 76 ++ tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java | 289 ++++++++++ tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ?????????? too.jnlp | 61 ++ tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html | 42 + tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java | 35 +- tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java | 132 ++++- tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java | 55 + tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java | 98 +++ 18 files changed, 1239 insertions(+), 17 deletions(-) diffs (truncated from 1434 to 500 lines): diff -r b67e12ff7837 -r 3d01ef4139f4 ChangeLog --- a/ChangeLog Fri May 18 09:27:24 2012 -0400 +++ b/ChangeLog Fri May 18 16:23:30 2012 +0200 @@ -1,3 +1,34 @@ +2012-05-18 Jiri Vanek + + Fixed behavior when encoded/characters needed encoding included in url + * NEWS: mentioned PR811 + * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlEquals) Enhanced + to be able compare encoded/decoded urls correctly. + (notNullUrlEquals) new method to separate comparing of individual parts of + url from null checks + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addResource) + is now encoding url if needed. (normalizeUrl) new method to encode path in + url of all except file protocol. (normalizeChunk) New method for encoding + of atomic piece. + +2012-05-18 Jiri Vanek + + More tests for Spaces and characters in urls + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: and + * netx/net/sourceforge/jnlp/cache/CacheUtil.java: for unit-tests + purposes (cacheDir) make to point to tmp dir when no + DeploymentConfiguration exists. + * tests/jnlp_tests/signed/Spaces can be everywhere signed/: + couple of new test doing the same as simple "Spaces can be everywhere" + but are signed + * tests/jnlp_tests/simple/Spaces can be everywhere/: added new test-cases + and html/jnlp test files to try more combinations of encodable characters + x launches + * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: + unittest for url encoder behavior + * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: + unittest for urlEquals function + 2012-05-17 Adam Domurad Fixed uses of == to compare String objects to .equals where diff -r b67e12ff7837 -r 3d01ef4139f4 NEWS --- a/NEWS Fri May 18 09:27:24 2012 -0400 +++ b/NEWS Fri May 18 16:23:30 2012 +0200 @@ -11,6 +11,7 @@ New in release 1.3 (2012-XX-XX): * NetX - PR898: signed applications with big jnlp-file doesn't start (webstart affect like "frozen") + - PR811: javaws is not handling urls with spaces (and other characters needing encoding) correctly * Plugin - PR820: IcedTea-Web 1.1.3 crashing Firefox when loading Citrix XenApp - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass diff -r b67e12ff7837 -r 3d01ef4139f4 netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Fri May 18 09:27:24 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Fri May 18 16:23:30 2012 +0200 @@ -71,8 +71,8 @@ private FileLock fl = null; /* location of cache directory */ - private final String cacheDir = new File(JNLPRuntime.getConfiguration() - .getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR)).getPath(); + private final String setCachePath = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); + private final String cacheDir = new File(setCachePath != null ? setCachePath : System.getProperty("java.io.tmpdir")).getPath(); /* * back-end of how LRU is implemented This file is to keep track of the most diff -r b67e12ff7837 -r 3d01ef4139f4 netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri May 18 09:27:24 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri May 18 16:23:30 2012 +0200 @@ -47,8 +47,8 @@ */ public class CacheUtil { - private static final String cacheDir = new File(JNLPRuntime.getConfiguration() - .getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR)).getPath(); // Do this with file to standardize it. + private static final String setCacheDir = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); + private static final String cacheDir = new File(setCacheDir != null ? setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // Do this with file to standardize it. private static final CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); private static final HashMap propertiesLockPool = new HashMap(); @@ -61,22 +61,40 @@ * ie sourceforge.net and www.sourceforge.net). */ public static boolean urlEquals(URL u1, URL u2) { - if (u1 == u2) + if (u1 == u2) { return true; - if (u1 == null || u2 == null) + } + if (u1 == null || u2 == null) { return false; + } - if (!compare(u1.getProtocol(), u2.getProtocol(), true) || - !compare(u1.getHost(), u2.getHost(), true) || - //u1.getDefaultPort() != u2.getDefaultPort() || // only in 1.4 - !compare(u1.getPath(), u2.getPath(), false) || - !compare(u1.getQuery(), u2.getQuery(), false) || - !compare(u1.getRef(), u2.getRef(), false)) - return false; - else + if (notNullUrlEquals(u1, u2)) { return true; + } + try { + URL nu1 = ResourceTracker.normalizeUrl(u1, false); + URL nu2 = ResourceTracker.normalizeUrl(u2, false); + if (notNullUrlEquals(nu1, nu2)) { + return true; + } + } catch (Exception ex) { + //keep silent here and return false + } + return false; } + private static boolean notNullUrlEquals(URL u1, URL u2) { + if (!compare(u1.getProtocol(), u2.getProtocol(), true) + || !compare(u1.getHost(), u2.getHost(), true) + || //u1.getDefaultPort() != u2.getDefaultPort() || // only in 1.4 + !compare(u1.getPath(), u2.getPath(), false) + || !compare(u1.getQuery(), u2.getQuery(), false) + || !compare(u1.getRef(), u2.getRef(), false)) { + return false; + } else { + return true; + } + } /** * Caches a resource and returns a URL for it in the cache; * blocks until resource is cached. If the resource location is diff -r b67e12ff7837 -r 3d01ef4139f4 netx/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Fri May 18 09:27:24 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Fri May 18 16:23:30 2012 +0200 @@ -24,10 +24,13 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; +import java.net.URLDecoder; +import java.net.URLEncoder; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; @@ -108,6 +111,15 @@ private static final int ERROR = Resource.ERROR; private static final int STARTED = Resource.STARTED; + // normalization of url + private static final char PATH_DELIMITER_MARK = '/'; + private static final String PATH_DELIMITER = "" + PATH_DELIMITER_MARK; + private static final char QUERY_DELIMITER_MARK = '&'; + private static final String QUERY_DELIMITER = "" + QUERY_DELIMITER_MARK; + private static final char QUERY_MARK = '?'; + private static final char HREF_MARK = '#'; + private static final String UTF8 = "utf-8"; + /** max threads */ private static final int maxThreads = 5; @@ -173,7 +185,12 @@ public void addResource(URL location, Version version, DownloadOptions options, UpdatePolicy updatePolicy) { if (location == null) throw new IllegalArgumentException("location==null"); - + try { + location = normalizeUrl(location, JNLPRuntime.isDebug()); + } catch (Exception ex) { + System.err.println("Normalization of " + location.toString() + " have failed"); + ex.printStackTrace(); + } Resource resource = Resource.getResource(location, version, updatePolicy); boolean downloaded = false; @@ -1127,4 +1144,113 @@ } }; + private static String normalizeChunk(String base, boolean debug) throws UnsupportedEncodingException { + if (base == null) { + return base; + } + if ("".equals(base)) { + return base; + } + String result = base; + String ssE = URLDecoder.decode(base, UTF8); + // System.out.println("*" + base + "*"); + // System.out.println("-" + ssE + "-"); + if (base.equals(ssE)) { + result = URLEncoder.encode(base, UTF8); + if (debug) { + System.out.println(base + " chunk needs to be encoded => " + result); + } + } else { + if (debug) { + System.out.println(base + " chunk already encoded"); + } + } + return result; + } + + public static URL normalizeUrl(URL u, boolean debug) throws MalformedURLException, UnsupportedEncodingException { + if (u == null) { + return null; + } + String protocol = u.getProtocol(); + if (protocol == null || "file".equals(protocol)) { + return u; + } + String file = u.getPath(); + if (file == null) { + return u; + } + String host = u.getHost(); + String ref = u.getRef(); + int port = u.getPort(); + String query = u.getQuery(); + String[] qq = {}; + if (query != null) { + qq = query.split(QUERY_DELIMITER); + } + String[] ss = file.split(PATH_DELIMITER); + int normalized = 0; + if (debug) { + System.out.println("normalizing path " + file + " in " + u.toString()); + } + for (int i = 0; i < ss.length; i++) { + String base = ss[i]; + String r = normalizeChunk(base, debug); + if (!r.equals(ss[i])) { + normalized++; + } + ss[i] = r; + } + if (debug) { + System.out.println("normalizing query " + query + " in " + u.toString()); + } + for (int i = 0; i < qq.length; i++) { + String base = qq[i]; + String r = normalizeChunk(base, debug); + if (!r.equals(qq[i])) { + normalized++; + } + qq[i] = r; + } + if (normalized == 0) { + if (debug) { + System.out.println("Nothing was normalized in this url"); + } + return u; + } else { + System.out.println(normalized + " chunks normalized, rejoining url"); + } + StringBuilder composed = new StringBuilder(""); + for (int i = 0; i < ss.length; i++) { + String string = ss[i]; + if (ss.length <= 1 || (string != null && !"".equals(string))) { + composed.append(PATH_DELIMITER_MARK).append(string); + } + } + String composed1 = composed.toString(); + if (query != null && !query.trim().equals("")) { + composed.append(QUERY_MARK); + for (int i = 0; i < qq.length; i++) { + String string = qq[i]; + if ((string != null && !"".equals(string))) { + composed.append(string); + if (i != qq.length - 1) { + composed.append(QUERY_DELIMITER_MARK); + } + } + } + } + String composed2 = composed.substring(composed1.length() - 1); + if (ref != null && !ref.trim().equals("")) { + composed.append(HREF_MARK).append(ref); + } + + URL result = new URL(protocol, host, port, composed.toString()); + + if (debug) { + System.out.println("normalized `" + composed1 + "` and `" + composed2 + "` in " + result.toString()); + } + return result; + + } } diff -r b67e12ff7837 -r 3d01ef4139f4 tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ?????????? too signed.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ?????????? too signed.jnlp Fri May 18 16:23:30 2012 +0200 @@ -0,0 +1,61 @@ + + + + + Spaces can be everywhere test with few more chars for encoding signed + IcedTea + + AppletTest + + + + + + + + + + + + diff -r b67e12ff7837 -r 3d01ef4139f4 tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp Fri May 18 16:23:30 2012 +0200 @@ -0,0 +1,53 @@ + + + + + Spaces can be everywhere1 signed + IcedTea + + Spaces can be everywhere1 signed + + + + + + + + + diff -r b67e12ff7837 -r 3d01ef4139f4 tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp Fri May 18 16:23:30 2012 +0200 @@ -0,0 +1,53 @@ + + + + + Spaces can be everywhere2 + IcedTea + + Spaces can be everywhere2 signed + + + + + + + + + diff -r b67e12ff7837 -r 3d01ef4139f4 tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp Fri May 18 16:23:30 2012 +0200 @@ -0,0 +1,53 @@ + http://icedtea.classpath.org/bugzilla/attachment.cgi?id=692&action=edit Heap requirements on x86_64 Building IcedTea7 using IcedTea6 CACAO fails with "The system is out of resources" [1]. Increasing heap size allows to build IcedTea7. Gentoo Linux is using CACAO on ppc/ppc64 for IcedTea6. This bug prevents the default upgrade path to IcedTea7. According to a user increasing to 1024m for corba was sufficent on 32bit ppc[2]. To build IcedTea7 using IcedTea6 CACAO on x86_64 I had to further increase max heap size in various places. See attached patch. [1] https://bugs.gentoo.org/show_bug.cgi?id=416481 [2] https://bugs.gentoo.org/attachment.cgi?id=312183 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120521/54ccbb23/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 21 12:36:40 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 21 May 2012 19:36:40 +0000 Subject: [Bug 817] IcedTea7-2.0 fails to build on PaX enabled kernels. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=817 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.2 --- Comment #5 from Andrew John Hughes --- The patch from Gentoo is now in the IcedTea7 HEAD tree. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120521/b9a788bb/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 21 12:37:01 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 21 May 2012 19:37:01 +0000 Subject: [Bug 817] IcedTea7-2.0 fails to build on PaX enabled kernels. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=817 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120521/a57b31a9/attachment.html From ptisnovs at redhat.com Tue May 22 01:58:00 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 22 May 2012 10:58:00 +0200 Subject: [fyi][icedtea-web] adding midori and epiphany into family of tested browsers In-Reply-To: <4FBA7618.5030103@redhat.com> References: <4FBA7618.5030103@redhat.com> Message-ID: <4FBB5518.3040109@redhat.com> Jiri Vanek wrote: > I have been asked by brno-desktop member if we can run testsuite also > against gtk browsers. This patch is ensuring that they are properly > detected and send to engine. > Also I have extracted several repeating parts to variables. > > Ok for head? > Hi Jiri, this enhancement and refactoring looks good. I think it's a better solution to have a set of "Mozilla-like" browsers listed on one line and not spread over a whole Makefile.am. Thanks, Pavel From jvanek at redhat.com Tue May 22 03:01:59 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 12:01:59 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 Message-ID: <4FBB6417.80800@redhat.com> Hi! As I mentioned yesterday on java team the test are failing on openjdk7 because of changed exception message. This patch is fixing it. This was already spotted once and I used the solution reviewed by Danesh (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017540.html thread) Test are now passing both jdk. 2012-05-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: * tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: * tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: * tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: * tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: * tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: * tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: * tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: All exact matches upon AccessControlException replaced by regular expression matching both jdk7 and jdk6 syntax -------------- next part -------------- A non-text attachment was scrubbed... Name: fixedReproducersForJdk7.diff Type: text/x-patch Size: 14179 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/df149016/fixedReproducersForJdk7.diff From ptisnovs at icedtea.classpath.org Tue May 22 03:01:08 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 22 May 2012 10:01:08 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestCircles.java: Message-ID: changeset 9d3dfd9343a9 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=9d3dfd9343a9 author: Pavel Tisnovsky date: Tue May 22 12:03:36 2012 +0200 * src/org/gfxtest/testsuites/PrintTestCircles.java: Refactored - print test now use anonymous class which implements set of callback functions to make this test suite simpler. diffstat: ChangeLog | 6 + src/org/gfxtest/testsuites/PrintTestCircles.java | 335 +++++++++++++--------- 2 files changed, 208 insertions(+), 133 deletions(-) diffs (412 lines): diff -r 4b394a083c4d -r 9d3dfd9343a9 ChangeLog --- a/ChangeLog Mon May 21 11:26:43 2012 +0200 +++ b/ChangeLog Tue May 22 12:03:36 2012 +0200 @@ -1,3 +1,9 @@ +2012-05-22 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestCircles.java: + Refactored - print test now use anonymous class which implements + set of callback functions to make this test suite simpler. + 2012-05-21 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestLines.java: diff -r 4b394a083c4d -r 9d3dfd9343a9 src/org/gfxtest/testsuites/PrintTestCircles.java --- a/src/org/gfxtest/testsuites/PrintTestCircles.java Mon May 21 11:26:43 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestCircles.java Tue May 22 12:03:36 2012 +0200 @@ -77,6 +77,52 @@ { /** + * Method which renders set of circles using various colors and + * stroke styles. For each circle, the callback function/method is called to + * perform all required setup. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @param radiusStep + * between two near circles + * @param circleDrawCallback + * class containing set of callback methods + */ + private void drawCircle(TestImage image, Graphics2D graphics2d, int radiusStep, CommonCircleDrawCallbacks circleDrawCallback) + { + // setup rendering + circleDrawCallback.setup(image, graphics2d); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of circle center + final int xc = width >> 1; + final int yc = height >> 1; + + // maximum radius + final int maxRadius = Math.min(width, height) - BORDER; + + // index to color palette + int colorIndex = 0; + + // draw all circles onto a paper + for (int radius = MINIMUM_RADIUS; radius < maxRadius; radius += radiusStep) + { + // setup can be made for each circle + circleDrawCallback.iterationCallBack(xc, yc, radius, maxRadius, colorIndex++); + // render the circle + graphics2d.drawOval(xc - radius, yc - radius, radius << 1, radius << 1); + } + + // cleanup rendering + circleDrawCallback.cleanup(); + } + + /** * Test basic behavior of method Graphics.drawOval(). * Color of all rendered circles are set to black. * @@ -88,26 +134,18 @@ */ public TestResult testDrawCircleBasicStyle(TestImage image, Graphics2D graphics2d) { - // set drawing color - graphics2d.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int xc = width >> 1; - final int yc = height >> 1; - - // max. radius - final int maxRadius = Math.min(width, height) - BORDER; - - // draw all circles onto a paper - for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP, new CommonCircleDrawCallbacks() { - // render the circle - graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); - } + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + // nothing need to be changed + return; + } + }); // test return value return TestResult.PASSED; @@ -125,31 +163,19 @@ */ public TestResult testDrawCircleColorPalette(TestImage image, Graphics2D graphics2d) { - // set drawing color - graphics2d.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int xc = width >> 1; - final int yc = height >> 1; - - // max. radius - final int maxRadius = Math.min(width, height) - BORDER; - - // index to color palette - int colorIndex = 0; - - // draw all circles onto a paper - for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP, new CommonCircleDrawCallbacks() { - // set circle color - graphics2d.setColor(ColorPalette.getColor(colorIndex++)); - // render the circle - graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); - } + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + // set circle color + this.graphics.setColor(ColorPalette.getColor(index)); + return; + } + }); // test return value return TestResult.PASSED; @@ -167,29 +193,21 @@ */ public TestResult testDrawCircleGrayScale(TestImage image, Graphics2D graphics2d) { - // set drawing color - graphics2d.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int xc = width >> 1; - final int yc = height >> 1; - - // max. radius - final int maxRadius = Math.min(width, height) - BORDER; - - // draw all circles onto a paper - for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP, new CommonCircleDrawCallbacks() { - float gray = r * 1.0f / maxRadius; - // set circle color - graphics2d.setColor(GrayscalePalette.createGrayscaleColor(gray)); - // render the circle - graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); - } + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + // compute grayscale value + float gray = radius * 1.0f / maxRadius; + // set circle color + this.graphics.setColor(GrayscalePalette.createGrayscaleColor(gray)); + return; + } + }); // test return value return TestResult.PASSED; @@ -207,29 +225,21 @@ */ public TestResult testDrawCircleGrayScaleInv(TestImage image, Graphics2D graphics2d) { - // set drawing color - graphics2d.setColor(Color.BLACK); - - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); - - // horizontal coordinates of line endpoints - final int xc = width >> 1; - final int yc = height >> 1; - - // max. radius - final int maxRadius = Math.min(width, height) - BORDER; - - // draw all circles onto a paper - for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP) + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP, new CommonCircleDrawCallbacks() { - float gray = 1.0f - r * 1.0f / maxRadius; - // set circle color - graphics2d.setColor(GrayscalePalette.createGrayscaleColor(gray)); - // render the circle - graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); - } + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + // compute grayscale value + float gray = 1.0f - radius * 1.0f / maxRadius; + // set circle color + this.graphics.setColor(GrayscalePalette.createGrayscaleColor(gray)); + return; + } + }); // test return value return TestResult.PASSED; @@ -248,31 +258,29 @@ */ public TestResult testDrawCircleChangeWidth(TestImage image, Graphics2D graphics2d) { - // set drawing color - graphics2d.setColor(Color.BLACK); + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth)); + changeStrokeWidth(); + return; + } - // horizontal coordinates of line endpoints - final int xc = width >> 1; - final int yc = height >> 1; - - // stroke width - float strokeWidth = 0.0f; - - // max. radius - final int maxRadius = Math.min(width, height) - BORDER; - - // draw all circles onto a paper - for (int r = 10; r < maxRadius; r += CIRCLE_RADIUS_STEP * 2) - { - graphics2d.setStroke(new BasicStroke(strokeWidth)); - strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; - // render the circle - graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); - } + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); // test return value return TestResult.PASSED; @@ -291,31 +299,34 @@ */ public TestResult testDrawCircleChangeWidthInv(TestImage image, Graphics2D graphics2d) { - // set drawing color - graphics2d.setColor(Color.BLACK); + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = MAX_STROKE_WIDTH - 2; - // image width and height - final int width = image.getWidth(); - final int height = image.getHeight(); + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth)); + changeStrokeWidth(); + return; + } - // horizontal coordinates of line endpoints - final int xc = width >> 1; - final int yc = height >> 1; - - // stroke width - float strokeWidth = 0.0f; - - // max. radius - final int maxRadius = Math.min(width, height) - BORDER; - - // draw all circles onto a paper - for (int r = maxRadius; r > 10; r -= CIRCLE_RADIUS_STEP * 2) - { - graphics2d.setStroke(new BasicStroke(strokeWidth)); - strokeWidth = strokeWidth < MAX_STROKE_WIDTH ? strokeWidth + 0.5f : strokeWidth; - // render the circle - graphics2d.drawOval(xc - r, yc - r, r << 1, r << 1); - } + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth -= 0.5f; + // stroke width should not be less than zero + if (this.strokeWidth < 0.0f) + { + this.strokeWidth = 0.0f; + } + } + }); // test return value return TestResult.PASSED; @@ -332,3 +343,61 @@ new PrintTestCircles().runTestSuite(args); } } + +/** + * Class representing set of callback methods called for each rendered circle. + * + * @author Pavel Tisnovsky + */ +abstract class CommonCircleDrawCallbacks +{ + /** + * Image to which circles are to be drawn. + */ + protected TestImage image; + + /** + * Graphics canvas. + */ + protected Graphics2D graphics; + + /** + * Setup phase. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + */ + public void setup(TestImage image, Graphics2D graphics) + { + this.image = image; + this.graphics = graphics; + // set drawing color + graphics.setColor(Color.BLACK); + } + + /** + * This method is called for each rendered horizontal circle. + * + * @param x + * horizontal coordinate of a circle center + * @param y + * vertical coordinate of a circle center + * @param radius + * circle radius + * @param maxRadius + * maximum allowable circle radius + * @param colorIndex + * color index + */ + public abstract void iterationCallBack(int x, int y, int radius, int maxRadius, int colorIndex); + + /** + * Cleanup phase. + */ + public void cleanup() + { + return; + } +} From jvanek at icedtea.classpath.org Tue May 22 03:08:07 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 22 May 2012 10:08:07 +0000 Subject: /hg/icedtea-web: added midori and epiphany to be counted as test... Message-ID: changeset 1088b2dffe49 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1088b2dffe49 author: Jiri Vanek date: Tue May 22 12:08:17 2012 +0200 added midori and epiphany to be counted as testable browsers diffstat: ChangeLog | 6 ++++++ Makefile.am | 24 +++++++++++++++--------- configure.ac | 3 +++ 3 files changed, 24 insertions(+), 9 deletions(-) diffs (118 lines): diff -r 442a5b2acc85 -r 1088b2dffe49 ChangeLog --- a/ChangeLog Mon May 21 18:17:43 2012 +0200 +++ b/ChangeLog Tue May 22 12:08:17 2012 +0200 @@ -1,3 +1,9 @@ +2012-05-21 Jiri Vanek + + * Makefile.am: mzilla-filesystem linking targets now counts also with + midori and epiphany. Extracted duplicated entries to variables + * configure.ac: added check for midori and epiphany + 2012-05-21 Jiri Vanek Added detection of installed browsers and added targets to create diff -r 442a5b2acc85 -r 1088b2dffe49 Makefile.am --- a/Makefile.am Mon May 21 18:17:43 2012 +0200 +++ b/Makefile.am Tue May 22 12:08:17 2012 +0200 @@ -46,6 +46,7 @@ MOZILLA_LOCAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origU MOZILLA_GLOBAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origMG OPERA_GLOBAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origOG +MOZILLA_FAMILY_TEST= "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" -o "$(MIDORI)" != "" -o "$(EPIPHANY)" != "" # end of linking variables # Build directories @@ -139,6 +140,13 @@ EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \ itweb-settings.desktop.in $(top_srcdir)/tests +# reproducers `D`shortcuts +DTEST_SERVER=-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) +DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) +DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) +REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) +# end of `D`shortcuts + # binary names javaws:= $(shell echo javaws | sed '@program_transform_name@') itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@') @@ -595,7 +603,7 @@ cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ - $(BOOT_DIR)/bin/java -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) -Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) -Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA) \ + $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \ > stdout.log 2> stderr.log ; \ cat stdout.log ; \ @@ -611,7 +619,7 @@ if ENABLE_PLUGIN stamps/user-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp \ launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) - if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ + if [ $(MOZILLA_FAMILY_TEST) ] ; then \ if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \ mv -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) $(MOZILLA_LOCAL_BACKUP_FILE) ; \ echo "$(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) backed up as $(MOZILLA_LOCAL_BACKUP_FILE)" ; \ @@ -626,13 +634,13 @@ touch $@ restore-user-links: - if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ + if [ $(MOZILLA_FAMILY_TEST) ] ; then \ if [ -e $(MOZILLA_LOCAL_BACKUP_FILE) ] ; then \ mv -f $(MOZILLA_LOCAL_BACKUP_FILE) $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ; \ echo "$(MOZILLA_LOCAL_BACKUP_FILE) restored as $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME)" ; \ else \ rm -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ; \ - echo "$(MOZILLA_LOCAL_BACKUP_FILE) do not exists, nothing to be restored. $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) removed" ; \ + echo "$(MOZILLA_LOCAL_BACKUP_FILE) do not exists, nothing to be restored. $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) removed" ; \ fi ; \ fi ; if [ -e stamps/user-links.stamp ] ; then \ @@ -641,7 +649,7 @@ stamps/global-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \ stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) - if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ + if [ $(MOZILLA_FAMILY_TEST) ] ; then \ dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \ arch=`arch` ; \ if [ "$$arch" = "x86_64" ] ; then \ @@ -678,7 +686,7 @@ touch $@ restore-global-links: - if [ "$(FIREFOX)" != "" -o "$(CHROMIUM)" != "" -o "$(CHROME)" != "" ] ; then \ + if [ $(MOZILLA_FAMILY_TEST) ] ; then \ dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \ arch=`arch` ; \ if [ "$$arch" = "x86_64" ] ; then \ @@ -835,9 +843,7 @@ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ $(BOOT_DIR)/bin/java \ $(EMMA_JAVA_ARGS) \ - -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) \ - -Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) \ - -Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA) \ + $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \ -raw \ -cp $(NETX_DIR)/lib/classes.jar \ diff -r 442a5b2acc85 -r 1088b2dffe49 configure.ac --- a/configure.ac Mon May 21 18:17:43 2012 +0200 +++ b/configure.ac Tue May 22 12:08:17 2012 +0200 @@ -88,10 +88,13 @@ # AC_CHECK_PROGS([XSLTPROC],[xsltproc],[], []) +# browser to be linked/tested AC_CHECK_PROGS([FIREFOX],[firefox],[], []) AC_CHECK_PROGS([CHROME],[google-chrome],[], []) AC_CHECK_PROGS([CHROMIUM],[chromium-browser],[], []) AC_CHECK_PROGS([OPERA],[opera],[], []) +AC_CHECK_PROGS([MIDORI],[midori],[], []) +AC_CHECK_PROGS([EPIPHANY],[epiphany],[], []) AM_CONDITIONAL([WITH_XSLTPROC], [test x"$XSLTPROC" != x ]) IT_FIND_OPTIONAL_JAR([rhino], RHINO, From jvanek at icedtea.classpath.org Tue May 22 04:26:49 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 22 May 2012 11:26:49 +0000 Subject: /hg/icedtea-web: Removed trailing spaces after slash in Makefile.am Message-ID: changeset 1a831549e69d in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1a831549e69d author: Jiri Vanek date: Tue May 22 13:25:13 2012 +0200 Removed trailing spaces after slash in Makefile.am diffstat: Makefile.am | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diffs (30 lines): diff -r 1088b2dffe49 -r 1a831549e69d Makefile.am --- a/Makefile.am Tue May 22 12:08:17 2012 +0200 +++ b/Makefile.am Tue May 22 13:25:13 2012 +0200 @@ -617,7 +617,7 @@ #although this targets will indeed create symbolic links to enable #icedtea-web plugin inside browser it is intended for testing purposes if ENABLE_PLUGIN -stamps/user-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp \ +stamps/user-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp \ launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) if [ $(MOZILLA_FAMILY_TEST) ] ; then \ if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \ @@ -637,7 +637,7 @@ if [ $(MOZILLA_FAMILY_TEST) ] ; then \ if [ -e $(MOZILLA_LOCAL_BACKUP_FILE) ] ; then \ mv -f $(MOZILLA_LOCAL_BACKUP_FILE) $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ; \ - echo "$(MOZILLA_LOCAL_BACKUP_FILE) restored as $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME)" ; \ + echo "$(MOZILLA_LOCAL_BACKUP_FILE) restored as $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME)" ; \ else \ rm -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ; \ echo "$(MOZILLA_LOCAL_BACKUP_FILE) do not exists, nothing to be restored. $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) removed" ; \ @@ -711,7 +711,7 @@ echo "$(OPERA_GLOBAL_BACKUP_FILE) restored as $$dir/$(PLUGIN_LINK_NAME)" ; \ else \ rm -f "$$dir"/$(PLUGIN_LINK_NAME) ; \ - echo "$(OPERA_GLOBAL_BACKUP_FILE) do not exist, nothing to be restored. $$dir/$(PLUGIN_LINK_NAME) removed" ; \ + echo "$(OPERA_GLOBAL_BACKUP_FILE) do not exist, nothing to be restored. $$dir/$(PLUGIN_LINK_NAME) removed" ; \ fi ; \ fi ; if [ -e stamps/global-links.stamp ] ; then \ From ptisnovs at redhat.com Tue May 22 04:34:02 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 22 May 2012 13:34:02 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 In-Reply-To: <4FBB6417.80800@redhat.com> References: <4FBB6417.80800@redhat.com> Message-ID: <4FBB79AA.5040605@redhat.com> Hi Jiri, you changes looks correct but as a QE I would be more happy if this check would be "splitted" into two variants (two asserts) according to the JRE used. We use following technique in Mauve tests: private static int JDKVersion() { String[] javaVersion = System.getProperty("java.version").split("\\."); return Integer.parseInt(javaVersion[1]); } Cheers, Pavel Jiri Vanek wrote: > Hi! > > As I mentioned yesterday on java team the test are failing on openjdk7 > because of changed exception message. This patch is fixing it. > This was already spotted once and I used the solution reviewed by Danesh > (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017540.html > thread) > Test are now passing both jdk. > > > 2012-05-22 Jiri Vanek > > * > tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: > > * > tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: > * > tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: > * > tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: > > * > tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: > * > tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: > * > tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: > * > tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: > > * > tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: > > All exact matches upon AccessControlException replaced by regular > expression matching both jdk7 and jdk6 syntax > From jvanek at redhat.com Tue May 22 04:38:54 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 13:38:54 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 In-Reply-To: <4FBB79AA.5040605@redhat.com> References: <4FBB6417.80800@redhat.com> <4FBB79AA.5040605@redhat.com> Message-ID: <4FBB7ACE.9050703@redhat.com> On 05/22/2012 01:34 PM, Pavel Tisnovsky wrote: > Hi Jiri, > > you changes looks correct but as a QE I would be more happy if this check > would be "splitted" into two variants (two asserts) according to the > JRE used. We use following technique in Mauve tests: hmhmh. This can be very useful, but not in this case. Danesh have found this difference also between 6' releases (see the thread in original email). I will keep it in mind in case that any other issues will apepar because of new jdk release. Thanx for hint! J. > > private static int JDKVersion() > { > String[] javaVersion = System.getProperty("java.version").split("\\."); > return Integer.parseInt(javaVersion[1]); > } > > Cheers, > Pavel > > Jiri Vanek wrote: >> Hi! >> >> As I mentioned yesterday on java team the test are failing on openjdk7 >> because of changed exception message. This patch is fixing it. >> This was already spotted once and I used the solution reviewed by Danesh >> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017540.html >> thread) >> Test are now passing both jdk. >> >> >> 2012-05-22 Jiri Vanek >> >> * >> tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: >> >> * >> tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: >> * >> tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: >> * >> tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: >> >> * >> tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: >> * >> tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: >> * >> tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: >> * >> tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: >> >> * >> tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: >> >> All exact matches upon AccessControlException replaced by regular >> expression matching both jdk7 and jdk6 syntax >> > From ptisnovs at redhat.com Tue May 22 04:58:42 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 22 May 2012 13:58:42 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 In-Reply-To: <4FBB7ACE.9050703@redhat.com> References: <4FBB6417.80800@redhat.com> <4FBB79AA.5040605@redhat.com> <4FBB7ACE.9050703@redhat.com> Message-ID: <4FBB7F72.2050401@redhat.com> Jiri Vanek wrote: > On 05/22/2012 01:34 PM, Pavel Tisnovsky wrote: >> Hi Jiri, >> >> you changes looks correct but as a QE I would be more happy if this check >> would be "splitted" into two variants (two asserts) according to the >> JRE used. We use following technique in Mauve tests: > > hmhmh. This can be very useful, but not in this case. Danesh have found > this difference also between 6' releases (see the thread in original > email). It's interesting that there's a difference in exception message in case of JDK6 but in fact it's not specified precisely in API doc. Then I'm ok with your solution ;-) Cheers, Pavel > > I will keep it in mind in case that any other issues will apepar because > of new jdk release. > > Thanx for hint! > > J. >> >> private static int JDKVersion() >> { >> String[] javaVersion = >> System.getProperty("java.version").split("\\."); >> return Integer.parseInt(javaVersion[1]); >> } >> >> Cheers, >> Pavel >> >> Jiri Vanek wrote: >>> Hi! >>> >>> As I mentioned yesterday on java team the test are failing on openjdk7 >>> because of changed exception message. This patch is fixing it. >>> This was already spotted once and I used the solution reviewed by Danesh >>> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017540.html >>> >>> thread) >>> Test are now passing both jdk. >>> >>> >>> 2012-05-22 Jiri Vanek >>> >>> * >>> tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: >>> >>> >>> * >>> tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: >>> >>> * >>> tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: >>> >>> * >>> tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: >>> >>> >>> * >>> tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: >>> >>> * >>> tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: >>> >>> * >>> tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: >>> >>> * >>> tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: >>> >>> >>> * >>> tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: >>> >>> >>> All exact matches upon AccessControlException replaced by regular >>> expression matching both jdk7 and jdk6 syntax >>> >> > From jvanek at redhat.com Tue May 22 05:11:52 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 14:11:52 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 In-Reply-To: <4FBB7F72.2050401@redhat.com> References: <4FBB6417.80800@redhat.com> <4FBB79AA.5040605@redhat.com> <4FBB7ACE.9050703@redhat.com> <4FBB7F72.2050401@redhat.com> Message-ID: <4FBB8288.8000902@redhat.com> On 05/22/2012 01:58 PM, Pavel Tisnovsky wrote: > Jiri Vanek wrote: >> On 05/22/2012 01:34 PM, Pavel Tisnovsky wrote: >>> Hi Jiri, >>> >>> you changes looks correct but as a QE I would be more happy if this check >>> would be "splitted" into two variants (two asserts) according to the >>> JRE used. We use following technique in Mauve tests: >> >> hmhmh. This can be very useful, but not in this case. Danesh have found >> this difference also between 6' releases (see the thread in original >> email). > > It's interesting that there's a difference in exception message in case of JDK6 > but in fact it's not specified precisely in API doc. > > Then I'm ok with your solution ;-) > > Cheers, > Pavel > >> Argh. I have just realized that I have used .* also where too strong! There is fixed version (replacing inner .* by .{0,5}. Tested both on f16/f17. Can you please verify I did not mess more stuff? Changelog will remain same. Thanx again for review! J. >> I will keep it in mind in case that any other issues will apepar because >> of new jdk release. >> >> Thanx for hint! >> >> J. >>> >>> private static int JDKVersion() >>> { >>> String[] javaVersion = >>> System.getProperty("java.version").split("\\."); >>> return Integer.parseInt(javaVersion[1]); >>> } >>> >>> Cheers, >>> Pavel >>> >>> Jiri Vanek wrote: >>>> Hi! >>>> >>>> As I mentioned yesterday on java team the test are failing on openjdk7 >>>> because of changed exception message. This patch is fixing it. >>>> This was already spotted once and I used the solution reviewed by Danesh >>>> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017540.html >>>> >>>> thread) >>>> Test are now passing both jdk. >>>> >>>> >>>> 2012-05-22 Jiri Vanek >>>> >>>> * >>>> tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: >>>> >>>> >>>> * >>>> tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: >>>> >>>> * >>>> tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: >>>> >>>> * >>>> tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: >>>> >>>> >>>> * >>>> tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: >>>> >>>> * >>>> tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: >>>> >>>> * >>>> tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: >>>> >>>> * >>>> tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: >>>> >>>> >>>> * >>>> tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: >>>> >>>> >>>> All exact matches upon AccessControlException replaced by regular >>>> expression matching both jdk7 and jdk6 syntax >>>> >>> >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: fixedReproducersForJdk7-3.diff Type: text/x-patch Size: 14311 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/61090841/fixedReproducersForJdk7-3.diff From jvanek at icedtea.classpath.org Tue May 22 05:20:47 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 22 May 2012 12:20:47 +0000 Subject: /hg/icedtea-web: Fixed security tests to pass both jdk6 and 7 Message-ID: changeset 7bbba99d25cc in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7bbba99d25cc author: Jiri Vanek date: Tue May 22 14:21:10 2012 +0200 Fixed security tests to pass both jdk6 and 7 diffstat: ChangeLog | 13 ++++++++++ tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java | 11 +++---- tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java | 4 +- tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java | 4 +- tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java | 4 +- tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java | 4 +- tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java | 10 +++--- tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java | 4 +- tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java | 4 +- tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java | 4 +- 10 files changed, 37 insertions(+), 25 deletions(-) diffs (193 lines): diff -r 1a831549e69d -r 7bbba99d25cc ChangeLog --- a/ChangeLog Tue May 22 13:25:13 2012 +0200 +++ b/ChangeLog Tue May 22 14:21:10 2012 +0200 @@ -1,3 +1,16 @@ +2012-05-22 Jiri Vanek + + * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: + * tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: + * tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: + * tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: + * tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: + * tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: + * tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: + * tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: + * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: + All exact matches upon AccessControlException replaced by regular expression matching both jdk7 and jdk6 syntax + 2012-05-21 Jiri Vanek * Makefile.am: mzilla-filesystem linking targets now counts also with diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Tue May 22 14:21:10 2012 +0200 @@ -48,6 +48,8 @@ private static ServerAccess server = new ServerAccess(); private final List l=Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); + String accessMatcher = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.name.{0,5}read" + ".*"; + @Test public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { //no request for permissions @@ -56,8 +58,7 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); + Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertTrue("stdout lenght should be <2 but was "+pr.stdout.length(),pr.stdout.length()<2); // /home/user or /root or eanything else :( @@ -73,8 +74,7 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertFalse("Stderr should NOT contains "+s+" but did",pr.stderr.contains(s)); + Assert.assertFalse("Stderr should NOT match "+accessMatcher+" but did",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertTrue("stdout lenght should be >= but was "+pr.stdout.length(),pr.stdout.length()>=4); // /home/user or /root or eanything else :( @@ -89,8 +89,7 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertTrue(pr.stderr.contains(s)); + Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertFalse("stdout lenght should not be >2 but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java --- a/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Tue May 22 14:21:10 2012 +0200 @@ -51,8 +51,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/AddShutdownHook.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission shutdownHooks)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "shutdownHooks" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java --- a/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Tue May 22 14:21:10 2012 +0200 @@ -53,8 +53,8 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/AllStackTraces.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String c="java.security.AccessControlException: access denied (java.lang.RuntimePermission getStackTrace)"; - Assert.assertTrue("stderr should contains `"+c+"`, but didn't ",pr.stderr.contains(c)); + String c = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "getStackTrace" + ".*"; + Assert.assertTrue("stderr should match `"+c+"`, but didn't ",pr.stderr.matches(c)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did ",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java --- a/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Tue May 22 14:21:10 2012 +0200 @@ -51,8 +51,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/CreateClassLoader.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)"; - Assert.assertTrue("Stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "createClassLoader" + ".*"; + Assert.assertTrue("Stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java --- a/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Tue May 22 14:21:10 2012 +0200 @@ -51,8 +51,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReadEnvironment.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission getenv.USER)"; - Assert.assertTrue("stderr should contains "+s+"but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "getenv.USER" + ".*"; + Assert.assertTrue("stderr should match"+s+"but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java --- a/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Tue May 22 14:21:10 2012 +0200 @@ -52,8 +52,8 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.name.{0,5}read" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); @@ -61,15 +61,15 @@ Assert.assertEquals((Integer)0, pr.returnValue); } - @Test + @Test public void ReadPropertiesLunch2() throws Exception { System.out.println("connecting ReadProperties2 request"); System.err.println("connecting ReadProperties2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties2.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.home read)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.home.{0,5}read" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java --- a/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Tue May 22 14:21:10 2012 +0200 @@ -50,8 +50,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/RedirectStreams.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setIO)"; - Assert.assertTrue("Stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setIO" + ".*"; + Assert.assertTrue("Stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Tue May 22 14:21:10 2012 +0200 @@ -50,8 +50,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReplaceSecurityManager.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setSecurityManager)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setSecurityManager" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r 1a831549e69d -r 7bbba99d25cc tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java --- a/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Tue May 22 13:25:13 2012 +0200 +++ b/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Tue May 22 14:21:10 2012 +0200 @@ -50,8 +50,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SetContextClassLoader.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setContextClassLoader" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); From jvanek at redhat.com Tue May 22 05:28:17 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 14:28:17 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 In-Reply-To: <4FBB8288.8000902@redhat.com> References: <4FBB6417.80800@redhat.com> <4FBB79AA.5040605@redhat.com> <4FBB7ACE.9050703@redhat.com> <4FBB7F72.2050401@redhat.com> <4FBB8288.8000902@redhat.com> Message-ID: <4FBB8661.1060809@redhat.com> On 05/22/2012 02:11 PM, Jiri Vanek wrote: > On 05/22/2012 01:58 PM, Pavel Tisnovsky wrote: >> Jiri Vanek wrote: >>> On 05/22/2012 01:34 PM, Pavel Tisnovsky wrote: >>>> Hi Jiri, >>>> >>>> you changes looks correct but as a QE I would be more happy if this check >>>> would be "splitted" into two variants (two asserts) according to the >>>> JRE used. We use following technique in Mauve tests: >>> >>> hmhmh. This can be very useful, but not in this case. Danesh have found >>> this difference also between 6' releases (see the thread in original >>> email). >> >> It's interesting that there's a difference in exception message in case of JDK6 >> but in fact it's not specified precisely in API doc. >> >> Then I'm ok with your solution ;-) >> >> Cheers, >> Pavel >> >>> > Argh. I have just realized that I have used .* also where too strong! > There is fixed version (replacing inner .* by .{0,5}. Tested both on f16/f17. Can you please verify > I did not mess more stuff? Changelog will remain same. > tahnx. Pushed to head. Can I backport it also to 1.2? > Thanx again for review! > J. >>> I will keep it in mind in case that any other issues will apepar because >>> of new jdk release. >>> >>> Thanx for hint! >>> >>> J. >>>> >>>> private static int JDKVersion() >>>> { >>>> String[] javaVersion = >>>> System.getProperty("java.version").split("\\."); >>>> return Integer.parseInt(javaVersion[1]); >>>> } >>>> >>>> Cheers, >>>> Pavel >>>> -------------- next part -------------- A non-text attachment was scrubbed... Name: fixedReproducersForJdk7-1.2.1.diff Type: text/x-patch Size: 15482 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/634d9179/fixedReproducersForJdk7-1.2.1.diff From ptisnovs at redhat.com Tue May 22 05:51:50 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 22 May 2012 14:51:50 +0200 Subject: [fyi] [icedtea-web] Fixed security tests to pass both jdk6 and 7 In-Reply-To: <4FBB8661.1060809@redhat.com> References: <4FBB6417.80800@redhat.com> <4FBB79AA.5040605@redhat.com> <4FBB7ACE.9050703@redhat.com> <4FBB7F72.2050401@redhat.com> <4FBB8288.8000902@redhat.com> <4FBB8661.1060809@redhat.com> Message-ID: <4FBB8BE6.5040309@redhat.com> Jiri Vanek wrote: > On 05/22/2012 02:11 PM, Jiri Vanek wrote: >> On 05/22/2012 01:58 PM, Pavel Tisnovsky wrote: >>> Jiri Vanek wrote: >>>> On 05/22/2012 01:34 PM, Pavel Tisnovsky wrote: >>>>> Hi Jiri, >>>>> >>>>> you changes looks correct but as a QE I would be more happy if this >>>>> check >>>>> would be "splitted" into two variants (two asserts) according to the >>>>> JRE used. We use following technique in Mauve tests: >>>> >>>> hmhmh. This can be very useful, but not in this case. Danesh have found >>>> this difference also between 6' releases (see the thread in original >>>> email). >>> >>> It's interesting that there's a difference in exception message in >>> case of JDK6 >>> but in fact it's not specified precisely in API doc. >>> >>> Then I'm ok with your solution ;-) >>> >>> Cheers, >>> Pavel >>> >>>> >> Argh. I have just realized that I have used .* also where too strong! >> There is fixed version (replacing inner .* by .{0,5}. Tested both on >> f16/f17. Can you please verify >> I did not mess more stuff? Changelog will remain same. >> > > tahnx. Pushed to head. > > Can I backport it also to 1.2? ok for 1.2 too ;-) > >> Thanx again for review! >> J. >>>> I will keep it in mind in case that any other issues will apepar >>>> because >>>> of new jdk release. >>>> >>>> Thanx for hint! >>>> >>>> J. >>>>> >>>>> private static int JDKVersion() >>>>> { >>>>> String[] javaVersion = >>>>> System.getProperty("java.version").split("\\."); >>>>> return Integer.parseInt(javaVersion[1]); >>>>> } >>>>> >>>>> Cheers, >>>>> Pavel >>>>> From jvanek at icedtea.classpath.org Tue May 22 05:52:29 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 22 May 2012 12:52:29 +0000 Subject: /hg/release/icedtea-web-1.2: Fixed security tests to pass both j... Message-ID: changeset c95fe178d33d in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=c95fe178d33d author: Jiri Vanek date: Tue May 22 14:52:43 2012 +0200 Fixed security tests to pass both jdk6 and 7 diffstat: ChangeLog | 13 ++++++++++ tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java | 11 +++---- tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java | 4 +- tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java | 4 +- tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java | 4 +- tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java | 4 +- tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java | 10 +++--- tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java | 4 +- tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java | 4 +- tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java | 4 +- 10 files changed, 37 insertions(+), 25 deletions(-) diffs (193 lines): diff -r dde230f3536a -r c95fe178d33d ChangeLog --- a/ChangeLog Wed May 09 16:09:00 2012 -0400 +++ b/ChangeLog Tue May 22 14:52:43 2012 +0200 @@ -1,3 +1,16 @@ +2012-05-22 Jiri Vanek + + * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: + * tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: + * tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: + * tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: + * tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: + * tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: + * tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: + * tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: + * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: + All exact matches upon AccessControlException replaced by regular expression matching both jdk7 and jdk6 syntax + 2012-05-09 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Tue May 22 14:52:43 2012 +0200 @@ -48,6 +48,8 @@ private static ServerAccess server = new ServerAccess(); private final List l=Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); + String accessMatcher = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.name.{0,5}read" + ".*"; + @Test public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { //no request for permissions @@ -56,8 +58,7 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); + Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertTrue("stdout lenght should be <2 but was "+pr.stdout.length(),pr.stdout.length()<2); // /home/user or /root or eanything else :( @@ -73,8 +74,7 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertFalse("Stderr should NOT contains "+s+" but did",pr.stderr.contains(s)); + Assert.assertFalse("Stderr should NOT match "+accessMatcher+" but did",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertTrue("stdout lenght should be >= but was "+pr.stdout.length(),pr.stdout.length()>=4); // /home/user or /root or eanything else :( @@ -89,8 +89,7 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertTrue(pr.stderr.contains(s)); + Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertFalse("stdout lenght should not be >2 but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java --- a/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Tue May 22 14:52:43 2012 +0200 @@ -51,8 +51,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/AddShutdownHook.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission shutdownHooks)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "shutdownHooks" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java --- a/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Tue May 22 14:52:43 2012 +0200 @@ -53,8 +53,8 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/AllStackTraces.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String c="java.security.AccessControlException: access denied (java.lang.RuntimePermission getStackTrace)"; - Assert.assertTrue("stderr should contains `"+c+"`, but didn't ",pr.stderr.contains(c)); + String c = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "getStackTrace" + ".*"; + Assert.assertTrue("stderr should match `"+c+"`, but didn't ",pr.stderr.matches(c)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did ",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java --- a/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Tue May 22 14:52:43 2012 +0200 @@ -51,8 +51,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/CreateClassLoader.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)"; - Assert.assertTrue("Stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "createClassLoader" + ".*"; + Assert.assertTrue("Stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java --- a/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Tue May 22 14:52:43 2012 +0200 @@ -51,8 +51,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReadEnvironment.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission getenv.USER)"; - Assert.assertTrue("stderr should contains "+s+"but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "getenv.USER" + ".*"; + Assert.assertTrue("stderr should match"+s+"but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java --- a/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Tue May 22 14:52:43 2012 +0200 @@ -52,8 +52,8 @@ ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.name.{0,5}read" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); @@ -61,15 +61,15 @@ Assert.assertEquals((Integer)0, pr.returnValue); } - @Test + @Test public void ReadPropertiesLunch2() throws Exception { System.out.println("connecting ReadProperties2 request"); System.err.println("connecting ReadProperties2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties2.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.home read)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.home.{0,5}read" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java --- a/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Tue May 22 14:52:43 2012 +0200 @@ -50,8 +50,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/RedirectStreams.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setIO)"; - Assert.assertTrue("Stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setIO" + ".*"; + Assert.assertTrue("Stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Tue May 22 14:52:43 2012 +0200 @@ -50,8 +50,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReplaceSecurityManager.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setSecurityManager)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setSecurityManager" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); diff -r dde230f3536a -r c95fe178d33d tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java --- a/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Wed May 09 16:09:00 2012 -0400 +++ b/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Tue May 22 14:52:43 2012 +0200 @@ -50,8 +50,8 @@ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SetContextClassLoader.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)"; - Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setContextClassLoader" + ".*"; + Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); From jvanek at redhat.com Tue May 22 05:56:56 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 14:56:56 +0200 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FB271F6.2050807@redhat.com> References: <4FB11904.1000408@redhat.com> <4FB26531.7010104@redhat.com> <4FB26C97.4030108@redhat.com> <4FB26E05.6060104@redhat.com> <4FB271F6.2050807@redhat.com> Message-ID: <4FBB8D18.5040505@redhat.com> On 05/15/2012 05:10 PM, Jiri Vanek wrote: > On 05/15/2012 04:53 PM, Omair Majid wrote: >> Hi Jiri, >> >> On 05/15/2012 10:47 AM, Jiri Vanek wrote: >>> On 05/15/2012 04:16 PM, Omair Majid wrote: >>> Hi! Answered as expected ;) >> >> :) >> >>> Well. The reason why it should be included was recently discussed. A lot >>> of tests are failing, because they are reproducing issue. Also I have >>> plenty of new reproducers which should be definitely pushed. And if >>> there will be to much failing reproducers then no one will see some issue. >>> >>> Now when somebody will break something by his changeset, and eg new >>> failure will arise, it is easy to overlook new red line between >>> reproducers. (both unit and "my") >> >> Ah. I see. So will things marked with this annotation not be run by >> default? This sounds like a good idea to me. > > Yes! > > When you check my other KnownToFail needs-review, then you discover that in closest future I'm going > just to mark them and print it out that it is expected. > > But yes - some by-configure enableing/disabling will definitely be worthy. What will be default is > right now inappropriate but for sure they can be disabled/ignored. It is definietly the main reason > of this mark. > >> >>>>> I have dared also to extend it a bit for marking of tests which are not >>>>> failing always, but are failing often by some abstract percentage of how >>>>> often they are failing. >>>> >>>> I disagree with the concept of percentage. I don't see the point of >>>> tests that (occasionally) fail. If tests fails all the time, that's >>>> great. If tests don't fail all the time, the test is broken. I don't see >>>> how the percentage helps in either case. >>> >>> Answer expected:) And I agree it it very discutable. The issue here is >>> that I'm not able to reproduce the failure. And in case of cache >>> reproducers (which are 90% of randomly failing reproducers) are actually >>> representing the issue. Because cache is not protected from simultaneous >>> read/write from multiple javaws. It is just luck when they sometimes >>> pass (because of some delayed r/w on system) >>> >> >> I am trying to figure out how the percentage helps. How do you plan to >> use it? > > How to use it exactly can be seen in another KnownToFail patches. But I believe this is not what you > are asking :) > > The reason in behind is the cache reproducers test-set:-/ It should be failing all the time, but > sometimes i/o is to slow/fast and it pass.... Currently I have no idea how to make it better. > Definitely it is worthy to fix it, but also it is quite on the bottom of todo list :(( > And for example the failure of classlaoder test I'm notable to reproduce on my local machine never :-/ > > So this mark (that it is failing but not always) is some kind of warning. Currentlyu I'm just > printing out that "this test is know to fail sometimes" (instead of "always")) > > How to deal with it when it will be disabled/enabled in future.. Well lI have some ideas - most easy > looks like to have some border parameter. Which will be considered 100 or 0 by default. > > >> >> I still think the test is broken in this case. Perhaps we should fix the >> test? Or consider rewriting/refactoring some code to make it more easily >> testable? Or to put it another way, wouldn't effort spent adding this be >> better spent fixing the code/tests? > > Yap - but sometimes the fix can be really hard. And until it is fixed, it is better to have it marked. > > But as I really like @knownToFail, I'm not 100% sure about this percentage too. Currently I'm about > 65/35 for to include it. > > Thanx for your thought! J. As agreed on IRC, Percentage removed. What do you think now? After deep meditation I consider it as better now too :) J. -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation_2-modifiedOutputOfTests.diff Type: text/x-patch Size: 20048 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/f9de6360/KnownToFailAnnotation_2-modifiedOutputOfTests.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation_2-apliedToTests-100.diff Type: text/x-patch Size: 4330 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/f9de6360/KnownToFailAnnotation_2-apliedToTests-100.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation_2-impl.diff Type: text/x-patch Size: 897 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/f9de6360/KnownToFailAnnotation_2-impl.diff From jvanek at redhat.com Tue May 22 07:32:33 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 16:32:33 +0200 Subject: /hg/icedtea-web: Add resources.jar to classpath In-Reply-To: References: Message-ID: <4FBBA381.9060200@redhat.com> On 04/24/2012 08:45 PM, omajid at icedtea.classpath.org wrote: I would like to backport this to 1.2. Possible? Patch applies with few offsets (-7,-23,-24,-25) corrctly and I will reuse changelog. It is long enough in head IMHO. J. > changeset 82e908d46d70 in /hg/icedtea-web > details:http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=82e908d46d70 > author: Omair Majid > date: Tue Apr 24 14:43:34 2012 -0400 > > Add resources.jar to classpath > > 2012-04-24 Omair Majid > > * Makefile.am > (RUNTIME): Add resources.jar. > (stamps/run-unit-test-code-coverage.stamp) [WITH_EMMA]: Add resouces.jar > to classpath. > (stamps/run-reproducers-test-code-coverage.stamp) [WITH_EMMA]: Include > resources.jar in classpath. > (stamps/bootstrap-directory.stamp): Create a link to resources.jar in > BOOT_DIR. > > > diffstat: > > ChangeLog | 11 +++++++++++ > Makefile.am | 9 ++++++++- > 2 files changed, 19 insertions(+), 1 deletions(-) > > diffs (58 lines): > > diff -r a1c138829627 -r 82e908d46d70 ChangeLog > --- a/ChangeLog Fri Apr 20 17:17:59 2012 +0200 > +++ b/ChangeLog Tue Apr 24 14:43:34 2012 -0400 > @@ -1,3 +1,14 @@ > +2012-04-24 Omair Majid > + > + * Makefile.am > + (RUNTIME): Add resources.jar. > + (stamps/run-unit-test-code-coverage.stamp) [WITH_EMMA]: Add resouces.jar > + to classpath. > + (stamps/run-reproducers-test-code-coverage.stamp) [WITH_EMMA]: Include > + resources.jar in classpath. > + (stamps/bootstrap-directory.stamp): Create a link to resources.jar in > + BOOT_DIR. > + > 2012-04-19 Omair Majid > > PR918: java applet windows uses a low resulution black/white icon > diff -r a1c138829627 -r 82e908d46d70 Makefile.am > --- a/Makefile.am Fri Apr 20 17:17:59 2012 +0200 > +++ b/Makefile.am Tue Apr 24 14:43:34 2012 -0400 > @@ -45,7 +45,7 @@ > RHINO_RUNTIME= > endif > > -RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME) > +RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME):$(BOOT_DIR)/jre/lib/resources.jar > > # Flags > IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) > @@ -661,6 +661,7 @@ > -cp $(JUNIT_RUNNER_JAR) \ > -cp $(BOOT_DIR)/jre/lib/rt.jar \ > -cp $(BOOT_DIR)/jre/lib/jsse.jar \ > + -cp $(BOOT_DIR)/jre/lib/resources.jar \ > -cp $(RHINO_RUNTIME) \ > -cp . \ > -ix "-org.junit.*" \ > @@ -723,6 +724,7 @@ > -cp $(JUNIT_RUNNER_JAR) \ > -cp $(BOOT_DIR)/jre/lib/rt.jar \ > -cp $(BOOT_DIR)/jre/lib/jsse.jar \ > + -cp $(BOOT_DIR)/jre/lib/resources.jar \ > -cp $(RHINO_RUNTIME) \ > -cp . \ > -ix "-org.junit.*" \ > @@ -921,6 +923,11 @@ > else \ > ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \ > fi > + if [ -e $(SYSTEM_JRE_DIR)/lib/resources.jar ] ; then \ > + ln -s $(SYSTEM_JRE_DIR)/lib/resources.jar $(BOOT_DIR)/jre/lib ; \ > + else \ > + ln -s rt.jar $(BOOT_DIR)/jre/lib/resources.jar ; \ > + fi > ln -sf $(SYSTEM_JRE_DIR)/lib/$(JRE_ARCH_DIR) \ > $(BOOT_DIR)/jre/lib/ && \ > if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ > -------------- next part -------------- A non-text attachment was scrubbed... Name: omairBackport.diff Type: text/x-patch Size: 1324 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/d16d9e77/omairBackport.diff From jvanek at redhat.com Tue May 22 07:38:35 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 16:38:35 +0200 Subject: [fyi][icedtea-web] Fixing the reproducers engine on 1.2 in f17 Message-ID: <4FBBA4EB.3020701@redhat.com> This is minimalized backport of fixes to - head - JunitLikeXmlOutputListener.java which * eliminated NullPointer exception which was causing xmloutputer to die and so product not-valid xml. * behave correctly with ignored tests J. 2012-05-22 Jiri Vanek * /tests/junit-runner/JunitLikeXmlOutputListener.java: fixed bug with null-value when adding attributes, ignored tests handled correctly -------------- next part -------------- A non-text attachment was scrubbed... Name: notNullXmlOutput.diff Type: text/x-patch Size: 3327 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/0bd95364/notNullXmlOutput.diff From omajid at redhat.com Tue May 22 08:03:28 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 22 May 2012 11:03:28 -0400 Subject: /hg/icedtea-web: Add resources.jar to classpath In-Reply-To: <4FBBA381.9060200@redhat.com> References: <4FBBA381.9060200@redhat.com> Message-ID: <4FBBAAC0.8050006@redhat.com> On 05/22/2012 10:32 AM, Jiri Vanek wrote: > On 04/24/2012 08:45 PM, omajid at icedtea.classpath.org wrote: > I would like to backport this to 1.2. Possible? > Patch applies with few offsets (-7,-23,-24,-25) corrctly and I will > reuse changelog. > It is long enough in head IMHO. I think it should be fine for 1.2. On the other hand, with so many backports being added to 1.2, we should think about a 1.3 release? Cheers, Omair From dbhole at redhat.com Tue May 22 08:15:36 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 11:15:36 -0400 Subject: /hg/icedtea-web: Add resources.jar to classpath In-Reply-To: <4FBBAAC0.8050006@redhat.com> References: <4FBBA381.9060200@redhat.com> <4FBBAAC0.8050006@redhat.com> Message-ID: <20120522151535.GG29866@redhat.com> * Omair Majid [2012-05-22 11:05]: > On 05/22/2012 10:32 AM, Jiri Vanek wrote: > > On 04/24/2012 08:45 PM, omajid at icedtea.classpath.org wrote: > > I would like to backport this to 1.2. Possible? > > Patch applies with few offsets (-7,-23,-24,-25) corrctly and I will > > reuse changelog. > > It is long enough in head IMHO. > > I think it should be fine for 1.2. On the other hand, with so many > backports being added to 1.2, we should think about a 1.3 release? > I was thinking of following a strict 6 month release cycle from here on. 1.2 was released on March 5th. I was thinking that we should do the next one in the first week of September, with branching on August. I will send a separate email to the list to discuss this (and perhaps shortening to 4 months instead of 6?). Cheers, Deepak From dbhole at redhat.com Tue May 22 08:22:48 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 11:22:48 -0400 Subject: New proposed release cycle for IcedTea-Web Message-ID: <20120522152247.GH29866@redhat.com> Hi Everyone, The past, IcedTea-Web releases have been rather sporadic and I would like to address this with a firm release cycle. I was thinking that from here on, we do a forced release every 4-6 months, with branching happening 3 weeks before release. Whichever period we pick, the release date will be firm. The only exceptions allowed will be critical blockers/regressions. If features do not make it in before branching, they get pushed to next release. With 6 months, the next release will be on September 4th 2012. With 4 months, the next release will be on July 3rd 2012. I had 6 months in mind initially, but given the pace at which things are moving, I think 4 is more suited in the short-term for the next 2-3 releases. Thoughts? Cheers, Deepak From jvanek at redhat.com Tue May 22 08:25:39 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 17:25:39 +0200 Subject: /hg/icedtea-web: Add resources.jar to classpath In-Reply-To: <20120522151535.GG29866@redhat.com> References: <4FBBA381.9060200@redhat.com> <4FBBAAC0.8050006@redhat.com> <20120522151535.GG29866@redhat.com> Message-ID: <4FBBAFF3.1020806@redhat.com> On 05/22/2012 05:15 PM, Deepak Bhole wrote: > * Omair Majid [2012-05-22 11:05]: >> On 05/22/2012 10:32 AM, Jiri Vanek wrote: >>> On 04/24/2012 08:45 PM, omajid at icedtea.classpath.org wrote: >>> I would like to backport this to 1.2. Possible? >>> Patch applies with few offsets (-7,-23,-24,-25) corrctly and I will >>> reuse changelog. >>> It is long enough in head IMHO. >> >> I think it should be fine for 1.2. On the other hand, with so many >> backports being added to 1.2, we should think about a 1.3 release? Thanx! It is not so much as it looks like. I was moreover neglecting 1.2 O with reproducers :( >> > > I was thinking of following a strict 6 month release cycle from here on. > 1.2 was released on March 5th. I was thinking that we should do the next > one in the first week of September, with branching on August. > Hmhm... I'm more fan of feature-driven releasing, but to try to keep around 5-6 months looks like good idea. > I will send a separate email to the list to discuss this (and perhaps > shortening to 4 months instead of 6?). > J. From dbhole at redhat.com Tue May 22 08:27:37 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 11:27:37 -0400 Subject: /hg/icedtea-web: Add resources.jar to classpath In-Reply-To: <4FBBAFF3.1020806@redhat.com> References: <4FBBA381.9060200@redhat.com> <4FBBAAC0.8050006@redhat.com> <20120522151535.GG29866@redhat.com> <4FBBAFF3.1020806@redhat.com> Message-ID: <20120522152736.GJ29866@redhat.com> * Jiri Vanek [2012-05-22 11:24]: > On 05/22/2012 05:15 PM, Deepak Bhole wrote: > >* Omair Majid [2012-05-22 11:05]: > >>On 05/22/2012 10:32 AM, Jiri Vanek wrote: > >>>On 04/24/2012 08:45 PM, omajid at icedtea.classpath.org wrote: > >>>I would like to backport this to 1.2. Possible? > >>>Patch applies with few offsets (-7,-23,-24,-25) corrctly and I will > >>>reuse changelog. > >>>It is long enough in head IMHO. > >> > >>I think it should be fine for 1.2. On the other hand, with so many > >>backports being added to 1.2, we should think about a 1.3 release? > Thanx! > It is not so much as it looks like. I was moreover neglecting 1.2 O with reproducers :( > >> > > > >I was thinking of following a strict 6 month release cycle from here on. > >1.2 was released on March 5th. I was thinking that we should do the next > >one in the first week of September, with branching on August. > > > Hmhm... I'm more fan of feature-driven releasing, but to try to keep > around 5-6 months looks like good idea. Hi Jiri, I think feature driven releases are what have contributed to sporadic cycles in the past. If we have a short time frame like 4 months, a feature will at the most be delayed by 4 months which wouldn't be too bad. Cheers, Deepak > >I will send a separate email to the list to discuss this (and perhaps > >shortening to 4 months instead of 6?). > > > J. > From ddadacha at redhat.com Tue May 22 08:28:09 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Tue, 22 May 2012 11:28:09 -0400 Subject: [fyi][icedtea-web] Fixing the reproducers engine on 1.2 in f17 In-Reply-To: <4FBBA4EB.3020701@redhat.com> References: <4FBBA4EB.3020701@redhat.com> Message-ID: <4FBBB089.6070905@redhat.com> Hi Jiri, On 22/05/12 10:38 AM, Jiri Vanek wrote: > This is minimalized backport of fixes to - head - JunitLikeXmlOutputListener.java which > * eliminated NullPointer exception which was causing xmloutputer to die and so product not-valid xml. > * behave correctly with ignored tests > > J. > > 2012-05-22 Jiri Vanek > > * /tests/junit-runner/JunitLikeXmlOutputListener.java: fixed bug with > null-value when adding attributes, ignored tests handled correctly Could you mention you added testIgnored and testDone to this entry too please? I'm guessing HEAD's entry doesn't have it but at least for now it would be good here. If you don't agree, feel free to skip! Either way, I think it's good to push! Thanks for doing this. Cheers, Danesh From jvanek at icedtea.classpath.org Tue May 22 08:32:51 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 22 May 2012 15:32:51 +0000 Subject: /hg/release/icedtea-web-1.2: Fixed JunitLikeXmlOutputListener.java Message-ID: changeset fdf094ad9342 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=fdf094ad9342 author: Jiri Vanek date: Tue May 22 17:33:08 2012 +0200 Fixed JunitLikeXmlOutputListener.java diffstat: ChangeLog | 7 ++++ tests/junit-runner/JunitLikeXmlOutputListener.java | 32 +++++++++++++++++---- 2 files changed, 32 insertions(+), 7 deletions(-) diffs (102 lines): diff -r c95fe178d33d -r fdf094ad9342 ChangeLog --- a/ChangeLog Tue May 22 14:52:43 2012 +0200 +++ b/ChangeLog Tue May 22 17:33:08 2012 +0200 @@ -1,3 +1,10 @@ +2012-05-22 Jiri Vanek + + * /tests/junit-runner/JunitLikeXmlOutputListener.java: fixed bug with + null-value when adding attributes, ignored tests handled correctly + (testIgnored) new method to handle ignored tests + (testDone) new method to unify call from (testIgnored) and (testPassed) + 2012-05-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: diff -r c95fe178d33d -r fdf094ad9342 tests/junit-runner/JunitLikeXmlOutputListener.java --- a/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 22 14:52:43 2012 +0200 +++ b/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 22 17:33:08 2012 +0200 @@ -26,6 +26,7 @@ import org.junit.runner.Result; import org.junit.runner.notification.Failure; import org.junit.runner.notification.RunListener; + /** * This class listens for events in junit testsuite and wrote output to xml. * Xml tryes to follow ant-tests schema, and is enriched for by-class statistics @@ -66,6 +67,7 @@ int total; int failed; int passed; + int ignored; long time = 0; } Map classStats = new HashMap(); @@ -94,7 +96,12 @@ attString.append(" "); Set> entries = atts.entrySet(); for (Entry entry : entries) { - attString.append(entry.getKey()).append("=\"").append(attributize(entry.getValue())).append("\""); + String k = entry.getKey(); + String v = entry.getValue(); + if (v == null) { + v = "null"; + } + attString.append(k).append("=\"").append(attributize(v)).append("\""); attString.append(" "); } } @@ -103,7 +110,7 @@ } private static String attributize(String s) { - return s.replace("&", "&").replace("<", "<").replace("\"","""); + return s.replace("&", "&").replace("<", "<").replace("\"", """); } private void closeElement(String name) throws IOException { @@ -129,7 +136,7 @@ @Override public void testStarted(Description description) throws Exception { testFailed = null; - testStart = System.nanoTime()/1000l/1000l; + testStart = System.nanoTime() / 1000l / 1000l; } @Override @@ -138,11 +145,19 @@ } @Override + public void testIgnored(Description description) throws Exception { + testDone(description, 0, 0, true); + } + + @Override public void testFinished(org.junit.runner.Description description) throws Exception { - long testTime = System.nanoTime()/1000l/1000l - testStart; + long testTime = System.nanoTime() / 1000l / 1000l - testStart; double testTimeSeconds = ((double) testTime) / 1000d; + testDone(description, testTime, testTimeSeconds, false); + } - Map testcaseAtts = new HashMap(3); + private void testDone(Description description, long testTime, double testTimeSeconds, boolean ignored) throws Exception { + Map testcaseAtts = new HashMap(4); NumberFormat formatter = new DecimalFormat("#0.0000"); String stringedTime = formatter.format(testTimeSeconds); stringedTime.replace(",", "."); @@ -176,9 +191,12 @@ cc.total++; cc.time += testTime; if (testFailed == null) { - cc.passed++; + if (ignored) { + cc.ignored++; + } else { + cc.passed++; + } } else { - cc.failed++; } } From jvanek at icedtea.classpath.org Tue May 22 08:37:07 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 22 May 2012 15:37:07 +0000 Subject: /hg/release/icedtea-web-1.2: backported : Omair's Add resources.... Message-ID: changeset 08121ef055a2 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=08121ef055a2 author: Jiri Vanek date: Tue May 22 17:37:25 2012 +0200 backported : Omair's Add resources.jar to classpath diffstat: ChangeLog | 12 ++++++++++++ Makefile.am | 9 ++++++++- 2 files changed, 20 insertions(+), 1 deletions(-) diffs (59 lines): diff -r fdf094ad9342 -r 08121ef055a2 ChangeLog --- a/ChangeLog Tue May 22 17:33:08 2012 +0200 +++ b/ChangeLog Tue May 22 17:37:25 2012 +0200 @@ -1,3 +1,15 @@ +2012-05-22 Jiri Vanek + Omair Majid + + * Makefile.am + (RUNTIME): Add resources.jar. + (stamps/run-unit-test-code-coverage.stamp) [WITH_EMMA]: Add resouces.jar + to classpath. + (stamps/run-reproducers-test-code-coverage.stamp) [WITH_EMMA]: Include + resources.jar in classpath. + (stamps/bootstrap-directory.stamp): Create a link to resources.jar in + BOOT_DIR. + 2012-05-22 Jiri Vanek * /tests/junit-runner/JunitLikeXmlOutputListener.java: fixed bug with diff -r fdf094ad9342 -r 08121ef055a2 Makefile.am --- a/Makefile.am Tue May 22 17:33:08 2012 +0200 +++ b/Makefile.am Tue May 22 17:37:25 2012 +0200 @@ -38,7 +38,7 @@ RHINO_RUNTIME= endif -RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME) +RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME):$(BOOT_DIR)/jre/lib/resources.jar # Flags IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) @@ -638,6 +638,7 @@ -cp $(JUNIT_RUNNER_JAR) \ -cp $(BOOT_DIR)/jre/lib/rt.jar \ -cp $(BOOT_DIR)/jre/lib/jsse.jar \ + -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ -cp . \ -ix "-org.junit.*" \ @@ -699,6 +700,7 @@ -cp $(JUNIT_RUNNER_JAR) \ -cp $(BOOT_DIR)/jre/lib/rt.jar \ -cp $(BOOT_DIR)/jre/lib/jsse.jar \ + -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ -cp . \ -ix "-org.junit.*" \ @@ -896,6 +898,11 @@ else \ ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \ fi + if [ -e $(SYSTEM_JRE_DIR)/lib/resources.jar ] ; then \ + ln -s $(SYSTEM_JRE_DIR)/lib/resources.jar $(BOOT_DIR)/jre/lib ; \ + else \ + ln -s rt.jar $(BOOT_DIR)/jre/lib/resources.jar ; \ + fi ln -sf $(SYSTEM_JRE_DIR)/lib/$(JRE_ARCH_DIR) \ $(BOOT_DIR)/jre/lib/ && \ if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ From dbhole at redhat.com Tue May 22 08:38:41 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 11:38:41 -0400 Subject: New proposed release cycle for IcedTea-Web In-Reply-To: <20120522152247.GH29866@redhat.com> References: <20120522152247.GH29866@redhat.com> Message-ID: <20120522153840.GK29866@redhat.com> * Deepak Bhole [2012-05-22 11:31]: > Hi Everyone, > > The past, IcedTea-Web releases have been rather sporadic and I would like > to address this with a firm release cycle. > > I was thinking that from here on, we do a forced release every 4-6 > months, with branching happening 3 weeks before release. > > Whichever period we pick, the release date will be firm. The only > exceptions allowed will be critical blockers/regressions. If features do > not make it in before branching, they get pushed to next release. > > With 6 months, the next release will be on September 4th 2012. > With 4 months, the next release will be on July 3rd 2012. > > I had 6 months in mind initially, but given the pace at which things are > moving, I think 4 is more suited in the short-term for the next 2-3 > releases. > Couple of additional notes: The above only applies to minor releases (i.e. 1.X, 1.Y, etc.). The micro releases (1.X.A, 1.X.B, 1.X.C) will not have a fixed schedule and will be done as needed. With the above in place, we would support n-2, n-1 and n with only critical fixes (security, regressions, etc.) being allowed into release branches. Cheers, Deepak From jvanek at redhat.com Tue May 22 08:42:52 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 22 May 2012 17:42:52 +0200 Subject: New proposed release cycle for IcedTea-Web In-Reply-To: <20120522152247.GH29866@redhat.com> References: <20120522152247.GH29866@redhat.com> Message-ID: <4FBBB3FC.8060302@redhat.com> On 05/22/2012 05:22 PM, Deepak Bhole wrote: > Hi Everyone, > > The past, IcedTea-Web releases have been rather sporadic and I would like > to address this with a firm release cycle. > > I was thinking that from here on, we do a forced release every 4-6 > months, with branching happening 3 weeks before release. > > Whichever period we pick, the release date will be firm. The only > exceptions allowed will be critical blockers/regressions. If features do > not make it in before branching, they get pushed to next release. > > With 6 months, the next release will be on September 4th 2012. > With 4 months, the next release will be on July 3rd 2012. With 6months I will be able to finish SplashScreen, with 4 I'm afraid I will not finish it in time :( > > I had 6 months in mind initially, but given the pace at which things are > moving, I think 4 is more suited in the short-term for the next 2-3 > releases. So my suggestion here is 4-6 according to features :) J. From adomurad at redhat.com Tue May 22 08:43:13 2012 From: adomurad at redhat.com (Adam Domurad) Date: Tue, 22 May 2012 11:43:13 -0400 (EDT) Subject: [icedtea-web][RFC] sprintf -> snprintf in icedtea-web plugin, C++-side In-Reply-To: Message-ID: Hello all. Small patch, description in ChangeLog. I ran it against run-netx-dist-tests with no regressions. The motivation being that sprintf is generally to be avoided, because if something goes wrong somewhere, it's better to have an extra fallback that prevents buffer overflow. A few small buffers that were being malloc/free'd in a very short period of time were made to be stack based. There isn't a terrible need to change it performance wise, it does however make for clearer code with less possibility of error (eg, free being left out). Small note: snprintf is -technically- non-standard C++ (C99 standard). However, as long as GCC is targetted, there is no issue -and- it was already used in the source as it were. 2012-05-22 Adam Domurad Changed allocation of small, fixed-size buffers to stack-based allocations. Changed occurences of sprintf to the safer function snprintf, added buffer information. While unlikely to change functionality, snprintf adds an extra check to prevent buffer overflows. * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers using malloc changed to stack allocation & changed sprintf calls to buffer-size aware snprintf calls. * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch.patch Type: text/x-patch Size: 4754 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/bf7cb1c5/patch.patch From bugzilla-daemon at icedtea.classpath.org Tue May 22 08:50:57 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 22 May 2012 15:50:57 +0000 Subject: [Bug 984] Testsuite for reproducers should no longer depend on make install In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=984 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dbhole at redhat.com Assignee|unassigned at icedtea.classpat |jvanek at redhat.com |h.org | -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/48c4e4fc/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 22 08:50:56 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 22 May 2012 15:50:56 +0000 Subject: [Bug 987] New: Crash during Jenkins installation Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=987 Priority: P3 Bug ID: 987 Assignee: unassigned at icedtea.classpath.org Summary: Crash during Jenkins installation Severity: major Classification: Unclassified OS: Linux Reporter: clement.gautier.76 at gmail.com Hardware: 64-bit Status: NEW Version: 6-1.8.13 Component: IcedTea Product: IcedTea Created attachment 693 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=693&action=edit Error stack trace Hi, I am having some trouble installing Jenkins ci on a fresh Debian squeeze today. There is what I did : * apt-get install openjdk-6-jre openjdk-6-jdk jenkins During the Jenkins instalation I got this errors : root at hudson:~# tail -f /var/log/jenkins/jenkins.log Running from: /usr/share/jenkins/jenkins.war May 22, 2012 3:17:17 PM winstone.Logger logInternal INFO: Beginning extraction from war file Exception in thread "Reference Handler" java.lang.IllegalMonitorStateException at java.lang.Object.notifyAll(Native Method) at java.lang.ref.ReferenceQueue.enqueue(ReferenceQueue.java:68) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:146) Jenkins home directory: /var/lib/jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME") # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (nmethod.cpp:1880), pid=23165, tid=139961020147456 # Error: guarantee(nm->_lock_count >= 0,"unmatched nmethod lock/unlock") # # JRE version: 6.0_18-b18 # Java VM: OpenJDK 64-Bit Server VM (14.0-b16 mixed mode linux-amd64 ) # Derivative: IcedTea6 1.8.13 # Distribution: Debian GNU/Linux 6.0.4 (squeeze), package 6b18-1.8.13-0+squeeze1 # An error report file with more information is saved as: # /tmp/hs_err_pid23165.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/5b056001/attachment.html From adomurad at icedtea.classpath.org Tue May 22 09:11:57 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Tue, 22 May 2012 16:11:57 +0000 Subject: /hg/release/icedtea-web-1.2: Removed uses of synchronization on ... Message-ID: changeset 886414736595 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=886414736595 author: Adam Domurad date: Tue May 22 12:11:10 2012 -0400 Removed uses of synchronization on Boolean object. diffstat: plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diffs (36 lines): diff -r 08121ef055a2 -r 886414736595 plugin/icedteanp/java/sun/applet/PluginStreamHandler.java --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Tue May 22 17:37:25 2012 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Tue May 22 12:11:10 2012 -0400 @@ -59,7 +59,7 @@ private JavaConsole console = new JavaConsole(); private PluginMessageConsumer consumer; - private Boolean shuttingDown = false; + private volatile boolean shuttingDown = false; public PluginStreamHandler(InputStream inputstream, OutputStream outputstream) @@ -322,9 +322,7 @@ PluginDebug.debug(" PIPE: appletviewer read: ", message); if (message == null || message.equals("shutdown")) { - synchronized (shuttingDown) { - shuttingDown = true; - } + shuttingDown = true; try { // Close input/output channels to plugin. pluginInputReader.close(); @@ -362,10 +360,8 @@ } catch (IOException e) { // if we are shutting down, ignore write failures as // pipe may have closed - synchronized (shuttingDown) { - if (!shuttingDown) { - e.printStackTrace(); - } + if (!shuttingDown) { + e.printStackTrace(); } // either ways, if the pipe is broken, there is nothing From adomurad at icedtea.classpath.org Tue May 22 09:13:10 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Tue, 22 May 2012 16:13:10 +0000 Subject: /hg/release/icedtea-web-1.1: Removed synchronization on Boolean ... Message-ID: changeset 203e1b4e5c23 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=203e1b4e5c23 author: Adam Domurad date: Tue May 22 12:13:03 2012 -0400 Removed synchronization on Boolean when shutting down. diffstat: plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diffs (36 lines): diff -r 4672053d61e0 -r 203e1b4e5c23 plugin/icedteanp/java/sun/applet/PluginStreamHandler.java --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Mon Apr 02 11:28:21 2012 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Tue May 22 12:13:03 2012 -0400 @@ -59,7 +59,7 @@ private JavaConsole console = new JavaConsole(); private PluginMessageConsumer consumer; - private Boolean shuttingDown = false; + private volatile boolean shuttingDown = false; public PluginStreamHandler(InputStream inputstream, OutputStream outputstream) @@ -322,9 +322,7 @@ PluginDebug.debug(" PIPE: appletviewer read: ", message); if (message == null || message.equals("shutdown")) { - synchronized (shuttingDown) { - shuttingDown = true; - } + shuttingDown = true; try { // Close input/output channels to plugin. pluginInputReader.close(); @@ -362,10 +360,8 @@ } catch (IOException e) { // if we are shutting down, ignore write failures as // pipe may have closed - synchronized (shuttingDown) { - if (!shuttingDown) { - e.printStackTrace(); - } + if (!shuttingDown) { + e.printStackTrace(); } // either ways, if the pipe is broken, there is nothing From omajid at redhat.com Tue May 22 09:41:59 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 22 May 2012 12:41:59 -0400 Subject: /hg/release/icedtea-web-1.2: Removed uses of synchronization on ... In-Reply-To: References: Message-ID: <4FBBC1D7.60700@redhat.com> Hi Adam, Just a note that we normally require a separate review for backporting a patch to a release branch. In this case, it looks fine to backport. But generally we leave things in HEAD for a little while to soak first. On 05/22/2012 12:11 PM, adomurad at icedtea.classpath.org wrote: > changeset 886414736595 in /hg/release/icedtea-web-1.2 > details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=886414736595 > author: Adam Domurad > date: Tue May 22 12:11:10 2012 -0400 > > Removed uses of synchronization on Boolean object. > > > diffstat: > > plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 ++++-------- > 1 files changed, 4 insertions(+), 8 deletions(-) > Also, you are supposed to update the ChangeLog too ;) No need for a separate review for just that though. Just commit the changes to the ChangeLog. Cheers, Omair From dbhole at redhat.com Tue May 22 10:08:55 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 13:08:55 -0400 Subject: New proposed release cycle for IcedTea-Web In-Reply-To: <4FBBB3FC.8060302@redhat.com> References: <20120522152247.GH29866@redhat.com> <4FBBB3FC.8060302@redhat.com> Message-ID: <20120522170855.GM29866@redhat.com> * Jiri Vanek [2012-05-22 11:42]: > On 05/22/2012 05:22 PM, Deepak Bhole wrote: > >Hi Everyone, > > > >The past, IcedTea-Web releases have been rather sporadic and I would like > >to address this with a firm release cycle. > > > >I was thinking that from here on, we do a forced release every 4-6 > >months, with branching happening 3 weeks before release. > > > >Whichever period we pick, the release date will be firm. The only > >exceptions allowed will be critical blockers/regressions. If features do > >not make it in before branching, they get pushed to next release. > > > >With 6 months, the next release will be on September 4th 2012. > >With 4 months, the next release will be on July 3rd 2012. > With 6months I will be able to finish SplashScreen, with 4 I'm afraid I will not finish it in time :( > How about 5-mo for this one since it is rather short notice? With 5, we would release on August 7th and branch around July 17th, so just below 2 months from now for branch. > > > >I had 6 months in mind initially, but given the pace at which things are > >moving, I think 4 is more suited in the short-term for the next 2-3 > >releases. > So my suggestion here is 4-6 according to features :) I think that would contradict the notion of non-negotiable release cycles. An open-ended "4-6 according to features" once again starts to drag us into feature based releases which I would like to avoid as it has not worked for us in the past. Cheers, Deepak From omajid at redhat.com Tue May 22 10:30:31 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 22 May 2012 13:30:31 -0400 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FBB8D18.5040505@redhat.com> References: <4FB11904.1000408@redhat.com> <4FB26531.7010104@redhat.com> <4FB26C97.4030108@redhat.com> <4FB26E05.6060104@redhat.com> <4FB271F6.2050807@redhat.com> <4FBB8D18.5040505@redhat.com> Message-ID: <4FBBCD37.7060806@redhat.com> On 05/22/2012 08:56 AM, Jiri Vanek wrote: > As agreed on IRC, Percentage removed. What do you think now? I am wondering what really differentiates KnownToFail from Ignore, aside from the fact that we are processing the KnownToFail annotation. But we could do the same for Ignore, right? Is it that tests makred with Ignore are not run while tests marked with KnownToFail are run? Something I am unclear about. Say I have this test case: class TestCase { @Test @KnownToFail public void someTestMethod() throws Exception { assertTrue(false); } } What stat do you think should be printed? Passed: 0, Failed: 1, Ignored: 0 or Passed: 0, Failed: 0, Ignored: 1 (with something to indicate the exepected failure?) > After deep meditation I consider it as better now too :) I am glad we came to the same conclusion :) I have some comments below, and it could use some cleanup in general. > diff -r 1088b2dffe49 tests/junit-runner/JunitLikeXmlOutputListener.java > --- a/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 22 12:08:17 2012 +0200 > +++ b/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 22 14:32:43 2012 +0200 > @@ -45,6 +47,7 @@ > private static final String TEST_ELEMENT = "testcase"; > private static final String BUGS = "bugs"; > private static final String BUG = "bug"; > + private static final String K2F = "knownToFail"; A more xml-like version might be "known-to-fail" ;) > private class ClassCounter { > > Class c; > int total; > int failed; > int passed; > + int ignored; Nice! > @@ -146,20 +160,53 @@ > } > > @Override > + public void testIgnored(Description description) throws Exception { > + testDone(description, 0, 0, true); > + } > + > + @Override > public void testFinished(org.junit.runner.Description description) throws Exception { > - long testTime = System.nanoTime()/1000l/1000l - testStart; > + long testTime = System.nanoTime() / 1000l / 1000l - testStart; Try: long testTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()) - testStart; But better would be to keep testStart in nanoseconds and do the conversion to seconds after the subtraction. > double testTimeSeconds = ((double) testTime) / 1000d; > + testDone(description, testTime, testTimeSeconds, false); > + } > > - Map testcaseAtts = new HashMap(3); > + private void testDone(Description description, long testTime, double testTimeSeconds, boolean ignored) throws Exception { > + Class q = null; > + Method qm = null; s/q/testClass/ s/qm/testMethod/ > + try { > + q = description.getTestClass(); > + String qs = description.getMethodName(); > + if (qs.contains(" - ")) { > + qs = qs.replaceAll(" - .*", ""); > + } > + qm = q.getMethod(qs); I see this bit of code duplicated elsewhere too. Also, I find it bizarre that the method name contains a " - ". Can you move it to a separate method and/or add comments explaining this? > + } catch (Exception ex) { > + ex.printStackTrace(); > + } > + Map testcaseAtts = new HashMap(4); > NumberFormat formatter = new DecimalFormat("#0.0000"); > String stringedTime = formatter.format(testTimeSeconds); > stringedTime.replace(",", "."); This replacement of comma with a dot looks strange. It looks like something that should be handled by the localization code. > try { > - Class q = description.getTestClass(); > - String qs=description.getMethodName(); > - if (qs.contains(" - ")) qs=qs.replaceAll(" - .*", ""); > - Method qm = q.getMethod(qs); > - Bug b = qm.getAnnotation(Bug.class); > - if (b != null) { > - openElement(BUGS); > - String[] s = b.id(); > - for (String string : s) { > - String ss[]=createBug(string); > - Map visibleNameAtt=new HashMap(1); > + if (q != null && qm != null) { > + Bug b = qm.getAnnotation(Bug.class); > + if (b != null) { > + openElement(BUGS); > + String[] s = b.id(); > + for (String string : s) { > + String ss[] = createBug(string); "b", "s", and "ss" are not very descriptive names. Can you make them slightly more descriptive? > + Map visibleNameAtt = new HashMap(1); > visibleNameAtt.put("visibleName", ss[0]); > - openElement(BUG,visibleNameAtt); > + openElement(BUG, visibleNameAtt); > writer.write(ss[1]); > closeElement(BUG); > + } > + closeElement(BUGS); > } > - closeElement(BUGS); > } > } catch (Exception ex) { > ex.printStackTrace(); > @@ -200,16 +254,31 @@ > ClassCounter cc = classStats.get(description.getClassName()); This is probably the best argument I can point to for renaming ClassCounter to ClassStat ;) Anyway, please rename cc to "classStat" "testStat" or something. > @@ -45,7 +60,56 @@ > int passed = result.getRunCount() - result.getFailureCount() - result.getIgnoreCount(); > int failed = result.getFailureCount(); > int ignored = result.getIgnoreCount(); > - writer.println("Test results: passed: " + passed + "; failed: " + failed + "; ignored: " + ignored); > + writer.println("Test results ("+result.getRunCount()+"): passed: " + passed + "; failed: " + failed + "; ignored: " + ignored); > + writer.println("Test known to fail ("+totalK2F+"): passed: " + passedK2F + "; failed: " + failedK2F + "; ignored: " + ignoredK2F); > + } Are the builders prepared to handle this change in output? > diff -r 1088b2dffe49 tests/report-styles/jreport.xsl > --- a/tests/report-styles/jreport.xsl Tue May 22 12:08:17 2012 +0200 > +++ b/tests/report-styles/jreport.xsl Tue May 22 14:32:43 2012 +0200 > @@ -53,11 +53,17 @@ > >
>

Result: (s)

> +

In brackets are KnownToFail values if any

Might be nicer if we just leave this description out and display "expected:" or "known:" in the brackets. > @@ -65,6 +71,11 @@ >
passed:
>
> > + > + > + () > + > + I am having trouble parsing this. Are these tests that are known to fail that passed? Should we be flagging this more importantly? > diff -r 1088b2dffe49 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java Tue May 22 14:32:43 2012 +0200 > +/** > + * This annotation should be declared for each test which is representing an issue > + * where icedtea-web is not doing as correctly as expected, and so the test, by its failure, > + * is showing this behaviour. > + * If the issue is fixed, annotation should be removed. > + * > + */ How about: """ This annotation marks a test as a known failure (as opposed to a regression). A test that is a known failure will not hold of a release, nor should developers hold off a fix if they run the unit tests and a test marked as a known failure fails.

This annotation is meant for adding tests for bugs before the fix is implemented. """ Cheers, Omair From adomurad at redhat.com Tue May 22 10:33:38 2012 From: adomurad at redhat.com (Adam Domurad) Date: Tue, 22 May 2012 13:33:38 -0400 Subject: /hg/release/icedtea-web-1.2: Removed uses of synchronization on ... In-Reply-To: <4FBBC1D7.60700@redhat.com> References: <4FBBC1D7.60700@redhat.com> Message-ID: <1337708018.18520.1.camel@voip-10-15-18-79.yyz.redhat.com> On Tue, 2012-05-22 at 12:41 -0400, Omair Majid wrote: > Hi Adam, > > Just a note that we normally require a separate review for backporting a > patch to a release branch. In this case, it looks fine to backport. But > generally we leave things in HEAD for a little while to soak first. > > On 05/22/2012 12:11 PM, adomurad at icedtea.classpath.org wrote: > > changeset 886414736595 in /hg/release/icedtea-web-1.2 > > details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=886414736595 > > author: Adam Domurad > > date: Tue May 22 12:11:10 2012 -0400 > > > > Removed uses of synchronization on Boolean object. > > > > > > diffstat: > > > > plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 ++++-------- > > 1 files changed, 4 insertions(+), 8 deletions(-) > > > > Also, you are supposed to update the ChangeLog too ;) No need for a > separate review for just that though. Just commit the changes to the > ChangeLog. > > Cheers, > Omair Sorry. I interpreted this comment from Deepak: > Looks good to me! OK for 1.1/1.2/HEAD from me. As permission to go ahead and backport it. And yes, an oversight on my part. I'll update the ChangeLog. From adomurad at icedtea.classpath.org Tue May 22 10:36:38 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Tue, 22 May 2012 17:36:38 +0000 Subject: /hg/release/icedtea-web-1.1: Added in changelog for removal of s... Message-ID: changeset 44e61a76e4c4 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=44e61a76e4c4 author: Adam Domurad date: Tue May 22 13:36:34 2012 -0400 Added in changelog for removal of synchronization on Boolean - was missing from original commit. diffstat: ChangeLog | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diffs (14 lines): diff -r 203e1b4e5c23 -r 44e61a76e4c4 ChangeLog --- a/ChangeLog Tue May 22 12:13:03 2012 -0400 +++ b/ChangeLog Tue May 22 13:36:34 2012 -0400 @@ -1,3 +1,10 @@ +2012-05-22 Adam Domurad + + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed + unnecessary synchronization on Boolean (dangerous) for code that did + not require synchronization. Changed Boolean => volatile boolean so + that changes are seen in different threads. + 2012-03-30 Danesh Dadachanji Certificate start dates are not being checked, they are still verified From adomurad at icedtea.classpath.org Tue May 22 10:38:11 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Tue, 22 May 2012 17:38:11 +0000 Subject: /hg/release/icedtea-web-1.2: Updating changelog with removal of ... Message-ID: changeset 418012023ad5 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=418012023ad5 author: Adam Domurad date: Tue May 22 13:38:08 2012 -0400 Updating changelog with removal of synchronization on Boolean. diffstat: ChangeLog | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diffs (14 lines): diff -r 886414736595 -r 418012023ad5 ChangeLog --- a/ChangeLog Tue May 22 12:11:10 2012 -0400 +++ b/ChangeLog Tue May 22 13:38:08 2012 -0400 @@ -1,3 +1,10 @@ +2012-05-22 Adam Domurad + + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed + unnecessary synchronization on Boolean (dangerous) for code that did + not require synchronization. Changed Boolean => volatile boolean so + that changes are seen in different threads. + 2012-05-22 Jiri Vanek Omair Majid From dbhole at redhat.com Tue May 22 10:45:40 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 13:45:40 -0400 Subject: [icedtea-web][RFC] sprintf -> snprintf in icedtea-web plugin, C++-side In-Reply-To: References: Message-ID: <20120522174539.GP29866@redhat.com> * Adam Domurad [2012-05-22 11:51]: > Hello all. Small patch, description in ChangeLog. I ran it against run-netx-dist-tests with no regressions. > The motivation being that sprintf is generally to be avoided, because if something goes wrong somewhere, it's better to have an extra fallback that prevents buffer overflow. > > A few small buffers that were being malloc/free'd in a very short period of time were made to be stack based. > There isn't a terrible need to change it performance wise, it does however make for clearer code with less possibility of error (eg, free being left out). > > Small note: > snprintf is -technically- non-standard C++ (C99 standard). However, as long as GCC is targetted, there is no issue -and- it was already used in the source as it were. > Hi Adam, One minor nit-pick: > - > - result->append(str); > - free(str); > + if (largestr != NULL){ > + result->append(largestr); > + free(largestr); > + } else { > + result->append(str); > + } Please change the above to be indented with 2 spaces instead of 1. I know the file is mixed, but for the most part it does use 2-space indentation. Everything else looks good. I agree that snprintf is better -- good catch. Ok for HEAD. Cheers, Deepak From dbhole at redhat.com Tue May 22 10:48:00 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 13:48:00 -0400 Subject: /hg/release/icedtea-web-1.2: Removed uses of synchronization on ... In-Reply-To: <1337708018.18520.1.camel@voip-10-15-18-79.yyz.redhat.com> References: <4FBBC1D7.60700@redhat.com> <1337708018.18520.1.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <20120522174800.GQ29866@redhat.com> * Adam Domurad [2012-05-22 13:42]: > On Tue, 2012-05-22 at 12:41 -0400, Omair Majid wrote: > > Hi Adam, > > > > Just a note that we normally require a separate review for backporting a > > patch to a release branch. In this case, it looks fine to backport. But > > generally we leave things in HEAD for a little while to soak first. > > > > On 05/22/2012 12:11 PM, adomurad at icedtea.classpath.org wrote: > > > changeset 886414736595 in /hg/release/icedtea-web-1.2 > > > details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=886414736595 > > > author: Adam Domurad > > > date: Tue May 22 12:11:10 2012 -0400 > > > > > > Removed uses of synchronization on Boolean object. > > > > > > > > > diffstat: > > > > > > plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 ++++-------- > > > 1 files changed, 4 insertions(+), 8 deletions(-) > > > > > > > Also, you are supposed to update the ChangeLog too ;) No need for a > > separate review for just that though. Just commit the changes to the > > ChangeLog. > > > > Cheers, > > Omair > > > Sorry. I interpreted this comment from Deepak: > > Looks good to me! OK for 1.1/1.2/HEAD from me. > As permission to go ahead and backport it. And yes, an oversight on my > part. I'll update the ChangeLog. > Hi Adam, I actually did mean that it can go into all branches. I didn't ask for separate branch patches due to the minor scale of the change (and I had already looked at 1.0/1.1 code before approving). Cheers, Deepak From omajid at redhat.com Tue May 22 10:48:22 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 22 May 2012 13:48:22 -0400 Subject: [RFC][icedtea-web][rhino] added tests for corner cases of dateRange and enabled testWeekdayRange In-Reply-To: <4EBBB198.4080400@redhat.com> References: <4EB92EFA.9000601@redhat.com> <4EBAB6E4.3030606@redhat.com> <4EBBB198.4080400@redhat.com> Message-ID: <4FBBD166.5010201@redhat.com> On 11/10/2011 06:12 AM, Jiri Vanek wrote: > Attached is patch with fixed indentation Well, turns out that this isn't quite true :( > - // note: watch out for wrapping around of dates. date ranges, like > - // month=9 to month=8, wrap around and cover the entire year. this > - // makes everything more interesting > + function isDateInRange() { I completely missed that this makes isDateInRange a top-level function. I intentionally wanted to avoid this; this script now exposes this (unexpected) function to all the proxy auto config scripts. I can imagine all sorts of name clashes if a script accidentally defines a function with the same name. Can we fix this somehow while still keeping the testing benefits? Thanks, Omair From omajid at redhat.com Tue May 22 10:49:39 2012 From: omajid at redhat.com (Omair Majid) Date: Tue, 22 May 2012 13:49:39 -0400 Subject: /hg/release/icedtea-web-1.2: Removed uses of synchronization on ... In-Reply-To: <20120522174800.GQ29866@redhat.com> References: <4FBBC1D7.60700@redhat.com> <1337708018.18520.1.camel@voip-10-15-18-79.yyz.redhat.com> <20120522174800.GQ29866@redhat.com> Message-ID: <4FBBD1B3.8050403@redhat.com> On 05/22/2012 01:48 PM, Deepak Bhole wrote: > * Adam Domurad [2012-05-22 13:42]: >> Sorry. I interpreted this comment from Deepak: >>> Looks good to me! OK for 1.1/1.2/HEAD from me. >> As permission to go ahead and backport it. > > I actually did mean that it can go into all branches. I didn't ask for > separate branch patches due to the minor scale of the change (and I had > already looked at 1.0/1.1 code before approving). Mea culpa. I didn't see this approval. Omair From adomurad at icedtea.classpath.org Tue May 22 11:20:01 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Tue, 22 May 2012 18:20:01 +0000 Subject: /hg/icedtea-web: Changed usage of sprintf to snprintf. Made some... Message-ID: changeset c367faabd08e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c367faabd08e author: Adam Domurad date: Tue May 22 14:19:50 2012 -0400 Changed usage of sprintf to snprintf. Made some small malloc'd buffers on the stack. These changes are unlikely to change functionality, for if the buffer is too small to write to, something has already gone wrong. However, they are good as an additional safety guarantee, preventing memory from corruption in the case that something goes wrong. diffstat: ChangeLog | 12 +++++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 54 +++++++++++++++++---------------- 3 files changed, 43 insertions(+), 29 deletions(-) diffs (169 lines): diff -r 7bbba99d25cc -r c367faabd08e ChangeLog --- a/ChangeLog Tue May 22 14:21:10 2012 +0200 +++ b/ChangeLog Tue May 22 14:19:50 2012 -0400 @@ -1,3 +1,15 @@ +2012-05-22 Adam Domurad + + Changed allocation of small, fixed-size buffers to stack-based + allocations. Changed occurences of sprintf to the safer function + snprintf, added buffer information. While unlikely to change + functionality, snprintf adds an extra check to prevent buffer + overflows. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers + using malloc changed to stack allocation & changed sprintf calls to + buffer-size aware snprintf calls. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. + 2012-05-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: diff -r 7bbba99d25cc -r c367faabd08e plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 14:21:10 2012 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 14:19:50 2012 -0400 @@ -1227,9 +1227,9 @@ { // clear the "instance X status" parts - sprintf(parts[0], ""); - sprintf(parts[1], ""); - sprintf(parts[2], ""); + snprintf(parts[0], sizeof(""), ""); + snprintf(parts[1], sizeof(""), ""); + snprintf(parts[2], sizeof(""), ""); // join the rest gchar* status_message = g_strjoinv(" ", parts); diff -r 7bbba99d25cc -r c367faabd08e plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Tue May 22 14:21:10 2012 +0200 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Tue May 22 14:19:50 2012 -0400 @@ -147,21 +147,20 @@ IcedTeaPluginUtilities::JSIDToString(void* id, std::string* result) { - char* id_str = (char*) malloc(sizeof(char)*20); // max = long long = 8446744073709551615 == 19 chars + char id_str[20]; // max = long long = 8446744073709551615 == 19 chars if (sizeof(void*) == sizeof(long long)) { - sprintf(id_str, "%llu", id); + snprintf(id_str, sizeof(id_str), "%llu", id); } else { - sprintf(id_str, "%lu", id); // else use long + snprintf(id_str, sizeof(id_str), "%lu", id); // else use long } result->append(id_str); PLUGIN_DEBUG("Converting pointer %p to %s\n", id, id_str); - free(id_str); } /** @@ -258,11 +257,9 @@ IcedTeaPluginUtilities::itoa(int i, std::string* result) { // largest possible integer is 10 digits long - char* int_str = (char*) malloc(sizeof(char)*11); - sprintf(int_str, "%d", i); + char int_str[11]; + snprintf(int_str, sizeof(int_str), "%d", i); result->append(int_str); - - free(int_str); } /** @@ -372,18 +369,17 @@ ostream << length; // UTF-8 characters are 4-bytes max + space + '\0' - char* hex_value = (char*) malloc(sizeof(char)*10); + char hex_value[10]; for (int i = 0; i < str->length(); i++) { - sprintf(hex_value, " %hx", str->at(i)); + snprintf(hex_value, sizeof(hex_value)," %hx", str->at(i)); ostream << hex_value; } utf_str->clear(); *utf_str = ostream.str(); - free(hex_value); PLUGIN_DEBUG("Converted %s to UTF-8 string %s\n", str->c_str(), utf_str->c_str()); } @@ -683,49 +679,55 @@ void IcedTeaPluginUtilities::NPVariantToString(NPVariant variant, std::string* result) { - char* str = (char*) malloc(sizeof(char)*32); // enough for everything except string + char str[32]; // enough for everything except string + char* largestr = NULL; if (NPVARIANT_IS_VOID(variant)) { - sprintf(str, "%p", variant); + snprintf(str, sizeof(str), "%p", variant); } else if (NPVARIANT_IS_NULL(variant)) { - sprintf(str, "NULL"); + snprintf(str, sizeof(str), "NULL"); } else if (NPVARIANT_IS_BOOLEAN(variant)) { if (NPVARIANT_TO_BOOLEAN(variant)) - sprintf(str, "true"); + snprintf(str, sizeof(str), "true"); else - sprintf(str, "false"); + snprintf(str, sizeof(str), "false"); } else if (NPVARIANT_IS_INT32(variant)) { - sprintf(str, "%d", NPVARIANT_TO_INT32(variant)); + snprintf(str, sizeof(str), "%d", NPVARIANT_TO_INT32(variant)); } else if (NPVARIANT_IS_DOUBLE(variant)) { - sprintf(str, "%f", NPVARIANT_TO_DOUBLE(variant));; + snprintf(str, sizeof(str), "%f", NPVARIANT_TO_DOUBLE(variant));; } else if (NPVARIANT_IS_STRING(variant)) { free(str); #if MOZILLA_VERSION_COLLAPSED < 1090200 - str = (char*) malloc(sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length); - sprintf(str, "%s", NPVARIANT_TO_STRING(variant).utf8characters); + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length; + largestr = (char*) malloc(buffersize); + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).utf8characters); #else - str = (char*) malloc(sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length); - sprintf(str, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length; + largestr = (char*) malloc(buffersize); + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); #endif } else { - sprintf(str, "[Object %p]", variant); + snprintf(str, sizeof(str), "[Object %p]", variant); } - - result->append(str); - free(str); + if (largestr != NULL){ + result->append(largestr); + free(largestr); + } else { + result->append(str); + } } bool From dbhole at redhat.com Tue May 22 11:39:32 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 14:39:32 -0400 Subject: /hg/icedtea-web: Changed usage of sprintf to snprintf. Made some... In-Reply-To: References: Message-ID: <20120522183931.GS29866@redhat.com> * adomurad at icedtea.classpath.org [2012-05-22 14:30]: > changeset c367faabd08e in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c367faabd08e > author: Adam Domurad > date: Tue May 22 14:19:50 2012 -0400 > > Changed usage of sprintf to snprintf. Made some small malloc'd buffers on the stack. > These changes are unlikely to change functionality, for if the buffer is too small to write to, something has already gone wrong. However, they are good as an additional safety guarantee, preventing memory from corruption in the case that something goes wrong. Hi Adam, Can you please wrap all comments on 80 for future commits? Makes it a lot easier to read :) Thanks! Deepak > > > diffstat: > > ChangeLog | 12 +++++++ > plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +- > plugin/icedteanp/IcedTeaPluginUtils.cc | 54 +++++++++++++++++---------------- > 3 files changed, 43 insertions(+), 29 deletions(-) > > diffs (169 lines): > > diff -r 7bbba99d25cc -r c367faabd08e ChangeLog > --- a/ChangeLog Tue May 22 14:21:10 2012 +0200 > +++ b/ChangeLog Tue May 22 14:19:50 2012 -0400 > @@ -1,3 +1,15 @@ > +2012-05-22 Adam Domurad > + > + Changed allocation of small, fixed-size buffers to stack-based > + allocations. Changed occurences of sprintf to the safer function > + snprintf, added buffer information. While unlikely to change > + functionality, snprintf adds an extra check to prevent buffer > + overflows. > + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers > + using malloc changed to stack allocation & changed sprintf calls to > + buffer-size aware snprintf calls. > + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. > + > 2012-05-22 Jiri Vanek > > * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: > diff -r 7bbba99d25cc -r c367faabd08e plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 14:21:10 2012 +0200 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 14:19:50 2012 -0400 > @@ -1227,9 +1227,9 @@ > { > > // clear the "instance X status" parts > - sprintf(parts[0], ""); > - sprintf(parts[1], ""); > - sprintf(parts[2], ""); > + snprintf(parts[0], sizeof(""), ""); > + snprintf(parts[1], sizeof(""), ""); > + snprintf(parts[2], sizeof(""), ""); > > // join the rest > gchar* status_message = g_strjoinv(" ", parts); > diff -r 7bbba99d25cc -r c367faabd08e plugin/icedteanp/IcedTeaPluginUtils.cc > --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Tue May 22 14:21:10 2012 +0200 > +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Tue May 22 14:19:50 2012 -0400 > @@ -147,21 +147,20 @@ > IcedTeaPluginUtilities::JSIDToString(void* id, std::string* result) > { > > - char* id_str = (char*) malloc(sizeof(char)*20); // max = long long = 8446744073709551615 == 19 chars > + char id_str[20]; // max = long long = 8446744073709551615 == 19 chars > > if (sizeof(void*) == sizeof(long long)) > { > - sprintf(id_str, "%llu", id); > + snprintf(id_str, sizeof(id_str), "%llu", id); > } > else > { > - sprintf(id_str, "%lu", id); // else use long > + snprintf(id_str, sizeof(id_str), "%lu", id); // else use long > } > > result->append(id_str); > > PLUGIN_DEBUG("Converting pointer %p to %s\n", id, id_str); > - free(id_str); > } > > /** > @@ -258,11 +257,9 @@ > IcedTeaPluginUtilities::itoa(int i, std::string* result) > { > // largest possible integer is 10 digits long > - char* int_str = (char*) malloc(sizeof(char)*11); > - sprintf(int_str, "%d", i); > + char int_str[11]; > + snprintf(int_str, sizeof(int_str), "%d", i); > result->append(int_str); > - > - free(int_str); > } > > /** > @@ -372,18 +369,17 @@ > ostream << length; > > // UTF-8 characters are 4-bytes max + space + '\0' > - char* hex_value = (char*) malloc(sizeof(char)*10); > + char hex_value[10]; > > for (int i = 0; i < str->length(); i++) > { > - sprintf(hex_value, " %hx", str->at(i)); > + snprintf(hex_value, sizeof(hex_value)," %hx", str->at(i)); > ostream << hex_value; > } > > utf_str->clear(); > *utf_str = ostream.str(); > > - free(hex_value); > PLUGIN_DEBUG("Converted %s to UTF-8 string %s\n", str->c_str(), utf_str->c_str()); > } > > @@ -683,49 +679,55 @@ > void > IcedTeaPluginUtilities::NPVariantToString(NPVariant variant, std::string* result) > { > - char* str = (char*) malloc(sizeof(char)*32); // enough for everything except string > + char str[32]; // enough for everything except string > + char* largestr = NULL; > > if (NPVARIANT_IS_VOID(variant)) > { > - sprintf(str, "%p", variant); > + snprintf(str, sizeof(str), "%p", variant); > } > else if (NPVARIANT_IS_NULL(variant)) > { > - sprintf(str, "NULL"); > + snprintf(str, sizeof(str), "NULL"); > } > else if (NPVARIANT_IS_BOOLEAN(variant)) > { > if (NPVARIANT_TO_BOOLEAN(variant)) > - sprintf(str, "true"); > + snprintf(str, sizeof(str), "true"); > else > - sprintf(str, "false"); > + snprintf(str, sizeof(str), "false"); > } > else if (NPVARIANT_IS_INT32(variant)) > { > - sprintf(str, "%d", NPVARIANT_TO_INT32(variant)); > + snprintf(str, sizeof(str), "%d", NPVARIANT_TO_INT32(variant)); > } > else if (NPVARIANT_IS_DOUBLE(variant)) > { > - sprintf(str, "%f", NPVARIANT_TO_DOUBLE(variant));; > + snprintf(str, sizeof(str), "%f", NPVARIANT_TO_DOUBLE(variant));; > } > else if (NPVARIANT_IS_STRING(variant)) > { > free(str); > #if MOZILLA_VERSION_COLLAPSED < 1090200 > - str = (char*) malloc(sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length); > - sprintf(str, "%s", NPVARIANT_TO_STRING(variant).utf8characters); > + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length; > + largestr = (char*) malloc(buffersize); > + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).utf8characters); > #else > - str = (char*) malloc(sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length); > - sprintf(str, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); > + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length; > + largestr = (char*) malloc(buffersize); > + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); > #endif > } > else > { > - sprintf(str, "[Object %p]", variant); > + snprintf(str, sizeof(str), "[Object %p]", variant); > } > - > - result->append(str); > - free(str); > + if (largestr != NULL){ > + result->append(largestr); > + free(largestr); > + } else { > + result->append(str); > + } > } > > bool From ddadacha at redhat.com Tue May 22 11:58:46 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Tue, 22 May 2012 14:58:46 -0400 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FB8FD2B.2050907@redhat.com> References: <4FB8FD2B.2050907@redhat.com> Message-ID: <4FBBE1E6.8050502@redhat.com> Hi Jiri, On 20/05/12 10:18 AM, Jiri Vanek wrote: > Hi! > > During last week I was asked by Danesh and Saad to introduce more hierarchical server and whitelist for reproducers. > The following patches should add those features. Can you guys (requesters:) mind to review if they match yours needs? > During the writing i found one bug in current implementation - redundant quotes. I fixed this in third changeset. > Zipped attachment is example of source and result. > Thank you very much for doing this! Greatly appreciated! > *smallEnchancemtnsToreproducers-jarsInDirs.diff* > > I have come many times to issue that I needed jars in more complex directory structure. After speaking with Danesh i come with idea of > package-like (but reverse) approach. > If the directory with reproducer will be named something.in.time then in jnlp_testserver will be saved as something/in/time.jar. > - original something.in.time.jar as created now will remain persisted > - testcases (definieetly) and resources (I can imagine need to have resource in upper dir) are not affected by this change > - see the example of source and resutl :) > > 2012-05-20 Jiri Vanek > > Reproducers engine enhanced for jars in subdirectories by "." naming convention > * Makefile.am: (stamps/change-dots-to-paths.stamp) new target to copy jars > with dots (.jar omitted) to the java-like package/directory structure in > jnlp_test_server > (EXPORTED_TEST_CERT) now depends on stamps/change-dots-to-paths.stamp > (clean-netx-dist-tests) removes stamps/change-dots-to-paths.stamp too. > Commenting on the patch file below. > > *smallEnchancemtnsToreproducers-whiteList.diff* > > This is very simple simplke implementation ow whitelist. It is mentioned for developing purposes. If developer > is working on set of reproducer and want to tests them, then he just select them by regexes inside this new file. > Although it is very simpl echnage I found it very useful. > > 2012-05-20 Jiri Vanek > > Introduced whitelist for reproducers > * netx-dist-tests-whitelist: new file, contains regular expressions > (separated by space) for expr to select testcases which only will be > run. By default set to all by expression .* > * Makefile.am: (REPRODUCERS_CLASS_NAMES) When class with testcases is > going to be included in list, it is at first check for match in whitelist. > If there is no match, will not be included. > > Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the engine will throw failures when running them. Are we expecting testers to know which jars depend on which? If this "dependency" is not going to be checked by the Makefile, then we should definitely add a note to the wiki page stating the various dependencies. > > > *smallEnchancemtnsToreproducers-minorFix.diff:* > > this ifix is much smaller then it looks like. It actually only removes quotes (which added \n and so wrong interpretation of paths) > cp -R --parents "$$notSrcFiles" "$(JNLP_TESTS_DIR)/$$dir/" ; \ -> cp -R --parents $$notSrcFiles "$(JNLP_TESTS_DIR)/$$dir/" ; \ and > add test for src directory. The rest is indentation. This changeset should go in in any case. > > 2012-05-20 Jiri Vanek > > Fixed error in reproducers source preparation > * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) removed > inappropriately used quotes when copying notSrcFiles. Sucre files now > copied only if src dir exists in reproducer. > s/Sucre/Source and after this, it looks good to me! Feel free to push this separately. > smallEnchancemtnsToreproducers-jarsInDirs.diff > > > diff -r 3d01ef4139f4 Makefile.am > --- a/Makefile.am Fri May 18 16:23:30 2012 +0200 > +++ b/Makefile.am Sun May 20 14:36:05 2012 +0200 > @@ -521,8 +524,38 @@ > mkdir -p stamps&& \ > touch $@ > > + : stamps/netx-dist-tests-sign-some-reproducers.stamp > + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ > + types=(simple signed); \ > + for which in "$${types[@]}" ; do \ > + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ > + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ > + IFS="$$IFS_BACKUP" ; \ > + for dir in "$${simpleReproducers[@]}" ; do \ I found this next chunk a bit too complicated. Bash has the power to do all of this for you without expr! > + q=`expr index "$$dir" .`; \ > + r=$$? ; \ > + if [ $$r = 0 ]; then \ > + reverted=`echo $$dir|rev` ; \ > + rindex=`expr index $$reverted .` ; \ > + length=`expr length $$dir` ; \ > + let index=$$length-$$rindex ; \ > + let indexplus=$$index+2 ; \ > + path=`expr substr $$dir 1 $$index` ; \ > + file=`expr substr $$dir $$indexplus $$rindex` ; \ > + path=`echo $$path | sed "s/\\./\\//g"` ; \ > + file="$$file.jar" ; \ Firstly, IMO there should be a check that $$dir does not start or end in a "." and throw an error if there is. I would rather error than ignore/remove the padded chars because they should not be there in the first place! Simplest way off the top of my head is $ test "${dir:0:1}" = "." && $DO_SOMETHING $ test "${dir:(-1)}" = "." && $DO_SOMETHING As for the chunk as a whole, I think it would be easier and cleaner to replace it with builtin bash: + slashed_dir="./$${dir//.//}" ; \ # Does s/\./\// in variable. Also append "./" to start. + path="$${slashed_dir%/*}" ; \ # Mimic dirname + file="$${slashed_dir##*/}.jar" ; \ # Mimic basename Alternatively, you can just use basename and dirname directly too, I just prefer not spawning a subshell for them. + slashed_dir="./`echo $dir | sed 's/\\./\\//g'`" + path="`dirname $$slashed_dir`" ; \ + file="`basename $$slashed_dir`.jar" ; \ I think the first method is the cleanest but might not be the easiest to understand (knowing your way around bash strs is not that common :/ ) so the second is much simpler to understand but IMO still cleaner than your original method. What do you think? I am fine with either FWIW. These two chunks can replace everything from q=`expr...` up to file="$$file.jar" ; \ More info on string manipulation here[1] (Ctrl+F "${var//old/new}", %/* and ##*/ for the ones I used). > + echo "copying $$dir.jar to $$path as $$file" ; \ > + mkdir --parents $$path ; \ > + cp $$dir".jar" "$$path"/"$$file" ; \ > + fi ; \ > + done ; \ > + done ; \ > + popd ; \ > + mkdir -p stamps&& \ > + touch $@ > + > #this always tries to remove previous testcert > -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp netx-dist-tests-remove-cert-from-public > +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public > keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) > > stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) > @@ -827,6 +874,7 @@ > rm -f stamps/netx-dist-tests-prepare-reproducers.stamp > rm -f stamps/netx-dist-tests-compile-testcases.stamp > rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp > + rm -f stamps/change-dots-to-paths.stamp > rm -f junit-jnlp-dist-simple.txt > rm -f junit-jnlp-dist-signed.txt > rm -f $(REPRODUCERS_CLASS_NAMES) > [1] http://mywiki.wooledge.org/BashFAQ/100 From smohammad at redhat.com Tue May 22 12:33:51 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Tue, 22 May 2012 15:33:51 -0400 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests Message-ID: <4FBBEA1F.6010007@redhat.com> Hi, The patch attached tests the launch of applications with a signed JNLP file using matching and non-matching JNLP launch files. -- Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: signedJNLPTests.patch Type: text/x-patch Size: 54317 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120522/e609f5ff/signedJNLPTests.patch From adomurad at redhat.com Tue May 22 13:05:24 2012 From: adomurad at redhat.com (Adam Domurad) Date: Tue, 22 May 2012 16:05:24 -0400 Subject: [icedtea-web] Proposed formatting for C++ side of plugin Message-ID: <1337717124.9450.6.camel@voip-10-15-18-79.yyz.redhat.com> So, currently the C++ side of the plugin uses inconsistent indents (tabs and various # of spaces). An auto-format to make the code formatted more like the Java side could be beneficial. As Omair pointed out however, formatting HEAD will cause back-ports to become more difficult. I therefore propose to create an Eclipse formatting profile that will define the standard formatting for the C++ side of the project, and then back-port this formatting profile so that future back-ported patches are not made more difficult due to indenting/line number differences. From dbhole at redhat.com Tue May 22 13:39:39 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 16:39:39 -0400 Subject: [icedtea-web] Proposed formatting for C++ side of plugin In-Reply-To: <1337717124.9450.6.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337717124.9450.6.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <20120522203939.GU29866@redhat.com> * Adam Domurad [2012-05-22 16:06]: > So, currently the C++ side of the plugin uses inconsistent indents (tabs > and various # of spaces). An auto-format to make the code formatted more > like the Java side could be beneficial. > > As Omair pointed out however, formatting HEAD will cause back-ports to > become more difficult. > > I therefore propose to create an Eclipse formatting profile that will > define the standard formatting for the C++ side of the project, and then > back-port this formatting profile so that future back-ported patches are > not made more difficult due to indenting/line number differences. > Yep, there is a formatting profile for Java in the repos -- we'd just have to add something similar for C++. Also, I am unclear as to what you mean by "back-port this formatting profile" -- as in re-indent the code in stable branches? Deepak From dbhole at redhat.com Tue May 22 13:49:44 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 22 May 2012 16:49:44 -0400 Subject: [icedtea-web] Proposed formatting for C++ side of plugin In-Reply-To: <20120522203939.GU29866@redhat.com> References: <1337717124.9450.6.camel@voip-10-15-18-79.yyz.redhat.com> <20120522203939.GU29866@redhat.com> Message-ID: <20120522204944.GW29866@redhat.com> * Deepak Bhole [2012-05-22 16:48]: > * Adam Domurad [2012-05-22 16:06]: > > So, currently the C++ side of the plugin uses inconsistent indents (tabs > > and various # of spaces). An auto-format to make the code formatted more > > like the Java side could be beneficial. > > > > As Omair pointed out however, formatting HEAD will cause back-ports to > > become more difficult. > > > > I therefore propose to create an Eclipse formatting profile that will > > define the standard formatting for the C++ side of the project, and then > > back-port this formatting profile so that future back-ported patches are > > not made more difficult due to indenting/line number differences. > > > > Yep, there is a formatting profile for Java in the repos -- we'd just > have to add something similar for C++. > > Also, I am unclear as to what you mean by "back-port this formatting > profile" -- as in re-indent the code in stable branches? > Adam just confirmed that this indeed entails backporting the indentation changes. I am OK with this as it will strictly be a spacing only change and no matter when we do it, we will have to backport it to make future backporting easier. Given the scope, I think at least one more person should sign off on this one however. Cheers, Deepak From ddadacha at redhat.com Tue May 22 14:00:42 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Tue, 22 May 2012 17:00:42 -0400 Subject: New proposed release cycle for IcedTea-Web In-Reply-To: <20120522170855.GM29866@redhat.com> References: <20120522152247.GH29866@redhat.com> <4FBBB3FC.8060302@redhat.com> <20120522170855.GM29866@redhat.com> Message-ID: <4FBBFE7A.3090600@redhat.com> On 22/05/12 01:08 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-22 11:42]: >> On 05/22/2012 05:22 PM, Deepak Bhole wrote: >>> Hi Everyone, >>> >>> The past, IcedTea-Web releases have been rather sporadic and I would like >>> to address this with a firm release cycle. >>> >>> I was thinking that from here on, we do a forced release every 4-6 >>> months, with branching happening 3 weeks before release. >>> >>> Whichever period we pick, the release date will be firm. The only >>> exceptions allowed will be critical blockers/regressions. If features do >>> not make it in before branching, they get pushed to next release. >>> >>> With 6 months, the next release will be on September 4th 2012. >>> With 4 months, the next release will be on July 3rd 2012. >> With 6months I will be able to finish SplashScreen, with 4 I'm afraid I will not finish it in time :( >> > > How about 5-mo for this one since it is rather short notice? With 5, we > would release on August 7th and branch around July 17th, so just below 2 > months from now for branch. > I'm fine with having shorter release cycles as long as the process does not require _that much_ work. As far as I understand, the main annoyance is going through the regression tests [1] so if this is the case, 4-6 month release cycles are fine by me. IMO 6 months is fine just so that distro packagers don't have to go through more hassle, on the condition that we run through regression tests more often! [1] which IMHO should be done more often than every 4 months anyways. I would say after X changesets (perhaps feature-related changesets only). >>> >>> I had 6 months in mind initially, but given the pace at which things are >>> moving, I think 4 is more suited in the short-term for the next 2-3 >>> releases. >> So my suggestion here is 4-6 according to features :) > > I think that would contradict the notion of non-negotiable release > cycles. An open-ended "4-6 according to features" once again starts to > drag us into feature based releases which I would like to avoid as it > has not worked for us in the past. > +1 for having fixed dates too, this way the regression dates are gone through at least once every 4-6 months. Cheers, Danesh From jvanek at redhat.com Wed May 23 00:35:25 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 09:35:25 +0200 Subject: New proposed release cycle for IcedTea-Web In-Reply-To: <4FBBFE7A.3090600@redhat.com> References: <20120522152247.GH29866@redhat.com> <4FBBB3FC.8060302@redhat.com> <20120522170855.GM29866@redhat.com> <4FBBFE7A.3090600@redhat.com> Message-ID: <4FBC933D.4060302@redhat.com> On 05/22/2012 11:00 PM, Danesh Dadachanji wrote: > > > On 22/05/12 01:08 PM, Deepak Bhole wrote: >> * Jiri Vanek [2012-05-22 11:42]: >>> On 05/22/2012 05:22 PM, Deepak Bhole wrote: >>>> Hi Everyone, >>>> >>>> The past, IcedTea-Web releases have been rather sporadic and I would like >>>> to address this with a firm release cycle. >>>> >>>> I was thinking that from here on, we do a forced release every 4-6 >>>> months, with branching happening 3 weeks before release. >>>> >>>> Whichever period we pick, the release date will be firm. The only >>>> exceptions allowed will be critical blockers/regressions. If features do >>>> not make it in before branching, they get pushed to next release. >>>> >>>> With 6 months, the next release will be on September 4th 2012. >>>> With 4 months, the next release will be on July 3rd 2012. >>> With 6months I will be able to finish SplashScreen, with 4 I'm afraid I will not finish it in >>> time :( >>> >> >> How about 5-mo for this one since it is rather short notice? With 5, we >> would release on August 7th and branch around July 17th, so just below 2 >> months from now for branch. yap should be ok. >> > > I'm fine with having shorter release cycles as long as the process does not require _that much_ > work. As far as I understand, the main annoyance is going through the regression tests [1] so if > this is the case, 4-6 month release cycles are fine by me. IMO 6 months is fine just so that distro > packagers don't have to go through more hassle, on the condition that we run through regression > tests more often! > > [1] which IMHO should be done more often than every 4 months anyways. I would say after X changesets > (perhaps feature-related changesets only). > >>>> >>>> I had 6 months in mind initially, but given the pace at which things are >>>> moving, I think 4 is more suited in the short-term for the next 2-3 >>>> releases. >>> So my suggestion here is 4-6 according to features :) >> >> I think that would contradict the notion of non-negotiable release >> cycles. An open-ended "4-6 according to features" once again starts to >> drag us into feature based releases which I would like to avoid as it >> has not worked for us in the past. Ok. I have lack of experiences here. So as you wish! >> > > +1 for having fixed dates too, this way the regression dates are gone through at least once every > 4-6 months. There is huge effort to made all regression tests (including remote/foreign-bianries and visual) automated. So with some luck they will be run daily.... J. From jvanek at redhat.com Wed May 23 00:58:23 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 09:58:23 +0200 Subject: [rfc] [icedtea-web] actualised about dialog Message-ID: <4FBC989F.90904@redhat.com> 2012-05-23 Jiri Vanek Enhanced about dialog * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main tab renamed from "About NetX" to "About IcedTea-Web and NetX". * extra/net/sourceforge/javaws/about/resources/about.html: mentioned IcedTea-Web. * extra/net/sourceforge/javaws/about/resources/notes.html: List of authors synchronized with AUTHORS, mentioned classpath's IcedTea-Web as homepage of IcedTea-web. Patches are the same ;) But I realized it *after* I wrote them :/ J. -------------- next part -------------- A non-text attachment was scrubbed... Name: about-head.diff Type: text/x-patch Size: 2682 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/7d05eed3/about-head.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: about-1.2.diff Type: text/x-patch Size: 3419 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/7d05eed3/about-1.2.diff From jvanek at icedtea.classpath.org Wed May 23 01:42:51 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 08:42:51 +0000 Subject: /hg/icedtea-web: Fixed error in reproducers source preparation Message-ID: changeset c74bf4aa138c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c74bf4aa138c author: Jiri Vanek date: Wed May 23 10:42:45 2012 +0200 Fixed error in reproducers source preparation diffstat: ChangeLog | 7 +++++++ Makefile.am | 32 +++++++++++++++++--------------- 2 files changed, 24 insertions(+), 15 deletions(-) diffs (57 lines): diff -r c367faabd08e -r c74bf4aa138c ChangeLog --- a/ChangeLog Tue May 22 14:19:50 2012 -0400 +++ b/ChangeLog Wed May 23 10:42:45 2012 +0200 @@ -1,3 +1,10 @@ +2012-05-23 Jiri Vanek + + Fixed error in reproducers source preparation + * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) removed + inappropriately used quotes when copying notSrcFiles. Source files now + copied only if src dir exists in reproducer + 2012-05-22 Adam Domurad Changed allocation of small, fixed-size buffers to stack-based diff -r c367faabd08e -r c74bf4aa138c Makefile.am --- a/Makefile.am Tue May 22 14:19:50 2012 -0400 +++ b/Makefile.am Wed May 23 10:42:45 2012 +0200 @@ -508,22 +508,24 @@ for dir in "$${simpleReproducers[@]}" ; do \ echo "processing: $$dir" ; \ mkdir -p "$(JNLP_TESTS_DIR)/$$dir" ; \ - d=`pwd` ; \ - cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ - srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ - notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar -d "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \ - if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents "$$notSrcFiles" "$(JNLP_TESTS_DIR)/$$dir/" ; \ - fi ; \ - cd "$(JNLP_TESTS_DIR)/$$dir/" ; \ - if [ -f $(META_MANIFEST) ]; \ - then \ - $(BOOT_DIR)/bin/jar cfm "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(META_MANIFEST) * ; \ - else \ - $(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \ + if [ -e "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ]; then \ + d=`pwd` ; \ + cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ + srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ + notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ + $(BOOT_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar -d "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \ + if [ -n "$$notSrcFiles" ] ; then \ + cp -R --parents $$notSrcFiles "$(JNLP_TESTS_DIR)/$$dir/" ; \ + fi ; \ + cd "$(JNLP_TESTS_DIR)/$$dir/" ; \ + if [ -f $(META_MANIFEST) ]; \ + then \ + $(BOOT_DIR)/bin/jar cfm "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(META_MANIFEST) * ; \ + else \ + $(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \ + fi; \ + cd "$$d" ; \ fi; \ - cd "$$d" ; \ cp -R "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ done ; \ done ; \ From ptisnovs at redhat.com Wed May 23 02:23:27 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 23 May 2012 11:23:27 +0200 Subject: /hg/icedtea-web: Changed usage of sprintf to snprintf. Made some... In-Reply-To: References: Message-ID: <4FBCAC8F.6040204@redhat.com> Hi Adam, most changes looks ok - I mean the changes from malloced strings to a normal char arrays. I just think it would be better to replace "magical" constants to a symbolic constants, ie. 20 // max = long long = 8446744073709551615 == 19 chars etc. I'm not sure what's the actual meaning of following lines (either old and new version): > - sprintf(parts[0], ""); > - sprintf(parts[1], ""); > - sprintf(parts[2], ""); > + snprintf(parts[0], sizeof(""), ""); > + snprintf(parts[1], sizeof(""), ""); > + snprintf(parts[2], sizeof(""), ""); The new version is not safer than the old version, because to made it safer you need to set max.string length according to destination buffer, not according to source buffer. After all is not it the same as pushing '\0' to the first byte of parts[*] array? (it would be much faster) Cheers, Pavel adomurad at icedtea.classpath.org wrote: > changeset c367faabd08e in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c367faabd08e > author: Adam Domurad > date: Tue May 22 14:19:50 2012 -0400 > > Changed usage of sprintf to snprintf. Made some small malloc'd buffers on the stack. > These changes are unlikely to change functionality, for if the buffer is too small to write to, something has already gone wrong. However, they are good as an additional safety guarantee, preventing memory from corruption in the case that something goes wrong. > > > diffstat: > > ChangeLog | 12 +++++++ > plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +- > plugin/icedteanp/IcedTeaPluginUtils.cc | 54 +++++++++++++++++---------------- > 3 files changed, 43 insertions(+), 29 deletions(-) > > diffs (169 lines): > > diff -r 7bbba99d25cc -r c367faabd08e ChangeLog > --- a/ChangeLog Tue May 22 14:21:10 2012 +0200 > +++ b/ChangeLog Tue May 22 14:19:50 2012 -0400 > @@ -1,3 +1,15 @@ > +2012-05-22 Adam Domurad > + > + Changed allocation of small, fixed-size buffers to stack-based > + allocations. Changed occurences of sprintf to the safer function > + snprintf, added buffer information. While unlikely to change > + functionality, snprintf adds an extra check to prevent buffer > + overflows. > + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers > + using malloc changed to stack allocation & changed sprintf calls to > + buffer-size aware snprintf calls. > + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. > + > 2012-05-22 Jiri Vanek > > * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: > diff -r 7bbba99d25cc -r c367faabd08e plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 14:21:10 2012 +0200 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 14:19:50 2012 -0400 > @@ -1227,9 +1227,9 @@ > { > > // clear the "instance X status" parts > - sprintf(parts[0], ""); > - sprintf(parts[1], ""); > - sprintf(parts[2], ""); > + snprintf(parts[0], sizeof(""), ""); > + snprintf(parts[1], sizeof(""), ""); > + snprintf(parts[2], sizeof(""), ""); > > // join the rest > gchar* status_message = g_strjoinv(" ", parts); > diff -r 7bbba99d25cc -r c367faabd08e plugin/icedteanp/IcedTeaPluginUtils.cc > --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Tue May 22 14:21:10 2012 +0200 > +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Tue May 22 14:19:50 2012 -0400 > @@ -147,21 +147,20 @@ > IcedTeaPluginUtilities::JSIDToString(void* id, std::string* result) > { > > - char* id_str = (char*) malloc(sizeof(char)*20); // max = long long = 8446744073709551615 == 19 chars > + char id_str[20]; // max = long long = 8446744073709551615 == 19 chars > > if (sizeof(void*) == sizeof(long long)) > { > - sprintf(id_str, "%llu", id); > + snprintf(id_str, sizeof(id_str), "%llu", id); > } > else > { > - sprintf(id_str, "%lu", id); // else use long > + snprintf(id_str, sizeof(id_str), "%lu", id); // else use long > } > > result->append(id_str); > > PLUGIN_DEBUG("Converting pointer %p to %s\n", id, id_str); > - free(id_str); > } > > /** > @@ -258,11 +257,9 @@ > IcedTeaPluginUtilities::itoa(int i, std::string* result) > { > // largest possible integer is 10 digits long > - char* int_str = (char*) malloc(sizeof(char)*11); > - sprintf(int_str, "%d", i); > + char int_str[11]; > + snprintf(int_str, sizeof(int_str), "%d", i); > result->append(int_str); > - > - free(int_str); > } > > /** > @@ -372,18 +369,17 @@ > ostream << length; > > // UTF-8 characters are 4-bytes max + space + '\0' > - char* hex_value = (char*) malloc(sizeof(char)*10); > + char hex_value[10]; > > for (int i = 0; i < str->length(); i++) > { > - sprintf(hex_value, " %hx", str->at(i)); > + snprintf(hex_value, sizeof(hex_value)," %hx", str->at(i)); > ostream << hex_value; > } > > utf_str->clear(); > *utf_str = ostream.str(); > > - free(hex_value); > PLUGIN_DEBUG("Converted %s to UTF-8 string %s\n", str->c_str(), utf_str->c_str()); > } > > @@ -683,49 +679,55 @@ > void > IcedTeaPluginUtilities::NPVariantToString(NPVariant variant, std::string* result) > { > - char* str = (char*) malloc(sizeof(char)*32); // enough for everything except string > + char str[32]; // enough for everything except string > + char* largestr = NULL; > > if (NPVARIANT_IS_VOID(variant)) > { > - sprintf(str, "%p", variant); > + snprintf(str, sizeof(str), "%p", variant); > } > else if (NPVARIANT_IS_NULL(variant)) > { > - sprintf(str, "NULL"); > + snprintf(str, sizeof(str), "NULL"); > } > else if (NPVARIANT_IS_BOOLEAN(variant)) > { > if (NPVARIANT_TO_BOOLEAN(variant)) > - sprintf(str, "true"); > + snprintf(str, sizeof(str), "true"); > else > - sprintf(str, "false"); > + snprintf(str, sizeof(str), "false"); > } > else if (NPVARIANT_IS_INT32(variant)) > { > - sprintf(str, "%d", NPVARIANT_TO_INT32(variant)); > + snprintf(str, sizeof(str), "%d", NPVARIANT_TO_INT32(variant)); > } > else if (NPVARIANT_IS_DOUBLE(variant)) > { > - sprintf(str, "%f", NPVARIANT_TO_DOUBLE(variant));; > + snprintf(str, sizeof(str), "%f", NPVARIANT_TO_DOUBLE(variant));; > } > else if (NPVARIANT_IS_STRING(variant)) > { > free(str); > #if MOZILLA_VERSION_COLLAPSED < 1090200 > - str = (char*) malloc(sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length); > - sprintf(str, "%s", NPVARIANT_TO_STRING(variant).utf8characters); > + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length; > + largestr = (char*) malloc(buffersize); > + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).utf8characters); > #else > - str = (char*) malloc(sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length); > - sprintf(str, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); > + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length; > + largestr = (char*) malloc(buffersize); > + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); > #endif > } > else > { > - sprintf(str, "[Object %p]", variant); > + snprintf(str, sizeof(str), "[Object %p]", variant); > } > - > - result->append(str); > - free(str); > + if (largestr != NULL){ > + result->append(largestr); > + free(largestr); > + } else { > + result->append(str); > + } > } > > bool From jvanek at redhat.com Wed May 23 04:17:20 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 13:17:20 +0200 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FBBE1E6.8050502@redhat.com> References: <4FB8FD2B.2050907@redhat.com> <4FBBE1E6.8050502@redhat.com> Message-ID: <4FBCC740.9080000@redhat.com> On 05/22/2012 08:58 PM, Danesh Dadachanji wrote: > Hi Jiri, > > On 20/05/12 10:18 AM, Jiri Vanek wrote: >> Hi! >> >> During last week I was asked by Danesh and Saad to introduce more hierarchical server and >> whitelist for reproducers. >> The following patches should add those features. Can you guys (requesters:) mind to review if they >> match yours needs? >> During the writing i found one bug in current implementation - redundant quotes. I fixed this in >> third changeset. >> Zipped attachment is example of source and result. >> > > Thank you very much for doing this! Greatly appreciated! hhmmhmh. I'm still little bit unsure about usefulness (probably only because of lack of ideas (except sub dirs (and so lost pacakges in jars))... So I'm glad to hear that appreciated it ;) > >> *smallEnchancemtnsToreproducers-jarsInDirs.diff* >> >> I have come many times to issue that I needed jars in more complex directory structure. After >> speaking with Danesh i come with idea of >> package-like (but reverse) approach. >> If the directory with reproducer will be named something.in.time then in jnlp_testserver will be >> saved as something/in/time.jar. >> - original something.in.time.jar as created now will remain persisted >> - testcases (definieetly) and resources (I can imagine need to have resource in upper dir) are not >> affected by this change >> - see the example of source and resutl :) >> >> 2012-05-20 Jiri Vanek >> >> Reproducers engine enhanced for jars in subdirectories by "." naming convention >> * Makefile.am: (stamps/change-dots-to-paths.stamp) new target to copy jars >> with dots (.jar omitted) to the java-like package/directory structure in >> jnlp_test_server >> (EXPORTED_TEST_CERT) now depends on stamps/change-dots-to-paths.stamp >> (clean-netx-dist-tests) removes stamps/change-dots-to-paths.stamp too. >> > > Commenting on the patch file below. > >> >> *smallEnchancemtnsToreproducers-whiteList.diff* >> >> This is very simple simplke implementation ow whitelist. It is mentioned for developing purposes. >> If developer >> is working on set of reproducer and want to tests them, then he just select them by regexes inside >> this new file. >> Although it is very simpl echnage I found it very useful. >> >> 2012-05-20 Jiri Vanek >> >> Introduced whitelist for reproducers >> * netx-dist-tests-whitelist: new file, contains regular expressions >> (separated by space) for expr to select testcases which only will be >> run. By default set to all by expression .* >> * Makefile.am: (REPRODUCERS_CLASS_NAMES) When class with testcases is >> going to be included in list, it is at first check for match in whitelist. >> If there is no match, will not be included. >> >> > > Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the > info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the > engine will throw failures when running them. Are we expecting testers to know which jars depend on > which? If this "dependency" is not going to be checked by the Makefile, then we should definitely > add a note to the wiki page stating the various dependencies. I had this on mind when I wrote it. Whitelist just filter runs, not compilation and preparation. All reproducers (simple, signed and in future also special) are compiled (,signed) , deployed , resources copied, testcases compiled. But to the final list for runinning are included just those who match the regexes in list I would really like to avoid some descriptions or checks in reproducers(dependences)! They can make the engine to heavyweight. > >> >> >> *smallEnchancemtnsToreproducers-minorFix.diff:* >> >> this ifix is much smaller then it looks like. It actually only removes quotes (which added \n and >> so wrong interpretation of paths) >> cp -R --parents "$$notSrcFiles" "$(JNLP_TESTS_DIR)/$$dir/" ; \ -> cp -R --parents $$notSrcFiles >> "$(JNLP_TESTS_DIR)/$$dir/" ; \ and >> add test for src directory. The rest is indentation. This changeset should go in in any case. >> >> 2012-05-20 Jiri Vanek >> >> Fixed error in reproducers source preparation >> * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) removed >> inappropriately used quotes when copying notSrcFiles. Sucre files now >> copied only if src dir exists in reproducer. >> > > s/Sucre/Source and after this, it looks good to me! Feel free to push this separately. thanx fixed and pushed. > >> smallEnchancemtnsToreproducers-jarsInDirs.diff >> >> >> diff -r 3d01ef4139f4 Makefile.am >> --- a/Makefile.am Fri May 18 16:23:30 2012 +0200 >> +++ b/Makefile.am Sun May 20 14:36:05 2012 +0200 >> @@ -521,8 +524,38 @@ >> mkdir -p stamps&& \ >> touch $@ >> >> + : stamps/netx-dist-tests-sign-some-reproducers.stamp >> + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ >> + types=(simple signed); \ >> + for which in "$${types[@]}" ; do \ >> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ >> + IFS="$$IFS_BACKUP" ; \ >> + for dir in "$${simpleReproducers[@]}" ; do \ > > I found this next chunk a bit too complicated. Bash has the power to do all of this for you without > expr! Ok. I got inspired and get rid of my nice for-bashdumies-readable code;) And used mixture of your examples. > >> + q=`expr index "$$dir" .`; \ >> + r=$$? ; \ >> + if [ $$r = 0 ]; then \ >> + reverted=`echo $$dir|rev` ; \ >> + rindex=`expr index $$reverted .` ; \ >> + length=`expr length $$dir` ; \ >> + let index=$$length-$$rindex ; \ >> + let indexplus=$$index+2 ; \ >> + path=`expr substr $$dir 1 $$index` ; \ >> + file=`expr substr $$dir $$indexplus $$rindex` ; \ >> + path=`echo $$path | sed "s/\\./\\//g"` ; \ >> + file="$$file.jar" ; \ > > Firstly, IMO there should be a check that $$dir does not start or end in a "." and throw an error if > there is. I would rather error than ignore/remove the padded chars because they should not be there > in the first place! Simplest way off the top of my head is > > $ test "${dir:0:1}" = "." && $DO_SOMETHING > $ test "${dir:(-1)}" = "." && $DO_SOMETHING Yaaah! Thanx for catch! Included. Dying with error. > > As for the chunk as a whole, I think it would be easier and cleaner to replace it with builtin bash: > > + slashed_dir="./$${dir//.//}" ; \ # Does s/\./\// in variable. Also append "./" to start. used^ > + path="$${slashed_dir%/*}" ; \ # Mimic dirname > + file="$${slashed_dir##*/}.jar" ; \ # Mimic basename > > Alternatively, you can just use basename and dirname directly too, I just prefer not spawning a > subshell for them. > > + slashed_dir="./`echo $dir | sed 's/\\./\\//g'`" > + path="`dirname $$slashed_dir`" ; \ > + file="`basename $$slashed_dir`.jar" ; \ used ^ and ^^. I preferred those for read-ability. > > I think the first method is the cleanest but might not be the easiest to understand (knowing your > way around bash strs is not that common :/ ) so the second is much simpler to understand but IMO > still cleaner than your original method. What do you think? I am fine with either FWIW. > > These two chunks can replace everything from q=`expr...` up to file="$$file.jar" ; \ They did well. thanx! > > More info on string manipulation here[1] (Ctrl+F "${var//old/new}", %/* and ##*/ for the ones I used). > >> + echo "copying $$dir.jar to $$path as $$file" ; \ >> + mkdir --parents $$path ; \ >> + cp $$dir".jar" "$$path"/"$$file" ; \ >> + fi ; \ >> + done ; \ >> + done ; \ >> + popd ; \ >> + mkdir -p stamps&& \ >> + touch $@ >> + >> #this always tries to remove previous testcert >> -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp >> netx-dist-tests-remove-cert-from-public >> +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public >> keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass >> $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) >> >> stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) >> @@ -827,6 +874,7 @@ >> rm -f stamps/netx-dist-tests-prepare-reproducers.stamp >> rm -f stamps/netx-dist-tests-compile-testcases.stamp >> rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp >> + rm -f stamps/change-dots-to-paths.stamp >> rm -f junit-jnlp-dist-simple.txt >> rm -f junit-jnlp-dist-signed.txt >> rm -f $(REPRODUCERS_CLASS_NAMES) >> > > [1] http://mywiki.wooledge.org/BashFAQ/100 Both remaining changelogs reused... Tahnx for review (not so much for the link :P) ! J. -------------- next part -------------- A non-text attachment was scrubbed... Name: smallEnchancemtnsToreproducers-jarsInDirs2.diff Type: text/x-patch Size: 2114 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/fbc03505/smallEnchancemtnsToreproducers-jarsInDirs2.diff From ahughes at redhat.com Wed May 23 04:26:06 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 23 May 2012 07:26:06 -0400 (EDT) Subject: [rfc] [icedtea-web] actualised about dialog In-Reply-To: <4FBC989F.90904@redhat.com> Message-ID: <9ce10f8c-326c-4add-a3d9-0367b3651f69@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > 2012-05-23 Jiri Vanek > > Enhanced about dialog > * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main > tab > renamed from "About NetX" to "About IcedTea-Web and NetX". > * extra/net/sourceforge/javaws/about/resources/about.html: mentioned > IcedTea-Web. > * extra/net/sourceforge/javaws/about/resources/notes.html: List of > authors > synchronized with AUTHORS, mentioned classpath's IcedTea-Web as > homepage > of IcedTea-web. > > Patches are the same ;) But I realized it *after* I wrote them :/ > > J. > This looks ok, but we should look again at getting this automated. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at icedtea.classpath.org Wed May 23 04:35:00 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 11:35:00 +0000 Subject: /hg/release/icedtea-web-1.2: Enhanced about dialog Message-ID: changeset 9d2375280d16 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=9d2375280d16 author: Jiri Vanek date: Wed May 23 13:35:22 2012 +0200 Enhanced about dialog diffstat: ChangeLog | 11 +++++++++++ extra/net/sourceforge/javaws/about/Main.java | 4 ++-- extra/net/sourceforge/javaws/about/resources/about.html | 2 +- extra/net/sourceforge/javaws/about/resources/notes.html | 11 ++++++++++- 4 files changed, 24 insertions(+), 4 deletions(-) diffs (87 lines): diff -r 418012023ad5 -r 9d2375280d16 ChangeLog --- a/ChangeLog Tue May 22 13:38:08 2012 -0400 +++ b/ChangeLog Wed May 23 13:35:22 2012 +0200 @@ -1,3 +1,14 @@ +2012-05-23 Jiri Vanek + + Enhanced about dialog + * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main tab + renamed from "About NetX" to "About IcedTea-Web and NetX". + * extra/net/sourceforge/javaws/about/resources/about.html: mentioned + IcedTea-Web. + * extra/net/sourceforge/javaws/about/resources/notes.html: List of authors + synchronized with AUTHORS, mentioned classpath's IcedTea-Web as homepage + of IcedTea-web. + 2012-05-22 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed diff -r 418012023ad5 -r 9d2375280d16 extra/net/sourceforge/javaws/about/Main.java --- a/extra/net/sourceforge/javaws/about/Main.java Tue May 22 13:38:08 2012 -0400 +++ b/extra/net/sourceforge/javaws/about/Main.java Wed May 23 13:35:22 2012 +0200 @@ -66,7 +66,7 @@ tabbedPane = new JTabbedPane(); - tabbedPane.add("About NetX", aboutPanel); + tabbedPane.add("About IcedTea-Web and NetX", aboutPanel); tabbedPane.add("Applications", appsPanel); tabbedPane.add("Notes", notesPanel); @@ -81,7 +81,7 @@ } catch (Exception e) { } - JFrame frame = new JFrame("About NetX"); + JFrame frame = new JFrame("About IcedTea-Web and NetX"); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Main demo = null; try { diff -r 418012023ad5 -r 9d2375280d16 extra/net/sourceforge/javaws/about/resources/about.html --- a/extra/net/sourceforge/javaws/about/resources/about.html Tue May 22 13:38:08 2012 -0400 +++ b/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 13:35:22 2012 +0200 @@ -5,7 +5,7 @@ - NetX is a high-quality JNLP client that executes +

IcedTea-Web

is a high-quality JNLP client, buit on NetX, that executes network-based applications.
NetX downloads code over the network, caches it, and runs it in a secure sandbox diff -r 418012023ad5 -r 9d2375280d16 extra/net/sourceforge/javaws/about/resources/notes.html --- a/extra/net/sourceforge/javaws/about/resources/notes.html Tue May 22 13:38:08 2012 -0400 +++ b/extra/net/sourceforge/javaws/about/resources/notes.html Wed May 23 13:35:22 2012 +0200 @@ -23,14 +23,19 @@
Lillian Angel
Deepak Bhole
+ Danesh Dadachanji
+ Adam Domurad
Thomas Fitzsimmons
Andrew John Hughes
Matthias Klose
Francis Kung
Omair Majid
Jon A. Maxwell
+ Thomas Meyer
+ Saad Mohammad
Andrew Su
Joshua Sumali
+ Jiri Vanek
Mark Wielaard
Man Lung Wong
@@ -79,7 +84,11 @@ -Please visit the SourceForge site + Home page of IcedTea-Web: + + http://icedtea.classpath.org/wiki/IcedTea-Web +
+ Please visit also the SourceForge site http://jnlp.sourceforge.net/netx/index.html From jvanek at icedtea.classpath.org Wed May 23 04:41:44 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 11:41:44 +0000 Subject: /hg/icedtea-web: Enhanced about dialog Message-ID: changeset 7ae7d935b3d9 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7ae7d935b3d9 author: Jiri Vanek date: Wed May 23 13:42:11 2012 +0200 Enhanced about dialog diffstat: ChangeLog | 11 +++++++++++ extra/net/sourceforge/javaws/about/Main.java | 4 ++-- extra/net/sourceforge/javaws/about/resources/about.html | 2 +- extra/net/sourceforge/javaws/about/resources/notes.html | 11 ++++++++++- 4 files changed, 24 insertions(+), 4 deletions(-) diffs (87 lines): diff -r c74bf4aa138c -r 7ae7d935b3d9 ChangeLog --- a/ChangeLog Wed May 23 10:42:45 2012 +0200 +++ b/ChangeLog Wed May 23 13:42:11 2012 +0200 @@ -1,3 +1,14 @@ +2012-05-23 Jiri Vanek + + Enhanced about dialog + * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main tab + renamed from "About NetX" to "About IcedTea-Web and NetX". + * extra/net/sourceforge/javaws/about/resources/about.html: mentioned + IcedTea-Web. + * extra/net/sourceforge/javaws/about/resources/notes.html: List of authors + synchronized with AUTHORS, mentioned classpath's IcedTea-Web as homepage + of IcedTea-web. + 2012-05-23 Jiri Vanek Fixed error in reproducers source preparation diff -r c74bf4aa138c -r 7ae7d935b3d9 extra/net/sourceforge/javaws/about/Main.java --- a/extra/net/sourceforge/javaws/about/Main.java Wed May 23 10:42:45 2012 +0200 +++ b/extra/net/sourceforge/javaws/about/Main.java Wed May 23 13:42:11 2012 +0200 @@ -66,7 +66,7 @@ tabbedPane = new JTabbedPane(); - tabbedPane.add("About NetX", aboutPanel); + tabbedPane.add("About IcedTea-Web and NetX", aboutPanel); tabbedPane.add("Applications", appsPanel); tabbedPane.add("Notes", notesPanel); @@ -81,7 +81,7 @@ } catch (Exception e) { } - JFrame frame = new JFrame("About NetX"); + JFrame frame = new JFrame("About IcedTea-Web and NetX"); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Main demo = null; try { diff -r c74bf4aa138c -r 7ae7d935b3d9 extra/net/sourceforge/javaws/about/resources/about.html --- a/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 10:42:45 2012 +0200 +++ b/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 13:42:11 2012 +0200 @@ -5,7 +5,7 @@ - NetX is a high-quality JNLP client that executes +

IcedTea-Web

is a high-quality JNLP client, buit on NetX, that executes network-based applications.
NetX downloads code over the network, caches it, and runs it in a secure sandbox diff -r c74bf4aa138c -r 7ae7d935b3d9 extra/net/sourceforge/javaws/about/resources/notes.html --- a/extra/net/sourceforge/javaws/about/resources/notes.html Wed May 23 10:42:45 2012 +0200 +++ b/extra/net/sourceforge/javaws/about/resources/notes.html Wed May 23 13:42:11 2012 +0200 @@ -23,14 +23,19 @@
Lillian Angel
Deepak Bhole
+ Danesh Dadachanji
+ Adam Domurad
Thomas Fitzsimmons
Andrew John Hughes
Matthias Klose
Francis Kung
Omair Majid
Jon A. Maxwell
+ Thomas Meyer
+ Saad Mohammad
Andrew Su
Joshua Sumali
+ Jiri Vanek
Mark Wielaard
Man Lung Wong
@@ -79,7 +84,11 @@ -Please visit the SourceForge site + Home page of IcedTea-Web: + + http://icedtea.classpath.org/wiki/IcedTea-Web +
+ Please visit also the SourceForge site http://jnlp.sourceforge.net/netx/index.html From jvanek at redhat.com Wed May 23 04:46:00 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 13:46:00 +0200 Subject: [rfc] [icedtea-web] actualised about dialog In-Reply-To: <9ce10f8c-326c-4add-a3d9-0367b3651f69@zmail17.collab.prod.int.phx2.redhat.com> References: <9ce10f8c-326c-4add-a3d9-0367b3651f69@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FBCCDF8.8050605@redhat.com> On 05/23/2012 01:26 PM, Andrew Hughes wrote: > > > ----- Original Message ----- >> 2012-05-23 Jiri Vanek >> >> Enhanced about dialog >> * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main >> tab >> renamed from "About NetX" to "About IcedTea-Web and NetX". >> * extra/net/sourceforge/javaws/about/resources/about.html: mentioned >> IcedTea-Web. >> * extra/net/sourceforge/javaws/about/resources/notes.html: List of >> authors >> synchronized with AUTHORS, mentioned classpath's IcedTea-Web as >> homepage >> of IcedTea-web. >> >> Patches are the same ;) But I realized it *after* I wrote them :/ >> >> J. >> > > This looks ok, but we should look again at getting this automated. Thanx for review. Yap - eg authors or news should definitely by synchronised automatically.... Not only this... whole about window should be rewritten a lot. But it would need someone interested in such a change. So lets it sleep for now imho.... Thanx again, J. From jvanek at redhat.com Wed May 23 05:00:51 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 14:00:51 +0200 Subject: [RFC][icedtea-web][rhino] added tests for corner cases of dateRange and enabled testWeekdayRange In-Reply-To: <4FBBD166.5010201@redhat.com> References: <4EB92EFA.9000601@redhat.com> <4EBAB6E4.3030606@redhat.com> <4EBBB198.4080400@redhat.com> <4FBBD166.5010201@redhat.com> Message-ID: <4FBCD173.1020603@redhat.com> On 05/22/2012 07:48 PM, Omair Majid wrote: > On 11/10/2011 06:12 AM, Jiri Vanek wrote: >> Attached is patch with fixed indentation > > Well, turns out that this isn't quite true :( > >> - // note: watch out for wrapping around of dates. date ranges, like >> - // month=9 to month=8, wrap around and cover the entire year. this >> - // makes everything more interesting >> + function isDateInRange() { > > I completely missed that this makes isDateInRange a top-level function. > I intentionally wanted to avoid this; this script now exposes this > (unexpected) function to all the proxy auto config scripts. I can > imagine all sorts of name clashes if a script accidentally defines a > function with the same name. Can we fix this somehow while still keeping > the testing benefits? Well javascript private-members is painful theme. Just google around and you will get scared. What just about to rename it? I will need some nasty refactoring and prototyping which have its disadvantages. isDateInRange -> diuaseOUIUHroigjodHPffg484gfjfg ? :) or better isDateInRange - > isDateInRange_internallForIcedTeaWebTesting ? > > Thanks, > Omair From ptisnovs at redhat.com Wed May 23 05:55:21 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 23 May 2012 14:55:21 +0200 Subject: /hg/release/icedtea-web-1.2: Enhanced about dialog In-Reply-To: References: Message-ID: <4FBCDE39.9010805@redhat.com> Hi Jiri, there's a typo in the about dialog: - NetX is a high-quality JNLP client that executes +

IcedTea-Web

is a high-quality JNLP client, buit on NetX, that executes ^^^^^^^ Cheers, Pavel jvanek at icedtea.classpath.org wrote: > changeset 9d2375280d16 in /hg/release/icedtea-web-1.2 > details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=9d2375280d16 > author: Jiri Vanek > date: Wed May 23 13:35:22 2012 +0200 > > Enhanced about dialog > > > diffstat: > > ChangeLog | 11 +++++++++++ > extra/net/sourceforge/javaws/about/Main.java | 4 ++-- > extra/net/sourceforge/javaws/about/resources/about.html | 2 +- > extra/net/sourceforge/javaws/about/resources/notes.html | 11 ++++++++++- > 4 files changed, 24 insertions(+), 4 deletions(-) > > diffs (87 lines): > > diff -r 418012023ad5 -r 9d2375280d16 ChangeLog > --- a/ChangeLog Tue May 22 13:38:08 2012 -0400 > +++ b/ChangeLog Wed May 23 13:35:22 2012 +0200 > @@ -1,3 +1,14 @@ > +2012-05-23 Jiri Vanek > + > + Enhanced about dialog > + * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main tab > + renamed from "About NetX" to "About IcedTea-Web and NetX". > + * extra/net/sourceforge/javaws/about/resources/about.html: mentioned > + IcedTea-Web. > + * extra/net/sourceforge/javaws/about/resources/notes.html: List of authors > + synchronized with AUTHORS, mentioned classpath's IcedTea-Web as homepage > + of IcedTea-web. > + > 2012-05-22 Adam Domurad > > * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed > diff -r 418012023ad5 -r 9d2375280d16 extra/net/sourceforge/javaws/about/Main.java > --- a/extra/net/sourceforge/javaws/about/Main.java Tue May 22 13:38:08 2012 -0400 > +++ b/extra/net/sourceforge/javaws/about/Main.java Wed May 23 13:35:22 2012 +0200 > @@ -66,7 +66,7 @@ > > tabbedPane = new JTabbedPane(); > > - tabbedPane.add("About NetX", aboutPanel); > + tabbedPane.add("About IcedTea-Web and NetX", aboutPanel); > tabbedPane.add("Applications", appsPanel); > tabbedPane.add("Notes", notesPanel); > > @@ -81,7 +81,7 @@ > } catch (Exception e) { > } > > - JFrame frame = new JFrame("About NetX"); > + JFrame frame = new JFrame("About IcedTea-Web and NetX"); > frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); > Main demo = null; > try { > diff -r 418012023ad5 -r 9d2375280d16 extra/net/sourceforge/javaws/about/resources/about.html > --- a/extra/net/sourceforge/javaws/about/resources/about.html Tue May 22 13:38:08 2012 -0400 > +++ b/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 13:35:22 2012 +0200 > @@ -5,7 +5,7 @@ > > > > - NetX is a high-quality JNLP client that executes > +

IcedTea-Web

is a high-quality JNLP client, buit on NetX, that executes > network-based applications. >
NetX downloads code over the > network, caches it, and runs it in a secure sandbox > diff -r 418012023ad5 -r 9d2375280d16 extra/net/sourceforge/javaws/about/resources/notes.html > --- a/extra/net/sourceforge/javaws/about/resources/notes.html Tue May 22 13:38:08 2012 -0400 > +++ b/extra/net/sourceforge/javaws/about/resources/notes.html Wed May 23 13:35:22 2012 +0200 > @@ -23,14 +23,19 @@ >
> Lillian Angel
> Deepak Bhole
> + Danesh Dadachanji
> + Adam Domurad
> Thomas Fitzsimmons
> Andrew John Hughes
> Matthias Klose
> Francis Kung
> Omair Majid
> Jon A. Maxwell
> + Thomas Meyer
> + Saad Mohammad
> Andrew Su
> Joshua Sumali
> + Jiri Vanek
> Mark Wielaard
> Man Lung Wong
>
> @@ -79,7 +84,11 @@ > > > > -Please visit the SourceForge site > + Home page of IcedTea-Web: > + > + http://icedtea.classpath.org/wiki/IcedTea-Web > +
> + Please visit also the SourceForge site > > http://jnlp.sourceforge.net/netx/index.html > From jvanek at icedtea.classpath.org Wed May 23 05:56:04 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 12:56:04 +0000 Subject: /hg/icedtea-web: fixed typo Message-ID: changeset 7041304bfc62 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7041304bfc62 author: Jiri Vanek date: Wed May 23 14:56:30 2012 +0200 fixed typo diffstat: extra/net/sourceforge/javaws/about/resources/about.html | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 7ae7d935b3d9 -r 7041304bfc62 extra/net/sourceforge/javaws/about/resources/about.html --- a/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 13:42:11 2012 +0200 +++ b/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 14:56:30 2012 +0200 @@ -5,7 +5,7 @@ -

IcedTea-Web

is a high-quality JNLP client, buit on NetX, that executes +

IcedTea-Web

is a high-quality JNLP client, built on NetX, that executes network-based applications.
NetX downloads code over the network, caches it, and runs it in a secure sandbox From jvanek at icedtea.classpath.org Wed May 23 05:57:10 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 12:57:10 +0000 Subject: /hg/release/icedtea-web-1.2: fixed typo Message-ID: changeset ea4d6cf512ca in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=ea4d6cf512ca author: Jiri Vanek date: Wed May 23 14:57:33 2012 +0200 fixed typo diffstat: extra/net/sourceforge/javaws/about/resources/about.html | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 9d2375280d16 -r ea4d6cf512ca extra/net/sourceforge/javaws/about/resources/about.html --- a/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 13:35:22 2012 +0200 +++ b/extra/net/sourceforge/javaws/about/resources/about.html Wed May 23 14:57:33 2012 +0200 @@ -5,7 +5,7 @@ -

IcedTea-Web

is a high-quality JNLP client, buit on NetX, that executes +

IcedTea-Web

is a high-quality JNLP client, built on NetX, that executes network-based applications.
NetX downloads code over the network, caches it, and runs it in a secure sandbox From jvanek at redhat.com Wed May 23 05:59:18 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 14:59:18 +0200 Subject: /hg/release/icedtea-web-1.2: Enhanced about dialog In-Reply-To: <4FBCDE39.9010805@redhat.com> References: <4FBCDE39.9010805@redhat.com> Message-ID: <4FBCDF26.7050300@redhat.com> On 05/23/2012 02:55 PM, Pavel Tisnovsky wrote: > Hi Jiri, > > there's a typo in the about dialog: > > > -NetX is a high-quality JNLP client that executes > +

IcedTea-Web

is a high-quality JNLP client, buit onNetX, that executes > ^^^^^^^ fixed for both:-/Thanx! > > Cheers, > Pavel From jvanek at redhat.com Wed May 23 06:44:14 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 15:44:14 +0200 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FBBEA1F.6010007@redhat.com> References: <4FBBEA1F.6010007@redhat.com> Message-ID: <4FBCE9AE.5020808@redhat.com> On 05/22/2012 09:33 PM, Saad Mohammad wrote: > Hi, > > The patch attached tests the launch of applications with a signed JNLP file using matching and > non-matching JNLP launch files. > Hi Saad! Looks great! Your sin is half a redeemed;o) I have one questions and two minor, but a lot of affecting issues Issues - Can we handle naming convention (http://www.oracle.com/technetwork/java/codeconv-138413.html) for classes and methods? - The classes should be in CamelCase So eg no "SignedJNLPTemplateTest" but "SignedJnlpTemplateTest". I would recommend also renaming of directories to keep the name consistent as you have it nicely now. - methods should not start with capital letter. I know that those two errors leaked in past to reproducers but it would be nice to have it correct in new files. - APPLICATION_TEMPLATE.JNLP/APPLICATION.JNLP should be case insensitive. Can you test it? Q: I thought that jnlp signing is working like this: 1 - (I'm unsure here) signed jar with JNLP-INF/* and unsigned jar with the (signed?) same/tempalte_matching jnlp file. So to test it properly you need to us two jars - signed and unsigned. And ensure that the second one obtains rights or launch terminate. 2 - or (more probably, but I'm still lost in this signing) just jnlp file (and few others BUT NOT whole jar) should be signed in jar and the rest is evaluated by comparison of launching jnlp and signed jnlp inside. What jnlp test engine is doing is that it signs whole jar. So In my (I hope wrong!) opinion your tests are actually not testing jnlp signing (as whole jar is signed). But exception looks correct, so I hope I'm completely wrong :) Thanx for explanations! J. I have added citation from spec: 5.4 Signed Applications The signing infrastructure for JNLP is built on top of the existing signing infrastructure for the Java 2 Platform. The Java 2 Platform supports signed JAR files. A JAR file can be signed and verified using, e.g., the standard jarsigner tool from the Java 2 SDK. An application launched by a JNLP Client is considered to be signed, if and only if: All the JAR files are signed (both for jar and nativelib elements) and can be verified. A JAR file is signed if all the entries (excluding manifest entries, the signature iteself, and empty directories) are signed by a single signature. If a signed version of the JNLP file exists, then it must be verified, and it must match the JNLP file used to launch the application. This is described in the following subsection. The same certificate is used to sign all JAR files (jar and nativelib elements) that are part of a single JNLP file. This simplifies user management since only one certificate needs to be presented to the user during a launch per JNLP file (and hardly restricts the signing process in practice). The certificate used for signing the JAR files and JNLP file (if signed) must be verified against a set of trusted root certificates. How the set of trusted root certificates are obtained depends on the particular JNLP Client implementation. Typically, a JNLP Client will be shipped with a set of trusted root certificates for all the major Certificate Authorities (CAs). The JNLP Client must check a JAR file for signing information before it is used, i.e., before a class file or another resource is retrieved from it. If a JAR file is signed and the digital signature does not verify, the application must be aborted. For a lazily downloaded JAR file, i.e., a JAR file that is downloaded after the application is launched, this might require aborting an already-running application. 5.4.1 Signing of JNLP Files A JNLP file can optionally be signed. A JNLP Client must check if a signed version of the JNLP file or JNLP template exist, and if so, verify that at least one of them match the JNLP file that is used to launch the application. If a match is not found (see below), then the launch must be aborted. If no signed JNLP file or JNLP template exist, then the JNLP file is not signed, and no check needs to be performed. A JNLP file is signed either by including a copy of it in the signed main JAR file, or by including a matching (see below) template file in the signed main JAR file. For the first method, the signed copy must be named: JNLP-INF/APPLICATION.JNLP. The APPLICATION.JNLP filename should be generated in upper case, but should be recognized in either upper or lower case. To match, the signed JNLP file must contain exactly the same XML elements and attributes, with identical values, as the JNLP file used to launch the application. For the second method the signed copy must be named JNLP-INF/APPLICATION_TEMPLATE.JNLP. The APPLICATION_TEMPLATE.JNLP filename should be generated in upper case, but should be recognized in either upper or lower case. The template (APPLICATION_TEMPLATE.JNLP) may have fields for CDATA arguments or values denoted as "*". The signed template must have exactly the same elements and arguments as the JNLP file used to launch the app, and the value of each element and attribute must "match" as described below. An element value or attribute value matches if either the value in the template is identical to the value in the JNLP file used to launch the app, or all of the following are true: 1.) The element or attribute is defined (in the DTD in appendix C) to be of type CDATA (for attributes) or #PCDATA (for elements). 2.) The element or attribute value in the signed template is "*" 3.) The element or attribute value is not blacklisted or restricted by the JNLP Client. It is expected that a JNLP Client will blacklist (or restrict) certain jnlp elements and argument values such as "java-vm-args" or property "name" and "value" to maintain security. The exact list is up to the individual JNLP Client implementations. As an example, the following APPLICATION_TEMPLATE.JNLP could be used to host an application on various hosts with different icons: Draw! My Web Company An Application with the above contents in JNLP-INF/APPLICATION_TEMPLATE.JNLP in it's main jar could be moved from one server to another, or could change it's icon without resigning the main jar. As described above, a JNLP file is not required to be signed in order for an application to be signed. This is similar to the behavior of Applets, where the Applet tags in the HTML pages are not signed, even when granting unrestricted access to the Applet. From dbhole at redhat.com Wed May 23 07:08:53 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 10:08:53 -0400 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <4FACF328.8030107@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> <4FACF328.8030107@redhat.com> Message-ID: <20120523140849.GC29866@redhat.com> * Jiri Vanek [2012-05-11 07:07]: > Back to list. > > All suggested grammar and formatting improvements have been applied. > Hi Jiri, ... ... > + //hascode is used instead of instance so when no references are left hascode => hashcode ... ... > + SecurityDesc sec=jarLocationSecurityMap.get(source); > + if (sec==null){ space before and after the = and before and after the == above. After fixing above, OK for push to head. Thanks! Deepak From adomurad at redhat.com Wed May 23 07:10:36 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 23 May 2012 10:10:36 -0400 Subject: /hg/icedtea-web: Changed usage of sprintf to snprintf. Made some... In-Reply-To: <4FBCAC8F.6040204@redhat.com> References: <4FBCAC8F.6040204@redhat.com> Message-ID: <1337782236.11667.1.camel@voip-10-15-18-79.yyz.redhat.com> Resending as it is not showing up on the mailing list ? Here is the revised changelog and patch: Changelog: 2012-05-23 Adam Domurad Removed instances of snprintf where buffer size was not known. Added buffer size constant for allocating buffers for numeric conversions. * plugin/icedteanp/IcedTeaNPPlugin.cc: Removed usage of snprintf for simple blanking of strings. Buffer size was misguided previously. Used NUM_STR_BUFFER_SIZE constant to replace magic numbers. * plugin/icedteanp/IcedTeaPluginUtils.cc: Made NPVariantToString(NPVariant variant, std::string* result) use space indentation. Used NUM_STR_BUFFER_SIZE constant to replace magic numbers. * plugin/icedteanp/IcedTeaPluginUtils.h: Added constant, NUM_STR_BUFFER_SIZE. On Wed, 2012-05-23 at 11:23 +0200, Pavel Tisnovsky wrote: > Hi Adam, > > most changes looks ok - I mean the changes from malloced strings to a normal char arrays. > I just think it would be better to replace "magical" constants to a symbolic constants, ie. > 20 // max = long long = 8446744073709551615 == 19 chars etc. > > I'm not sure what's the actual meaning of following lines (either old and new version): > > > - sprintf(parts[0], ""); > > - sprintf(parts[1], ""); > > - sprintf(parts[2], ""); > > + snprintf(parts[0], sizeof(""), ""); > > + snprintf(parts[1], sizeof(""), ""); > > + snprintf(parts[2], sizeof(""), ""); > > The new version is not safer than the old version, because to made it safer you need > to set max.string length according to destination buffer, not according to source buffer. > > After all is not it the same as pushing '\0' to the first byte of parts[*] array? > (it would be much faster) > > Cheers, > Pavel -------------- next part -------------- A non-text attachment was scrubbed... Name: revised.patch Type: text/x-patch Size: 5816 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/95a7ff4e/revised.patch From dbhole at redhat.com Wed May 23 07:22:31 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 10:22:31 -0400 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <4FA27827.9050407@redhat.com> References: <4FA27827.9050407@redhat.com> Message-ID: <20120523142231.GE29866@redhat.com> * Jiri Vanek [2012-05-03 08:21]: > This patch is fixing > https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in > [rfc][icedtea-web] reproducer for RH816592 (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) > > This patch have small (one output message) overleap with [rfc] > [icedtea-web] providing little bit more debug outputs for few > methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) > This patch tries to manually add an entry to the security map. However it should not be needed. Whatever is adding the jar should add an entry to the map -- the bug should be fixed there IMO. Deepak > Changelog inlined in patch. > > > Best regards > J. > > > > diff -r 11029e99d733 ChangeLog > --- a/ChangeLog Wed May 02 12:53:07 2012 +0200 > +++ b/ChangeLog Thu May 03 14:12:33 2012 +0200 > @@ -1,3 +1,10 @@ > +2012-05-02 Jiri Vanek > + > + Fix for RH816592 > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > + (getCodeSourceSecurity): will now try to download and verify resource > + which was downloaded outside of netx. > + > 2012-05-02 Jiri Vanek > > Introduced new annotations Bug (to connect test/reproducer with documentation) > diff -r 11029e99d733 NEWS > --- a/NEWS Wed May 02 12:53:07 2012 +0200 > +++ b/NEWS Thu May 03 14:12:33 2012 +0200 > @@ -14,6 +14,7 @@ > * Plugin > - PR820: IcedTea-Web 1.1.3 crashing Firefox when loading Citrix XenApp > - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass > + - RH816592: icedtea-web not loading GeoGebra java applets in Firefox or Chrome (even javaws and Opera were affected) > * Common > - PR918: java applet windows uses a low resulution black/white icon > > diff -r 11029e99d733 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 02 12:53:07 2012 +0200 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 03 14:12:33 2012 +0200 > @@ -1732,7 +1743,21 @@ > */ > > protected SecurityDesc getCodeSourceSecurity(URL source) { > - return jarLocationSecurityMap.get(source); > + SecurityDesc sec=jarLocationSecurityMap.get(source); > + if (sec==null){ > + //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > + if (JNLPRuntime.isDebug()){ > + System.out.println("Application is trying to get permissions for "+source.toString()+", which was not downloaded by standard way. Trying to download and verify!"); > + } > + JARDesc des= new JARDesc(source,null, null, false, false, false, false); > + addNewJar(des); > + sec=jarLocationSecurityMap.get(source); > + } > + if (sec==null){ > + System.out.println("Error! No security instance for signed "+source.toString()+". This source was loaded outside of netx, and application will have troubles to continue"); > + } > + return sec; > + > } > > /** From andrew at icedtea.classpath.org Wed May 23 07:32:44 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 23 May 2012 14:32:44 +0000 Subject: /hg/icedtea7: Fix full bootstrapping build of IcedTea7 with itself. Message-ID: changeset 2917541bbda4 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=2917541bbda4 author: Andrew John Hughes date: Wed May 23 15:32:36 2012 +0100 Fix full bootstrapping build of IcedTea7 with itself. 2012-05-23 Andrew John Hughes * patches/boot/corba-defs.patch: Removed. Makes changes which aren't needed and break the build with IcedTea7. * Makefile.am: (ICEDTEA_BOOT_PATCHES): Drop corba-defs.patch. * patches/boot/corba-dependencies.patch: Reduce to just the necessary change of adding jdk tree dependencies to the CORBA build. Add solaris too so the build with IcedTea7 works (needs DefaultInterface). * patches/boot/jaxws-jdk-dependency.patch: Add solaris dependency (DefaultInterface). * patches/boot/xbootclasspath.patch: Don't set JAVACFLAGS to point to non-existent rt.jar in {JDK_HOME}/lib. Point to just-built langtools instead. 2011-03-02 Andrew John Hughes * Makefile.am: (icedtea): Explicitly set -j1 for the legacy OpenJDK build as it can't handle parallelism correctly. This allows the main IcedTea build to be parallel while still allowing OpenJDK to build. (icedtea-debug): Likewise. (icedtea-ecj): Likewise. diffstat: ChangeLog | 29 ++++++++++++++++++++++++ Makefile.am | 7 ++--- patches/boot/corba-defs.patch | 35 ----------------------------- patches/boot/corba-dependencies.patch | 39 +++++--------------------------- patches/boot/jaxws-jdk-dependency.patch | 2 +- patches/boot/xbootclasspath.patch | 2 +- 6 files changed, 41 insertions(+), 73 deletions(-) diffs (187 lines): diff -r a1aed32a081d -r 2917541bbda4 ChangeLog --- a/ChangeLog Mon May 21 19:18:12 2012 +0100 +++ b/ChangeLog Wed May 23 15:32:36 2012 +0100 @@ -1,3 +1,32 @@ +2012-05-23 Andrew John Hughes + + * patches/boot/corba-defs.patch: + Removed. Makes changes which aren't needed + and break the build with IcedTea7. + * Makefile.am: + (ICEDTEA_BOOT_PATCHES): Drop corba-defs.patch. + * patches/boot/corba-dependencies.patch: + Reduce to just the necessary change of adding jdk + tree dependencies to the CORBA build. Add solaris + too so the build with IcedTea7 works (needs + DefaultInterface). + * patches/boot/jaxws-jdk-dependency.patch: + Add solaris dependency (DefaultInterface). + * patches/boot/xbootclasspath.patch: + Don't set JAVACFLAGS to point to non-existent rt.jar + in {JDK_HOME}/lib. Point to just-built langtools instead. + +2011-03-02 Andrew John Hughes + + * Makefile.am: + (icedtea): Explicitly set -j1 for the + legacy OpenJDK build as it can't handle + parallelism correctly. This allows the + main IcedTea build to be parallel while + still allowing OpenJDK to build. + (icedtea-debug): Likewise. + (icedtea-ecj): Likewise. + 2012-05-21 Andrew John Hughes (JDK_CHANGESET): Bump to bring in the diff -r a1aed32a081d -r 2917541bbda4 Makefile.am --- a/Makefile.am Mon May 21 19:18:12 2012 +0100 +++ b/Makefile.am Wed May 23 15:32:36 2012 +0100 @@ -287,7 +287,6 @@ ICEDTEA_BOOT_PATCHES = \ patches/boot/javafiles.patch \ patches/boot/ant-javac.patch \ - patches/boot/corba-defs.patch \ patches/boot/corba-idlj.patch \ patches/boot/corba-no-gen.patch \ patches/boot/corba-orb.patch \ @@ -1646,7 +1645,7 @@ stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \ stamps/cacao.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp \ stamps/jamvm.stamp - $(ARCH_PREFIX) $(MAKE) \ + $(ARCH_PREFIX) $(MAKE) -j1 \ $(ICEDTEA_ENV) \ -C openjdk/ \ $(ICEDTEA_BUILD_TARGET) @@ -1712,7 +1711,7 @@ stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \ stamps/cacao.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp \ stamps/jamvm.stamp - $(ARCH_PREFIX) $(MAKE) \ + $(ARCH_PREFIX) $(MAKE) -j1 \ $(ICEDTEA_ENV) \ -C openjdk/ \ $(ICEDTEA_DEBUG_BUILD_TARGET) @@ -1801,7 +1800,7 @@ stamps/icedtea-boot.stamp: stamps/bootstrap-directory-symlink-stage1.stamp \ stamps/download.stamp $(OPENJDK_BOOT_TREE) stamps/cacao.stamp \ stamps/rewrite-rhino.stamp stamps/jamvm.stamp stamps/generated.stamp - $(ARCH_PREFIX) $(MAKE) \ + $(ARCH_PREFIX) $(MAKE) -j1 \ $(ICEDTEA_ENV_BOOT) \ -C openjdk-boot \ $(ICEDTEA_BUILD_TARGET) diff -r a1aed32a081d -r 2917541bbda4 patches/boot/corba-defs.patch --- a/patches/boot/corba-defs.patch Mon May 21 19:18:12 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -diff -Nru openjdk-boot.orig/corba/make/common/Defs.gmk openjdk-boot/corba/make/common/Defs.gmk ---- openjdk-boot.orig/corba/make/common/Defs.gmk 2012-02-15 17:08:19.000000000 +0000 -+++ openjdk-boot/corba/make/common/Defs.gmk 2012-03-18 22:37:54.536815001 +0000 -@@ -75,6 +75,13 @@ - endif - endif - -+ -+ifdef ALT_LANGTOOLS_DIST -+ LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST)) -+else -+ LANGTOOLS_DIST = -+endif -+ - # - # Get platform definitions - # -@@ -107,8 +114,6 @@ - # for build tool jar files - BUILDTOOLJARDIR = $(OUTPUTDIR)/btjars - ABS_BUILDTOOLJARDIR = $(ABS_OUTPUTDIR)/btjars --# for generated java source files --GENSRCDIR = $(OUTPUTDIR)/gensrc - # for imported source files - IMPORTSRCDIR = $(OUTPUTDIR)/impsrc - # for imported documents -@@ -189,7 +194,7 @@ - # We define an intermediate variable for Java files because - # we use its value later to help define $SOURCEPATH - --VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes -+VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes - VPATH.java = $(VPATH0.java) - vpath %.java $(VPATH.java) - vpath %.class $(CLASSBINDIR) diff -r a1aed32a081d -r 2917541bbda4 patches/boot/corba-dependencies.patch --- a/patches/boot/corba-dependencies.patch Mon May 21 19:18:12 2012 +0100 +++ b/patches/boot/corba-dependencies.patch Wed May 23 15:32:36 2012 +0100 @@ -1,39 +1,14 @@ -diff -Nru openjdk-boot.orig/corba/make/common/Defs.gmk openjdk-boot/corba/make/common/Defs.gmk ---- openjdk-boot.orig/corba/make/common/Defs.gmk 2011-03-08 18:49:48.566665532 +0000 -+++ openjdk-boot/corba/make/common/Defs.gmk 2011-03-08 18:47:51.734115218 +0000 -@@ -50,6 +50,9 @@ - ifndef SHARE_SRC - SHARE_SRC = $(TOPDIR)/src/share - endif -+ifndef JDK_SRC -+ JDK_SRC = $(JDK_TOPDIR)/src/share -+endif - - _OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH) - -@@ -172,7 +175,7 @@ - # We define an intermediate variable for Java files because - # we use its value later to help define $SOURCEPATH - --VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes -+VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes$(CLASSPATH_SEPARATOR)$(JDK_SRC)/classes - VPATH.java = $(VPATH0.java) - vpath %.java $(VPATH.java) - vpath %.class $(CLASSBINDIR) -diff -Nru openjdk-boot.orig/corba/make/common/Rules.gmk openjdk-boot/corba/make/common/Rules.gmk ---- openjdk-boot.orig/corba/make/common/Rules.gmk 2011-03-08 18:48:19.953282134 +0000 -+++ openjdk-boot/corba/make/common/Rules.gmk 2011-03-08 18:48:05.453710200 +0000 -@@ -184,7 +184,12 @@ +diff --git a/make/common/Rules.gmk b/make/common/Rules.gmk +--- openjdk-boot/corba/make/common/Rules.gmk ++++ openjdk-boot/corba/make/common/Rules.gmk +@@ -184,7 +184,9 @@ @$(MKDIR) -p $(CLASSDESTDIR) if [ -s $(JAVA_SOURCE_LIST) ] ; then \ $(CAT) $(JAVA_SOURCE_LIST); \ - $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ -+ $(ECHO) $(JAVAC_CMD) -classpath $(ABS_OUTPUTDIR)/corba/classes \ -+ -classpath $(LANGTOOLS_DIST)/lib/classes.jar \ -+ -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ -+ $(JAVAC_CMD) -classpath $(ABS_OUTPUTDIR)/corba/classes \ -+ -classpath $(LANGTOOLS_DIST)/lib/classes.jar \ -+ -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ ++ $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) \ ++ -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \ ++ -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ fi @$(java-vm-cleanup) diff -r a1aed32a081d -r 2917541bbda4 patches/boot/jaxws-jdk-dependency.patch --- a/patches/boot/jaxws-jdk-dependency.patch Mon May 21 19:18:12 2012 +0100 +++ b/patches/boot/jaxws-jdk-dependency.patch Wed May 23 15:32:36 2012 +0100 @@ -5,7 +5,7 @@ jaxp.classes.dir=${output.dir}/../jaxp/build/classes +# JDK sources -+jdk.sources=${jdk.topdir}/src/share/classes ++jdk.sources=${jdk.topdir}/src/share/classes:${jdk.topdir}/src/solaris/classes + # Distributed results dist.dir=${output.dir}/dist diff -r a1aed32a081d -r 2917541bbda4 patches/boot/xbootclasspath.patch --- a/patches/boot/xbootclasspath.patch Mon May 21 19:18:12 2012 +0100 +++ b/patches/boot/xbootclasspath.patch Wed May 23 15:32:36 2012 +0100 @@ -6,7 +6,7 @@ JAVACFLAGS += $(CLASS_VERSION) JAVACFLAGS += -encoding ascii -JAVACFLAGS += -classpath $(BOOTDIR)/lib/tools.jar -+JAVACFLAGS += -classpath $(BOOTDIR)/lib/rt.jar ++JAVACFLAGS += -classpath $(LANGTOOLS_DIST)/lib/classes.jar JAVACFLAGS += $(OTHER_JAVACFLAGS) # Langtools From jvanek at redhat.com Wed May 23 07:59:03 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 16:59:03 +0200 Subject: [rfc][icedtea-web] known to fail annotation In-Reply-To: <4FBBCD37.7060806@redhat.com> References: <4FB11904.1000408@redhat.com> <4FB26531.7010104@redhat.com> <4FB26C97.4030108@redhat.com> <4FB26E05.6060104@redhat.com> <4FB271F6.2050807@redhat.com> <4FBB8D18.5040505@redhat.com> <4FBBCD37.7060806@redhat.com> Message-ID: <4FBCFB37.5000109@redhat.com> On 05/22/2012 07:30 PM, Omair Majid wrote: > On 05/22/2012 08:56 AM, Jiri Vanek wrote: >> As agreed on IRC, Percentage removed. What do you think now? > > I am wondering what really differentiates KnownToFail from Ignore, aside > from the fact that we are processing the KnownToFail annotation. But we > could do the same for Ignore, right? Is it that tests makred with Ignore > are not run while tests marked with KnownToFail are run? Yes. This is crucial difference. > > Something I am unclear about. Say I have this test case: > > class TestCase { > @Test > @KnownToFail > public void someTestMethod() throws Exception { > assertTrue(false); > } > } > > What stat do you think should be printed? > > Passed: 0, Failed: 1, Ignored: 0 > > or > > Passed: 0, Failed: 0, Ignored: 1 > (with something to indicate the exepected failure?) Well this is correct question. You saw my outputs below. (to print it as failed, and print somewhere that those are supposed to fail) Are you ok with them? > >> After deep meditation I consider it as better now too :) > > I am glad we came to the same conclusion :) > > I have some comments below, and it could use some cleanup in general. > >> diff -r 1088b2dffe49 tests/junit-runner/JunitLikeXmlOutputListener.java >> --- a/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 22 12:08:17 2012 +0200 >> +++ b/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 22 14:32:43 2012 +0200 > >> @@ -45,6 +47,7 @@ >> private static final String TEST_ELEMENT = "testcase"; >> private static final String BUGS = "bugs"; >> private static final String BUG = "bug"; >> + private static final String K2F = "knownToFail"; > > A more xml-like version might be "known-to-fail" ;) done (although I don`t like this convention ;) > > >> private class ClassCounter { >> >> Class c; >> int total; >> int failed; >> int passed; >> + int ignored; > > Nice! > >> @@ -146,20 +160,53 @@ >> } >> >> @Override >> + public void testIgnored(Description description) throws Exception { >> + testDone(description, 0, 0, true); >> + } >> + >> + @Override >> public void testFinished(org.junit.runner.Description description) throws Exception { >> - long testTime = System.nanoTime()/1000l/1000l - testStart; >> + long testTime = System.nanoTime() / 1000l / 1000l - testStart; > > Try: > long testTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()) - > testStart; > > But better would be to keep testStart in nanoseconds and do the > conversion to seconds after the subtraction. Done! > > >> double testTimeSeconds = ((double) testTime) / 1000d; >> + testDone(description, testTime, testTimeSeconds, false); >> + } >> >> - Map testcaseAtts = new HashMap(3); >> + private void testDone(Description description, long testTime, double testTimeSeconds, boolean ignored) throws Exception { >> + Class q = null; >> + Method qm = null; > > s/q/testClass/ > s/qm/testMethod/ > >> + try { >> + q = description.getTestClass(); >> + String qs = description.getMethodName(); >> + if (qs.contains(" - ")) { >> + qs = qs.replaceAll(" - .*", ""); >> + } >> + qm = q.getMethod(qs); > > I see this bit of code duplicated elsewhere too. Also, I find it bizarre > that the method name contains a " - ". Can you move it to a separate > method and/or add comments explaining this? Ah. That is relict from @Browser development . I do them in parallel. Sorry for this. I have added comment and it do no harm. If It will change in browser annotation then I will keep in mind to remove this. > >> + } catch (Exception ex) { >> + ex.printStackTrace(); >> + } >> + Map testcaseAtts = new HashMap(4); >> NumberFormat formatter = new DecimalFormat("#0.0000"); >> String stringedTime = formatter.format(testTimeSeconds); >> stringedTime.replace(",", "."); > > This replacement of comma with a dot looks strange. It looks like > something that should be handled by the localization code. It is not related to this patch, I have not find quick way of fix. Adding to my todo! > >> try { >> - Class q = description.getTestClass(); >> - String qs=description.getMethodName(); >> - if (qs.contains(" - ")) qs=qs.replaceAll(" - .*", ""); >> - Method qm = q.getMethod(qs); >> - Bug b = qm.getAnnotation(Bug.class); >> - if (b != null) { >> - openElement(BUGS); >> - String[] s = b.id(); >> - for (String string : s) { >> - String ss[]=createBug(string); >> - Map visibleNameAtt=new HashMap(1); >> + if (q != null&& qm != null) { >> + Bug b = qm.getAnnotation(Bug.class); >> + if (b != null) { >> + openElement(BUGS); >> + String[] s = b.id(); >> + for (String string : s) { >> + String ss[] = createBug(string); > > "b", "s", and "ss" are not very descriptive names. Can you make them > slightly more descriptive? done O:) > >> + Map visibleNameAtt = new HashMap(1); >> visibleNameAtt.put("visibleName", ss[0]); >> - openElement(BUG,visibleNameAtt); >> + openElement(BUG, visibleNameAtt); >> writer.write(ss[1]); >> closeElement(BUG); >> + } >> + closeElement(BUGS); >> } >> - closeElement(BUGS); >> } >> } catch (Exception ex) { >> ex.printStackTrace(); >> @@ -200,16 +254,31 @@ >> ClassCounter cc = classStats.get(description.getClassName()); > > This is probably the best argument I can point to for renaming > ClassCounter to ClassStat ;) done - although did patch little bit messy. > > Anyway, please rename cc to "classStat" "testStat" or something. done! > >> @@ -45,7 +60,56 @@ >> int passed = result.getRunCount() - result.getFailureCount() - result.getIgnoreCount(); >> int failed = result.getFailureCount(); >> int ignored = result.getIgnoreCount(); >> - writer.println("Test results: passed: " + passed + "; failed: " + failed + "; ignored: " + ignored); >> + writer.println("Test results ("+result.getRunCount()+"): passed: " + passed + "; failed: " + failed + "; ignored: " + ignored); >> + writer.println("Test known to fail ("+totalK2F+"): passed: " + passedK2F + "; failed: " + failedK2F + "; ignored: " + ignoredK2F); >> + } > > Are the builders prepared to handle this change in output? I have swap the lines so they will be affected with less probability. On my side (daily report) they will be ok. Who should I notify/where what to verify for builders on classpath.org? > > >> diff -r 1088b2dffe49 tests/report-styles/jreport.xsl >> --- a/tests/report-styles/jreport.xsl Tue May 22 12:08:17 2012 +0200 >> +++ b/tests/report-styles/jreport.xsl Tue May 22 14:32:43 2012 +0200 >> @@ -53,11 +53,17 @@ >> >>
>>

Result: (s)

>> +

In brackets are KnownToFail values if any

> > Might be nicer if we just leave this description out and display > "expected:" or "known:" in the brackets. hmhm.. Actually I don know... It it will not be nice to have total 10 (from which 8 known to fail) passed 5 (but 4 are know to fail) failed 3 (and 3 known to fail) ignored 2 (one known to fail) To much words... But can be more descriptive. What do you think? I left my original one in patch. > >> @@ -65,6 +71,11 @@ >>
passed:
>>
>> >> + >> + >> + () >> + >> + > > I am having trouble parsing this. Are these tests that are known to fail > that passed? Should we be flagging this more importantly? > This should not happen, but it can happe:). Eg some patch fill fix some secondary issue unwillingly, so author will be noticed. Or programmer just forget that some more tests corresponding to his patch have this annotation. explained? >> diff -r 1088b2dffe49 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java Tue May 22 14:32:43 2012 +0200 > >> +/** >> + * This annotation should be declared for each test which is representing an issue >> + * where icedtea-web is not doing as correctly as expected, and so the test, by its failure, >> + * is showing this behaviour. >> + * If the issue is fixed, annotation should be removed. >> + * >> + */ > > How about: > > """ > This annotation marks a test as a known failure (as opposed to a > regression). A test that is a known failure will not hold of a release, > nor should developers hold off a fix if they run the unit tests and a > test marked as a known failure fails. >

> This annotation is meant for adding tests for bugs before the fix is > implemented. > """ done :) J. -------------- next part -------------- A non-text attachment was scrubbed... Name: KnownToFailAnnotation_3-all.diff Type: text/x-patch Size: 26979 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/02d6280b/KnownToFailAnnotation_3-all.diff From omajid at redhat.com Wed May 23 08:36:18 2012 From: omajid at redhat.com (Omair Majid) Date: Wed, 23 May 2012 11:36:18 -0400 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <20120523142231.GE29866@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> Message-ID: <4FBD03F2.1020302@redhat.com> On 05/23/2012 10:22 AM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-03 08:21]: >> This patch is fixing >> https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in >> [rfc][icedtea-web] reproducer for RH816592 (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) >> >> This patch have small (one output message) overleap with [rfc] >> [icedtea-web] providing little bit more debug outputs for few >> methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) >> > > This patch tries to manually add an entry to the security map. However it should not > be needed. Whatever is adding the jar should add an entry to the map -- > the bug should be fixed there IMO. This is an implementation-specific behaviour of the proprietary javaws that some programs seem to rely on. We have other bugs caused by the same issue too: PR568 [1] and PR839. Cheers, Omair [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=568 [2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=839 From mnemo at minimum.se Wed May 23 08:41:06 2012 From: mnemo at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 17:41:06 +0200 (CEST) Subject: which package do I need to avoid: "package org.junit does not exist" Message-ID: <995016d264930ba4adf22667eb028fcf.squirrel@webmail.minimum.se> When I try to run tests using: rm -rf ~/ice mkdir ~/ice ./autogen.sh ./configure --prefix=/home/molsson/ice --with-jdk-home=/usr/lib/jvm/java-6-openjdk-amd64 make make check make install make run-netx-dist-tests Then I get this error: tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java:42: package org.junit does not exist Full error: http://pastebin.com/4MTg03ni ...I assume I need to install some missing package (junit?), any ideas on which one? I'm on Ubuntu 12.04 From mnemo at minimum.se Wed May 23 08:41:27 2012 From: mnemo at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 17:41:27 +0200 (CEST) Subject: [PATCH] fix mutex related crash + cleanup .hgignore Message-ID: Two patches for icedtea-web attached. -------------- next part -------------- A non-text attachment was scrubbed... Name: iced_hgignore.patch Type: application/octet-stream Size: 1034 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/398915d6/iced_hgignore.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: g_mutex_free.patch Type: application/octet-stream Size: 1347 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/398915d6/g_mutex_free.patch From mnemo at minimum.se Wed May 23 08:41:43 2012 From: mnemo at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 17:41:43 +0200 (CEST) Subject: vm_start_mutex use in IcedTeaNPPlugin.cc looks fishy Message-ID: <1c738a8dbc24fe5bda1f0630c1a5c474.squirrel@webmail.minimum.se> The usage of "vm_start_mutex" in IcedTeaNPPlugin.cc looks buggy to me. Won't each thread just create and lock it's own mutex, thereby voiding the raison d'?tre of the mutex? Martin From jvanek at redhat.com Wed May 23 08:45:42 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 17:45:42 +0200 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <4FBD03F2.1020302@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> Message-ID: <4FBD0626.4040404@redhat.com> On 05/23/2012 05:36 PM, Omair Majid wrote: > On 05/23/2012 10:22 AM, Deepak Bhole wrote: >> * Jiri Vanek [2012-05-03 08:21]: >>> This patch is fixing >>> https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in >>> [rfc][icedtea-web] reproducer for RH816592 (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) >>> >>> This patch have small (one output message) overleap with [rfc] >>> [icedtea-web] providing little bit more debug outputs for few >>> methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) >>> >> >> This patch tries to manually add an entry to the security map. However it should not >> be needed. Whatever is adding the jar should add an entry to the map -- >> the bug should be fixed there IMO. Hmmm. I Believe that there is reflection used to inject the jar into classlaoder. So if I will overwrite addUrl method (which is the best place to do this) this can be still walked around. Thats why I have chosen this place.. But I admit my originalpatch must be improved for not searching again for already searched resources. > > This is an implementation-specific behaviour of the proprietary javaws > that some programs seem to rely on. We have other bugs caused by the > same issue too: PR568 [1] and PR839. Yap. As I already wrote it is brutal:) > > Cheers, > Omair > > [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=568 > [2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=839 From jvanek at redhat.com Wed May 23 08:48:27 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 17:48:27 +0200 Subject: which package do I need to avoid: "package org.junit does not exist" In-Reply-To: <995016d264930ba4adf22667eb028fcf.squirrel@webmail.minimum.se> References: <995016d264930ba4adf22667eb028fcf.squirrel@webmail.minimum.se> Message-ID: <4FBD06CB.9080302@redhat.com> On 05/23/2012 05:41 PM, Martin Olsson wrote: > When I try to run tests using: > > rm -rf ~/ice > mkdir ~/ice > ./autogen.sh > ./configure --prefix=/home/molsson/ice > --with-jdk-home=/usr/lib/jvm/java-6-openjdk-amd64 > make > make check > make install > make run-netx-dist-tests > > Then I get this error: > > tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java:42: > package org.junit does not exist > > Full error: > > http://pastebin.com/4MTg03ni > > ...I assume I need to install some missing package (junit?), any ideas on > which one? I'm on Ubuntu 12.04 Yap - from your configure: checking for rhino jar... no checking for junit jar... no checking for emma jar... no in fedora those are junit4, rhino and emma packages. > > From jvanek at redhat.com Wed May 23 08:50:13 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 17:50:13 +0200 Subject: [PATCH] fix mutex related crash + cleanup .hgignore In-Reply-To: References: Message-ID: <4FBD0735.7090806@redhat.com> On 05/23/2012 05:41 PM, Martin Olsson wrote: > Two patches for icedtea-web attached. This was proposed several-times in past and not allowed to go in. Those files are removed by make clean/distcelan. Best regards J. From jvanek at redhat.com Wed May 23 08:52:26 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 23 May 2012 17:52:26 +0200 Subject: [PATCH] fix mutex related crash + cleanup .hgignore In-Reply-To: <4FBD0735.7090806@redhat.com> References: <4FBD0735.7090806@redhat.com> Message-ID: <4FBD07BA.1030001@redhat.com> Sorry this reply was just for .hgignore. The mutex patch must review some C-guy. Tahnx for it! J. -------- Original Message -------- Subject: Re: [PATCH] fix mutex related crash + cleanup .hgignore Date: Wed, 23 May 2012 17:50:13 +0200 From: Jiri Vanek To: distro-pkg-dev at openjdk.java.net, mnemo at minimum.se On 05/23/2012 05:41 PM, Martin Olsson wrote: > Two patches for icedtea-web attached. This was proposed several-times in past and not allowed to go in. Those files are removed by make clean/distcelan. Best regards J. From dbhole at redhat.com Wed May 23 08:58:28 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 11:58:28 -0400 Subject: vm_start_mutex use in IcedTeaNPPlugin.cc looks fishy In-Reply-To: <1c738a8dbc24fe5bda1f0630c1a5c474.squirrel@webmail.minimum.se> References: <1c738a8dbc24fe5bda1f0630c1a5c474.squirrel@webmail.minimum.se> Message-ID: <20120523155827.GG29866@redhat.com> Hi Martin, * Martin Olsson [2012-05-23 11:44]: > The usage of "vm_start_mutex" in IcedTeaNPPlugin.cc looks buggy to me. > Won't each thread just create and lock it's own mutex, thereby voiding the > raison d'?tre of the mutex? > Yep. I just noticed this a couple of days ago myself when trying to investigate zombie VMs someone was seeing (though it was unrelated). Haven't gotten around to creating a patch for it, but please feel free to. If not, it is still on my list (though not critical since I have never seen a bug due to it). Cheers, Deepak From jvanek at icedtea.classpath.org Wed May 23 09:22:32 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 16:22:32 +0000 Subject: /hg/icedtea-web: * netx/net/sourceforge/jnlp/runtime/JNLPClassLo... Message-ID: changeset 1f1e62fd9d23 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1f1e62fd9d23 author: Jiri Vanek date: Wed May 23 18:22:43 2012 +0200 * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): Any exception from this method is consumed somewhere. I have cough exception, reprint it in debug mode and re-throw (to be lost). Main condition in this method had several possible NullPointer exceptions. Separated and thrown before this condition. diffstat: ChangeLog | 8 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 82 +++++++++++------ 2 files changed, 60 insertions(+), 30 deletions(-) diffs (115 lines): diff -r 7041304bfc62 -r 1f1e62fd9d23 ChangeLog --- a/ChangeLog Wed May 23 14:56:30 2012 +0200 +++ b/ChangeLog Wed May 23 18:22:43 2012 +0200 @@ -1,3 +1,11 @@ +2012-05-23 Jiri Vanek + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): + Any exception from this method is consumed somewhere. I have cough exception, + reprint it in debug mode and re-throw (to be lost). Main condition in this + method had several possible NullPointer exceptions. Separated and thrown before + this condition. + 2012-05-23 Jiri Vanek Enhanced about dialog diff -r 7041304bfc62 -r 1f1e62fd9d23 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 14:56:30 2012 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 18:22:43 2012 +0200 @@ -895,44 +895,66 @@ * Returns the permissions for the CodeSource. */ protected PermissionCollection getPermissions(CodeSource cs) { - Permissions result = new Permissions(); + try { + Permissions result = new Permissions(); - // should check for extensions or boot, automatically give all - // access w/o security dialog once we actually check certificates. + // should check for extensions or boot, automatically give all + // access w/o security dialog once we actually check certificates. - // copy security permissions from SecurityDesc element - if (security != null) { - // Security desc. is used only to track security settings for the - // application. However, an application may comprise of multiple - // jars, and as such, security must be evaluated on a per jar basis. + // copy security permissions from SecurityDesc element + if (security != null) { + // Security desc. is used only to track security settings for the + // application. However, an application may comprise of multiple + // jars, and as such, security must be evaluated on a per jar basis. - // set default perms - PermissionCollection permissions = security.getSandBoxPermissions(); + // set default perms + PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed: - // 1. Code must be signed - // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) - if (cs.getCodeSigners() != null && - (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || - getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { + // If more than default is needed: + // 1. Code must be signed + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) + if (cs == null) { + throw new RuntimeException("Code source was null"); + } + if (cs.getLocation() == null) { + throw new RuntimeException("Code source location was null"); + } + if (getCodeSourceSecurity(cs.getLocation()) == null) { + throw new RuntimeException("Code source security was null"); + } + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { + throw new RuntimeException("Code source security type was null"); + } + if (cs.getCodeSigners() != null + && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) + || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + } + + Enumeration e = permissions.elements(); + while (e.hasMoreElements()) { + result.add(e.nextElement()); + } } - Enumeration e = permissions.elements(); - while (e.hasMoreElements()) - result.add(e.nextElement()); + // add in permission to read the cached JAR files + for (int i = 0; i < resourcePermissions.size(); i++) { + result.add(resourcePermissions.get(i)); + } + + // add in the permissions that the user granted. + for (int i = 0; i < runtimePermissions.size(); i++) { + result.add(runtimePermissions.get(i)); + } + + return result; + } catch (RuntimeException ex) { + if (JNLPRuntime.isDebug()) { + ex.printStackTrace(); + } + throw ex; } - - // add in permission to read the cached JAR files - for (int i = 0; i < resourcePermissions.size(); i++) - result.add(resourcePermissions.get(i)); - - // add in the permissions that the user granted. - for (int i = 0; i < runtimePermissions.size(); i++) - result.add(runtimePermissions.get(i)); - - return result; } protected void addPermission(Permission p) { From jvanek at icedtea.classpath.org Wed May 23 09:33:01 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 16:33:01 +0000 Subject: /hg/icedtea-web: Added more debugging outputs (especially paths ... Message-ID: changeset 7a483b55fa92 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7a483b55fa92 author: Jiri Vanek date: Wed May 23 18:33:29 2012 +0200 Added more debugging outputs (especially paths to keystores) for JNLPClassLoader and CertificateUtils diffstat: ChangeLog | 13 +++++++++++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 4 +++- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 7 ++++++- netx/net/sourceforge/jnlp/security/CertificateUtils.java | 3 ++- netx/net/sourceforge/jnlp/security/KeyStores.java | 15 +++++++++++++++ 5 files changed, 39 insertions(+), 3 deletions(-) diffs (117 lines): diff -r 1f1e62fd9d23 -r 7a483b55fa92 ChangeLog --- a/ChangeLog Wed May 23 18:22:43 2012 +0200 +++ b/ChangeLog Wed May 23 18:33:29 2012 +0200 @@ -1,3 +1,16 @@ +2012-05-23 Jiri Vanek + + Added more debugging outputs + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: + (getCodeSourceSecurity): added output message when no SecurityDesc is found + for some url/resource + * netx/net/sourceforge/jnlp/resources/Messages.properties: added LNoSecInstance + and LCertFoundIn values + * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): + new method, able to search for file used for creating of KeyStore if possible + * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) + using getPathToKeystore for debug output + 2012-05-23 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): diff -r 1f1e62fd9d23 -r 7a483b55fa92 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 23 18:22:43 2012 +0200 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 23 18:33:29 2012 +0200 @@ -81,7 +81,9 @@ LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file. - +LNoSecInstance=Error: No security instance for {0}. The application may have trouble continuing +LCertFoundIn={0} found in cacerts ({1}) + JNotApplet=File is not an applet. JNotApplication=File is not an application. JNotComponent=File is not a component. diff -r 1f1e62fd9d23 -r 7a483b55fa92 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 18:22:43 2012 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 18:33:29 2012 +0200 @@ -1754,7 +1754,12 @@ */ protected SecurityDesc getCodeSourceSecurity(URL source) { - return jarLocationSecurityMap.get(source); + SecurityDesc sec=jarLocationSecurityMap.get(source); + if (sec == null){ + System.out.println(Translator.R("LNoSecInstance",source.toString())); + } + return sec; + } /** diff -r 1f1e62fd9d23 -r 7a483b55fa92 netx/net/sourceforge/jnlp/security/CertificateUtils.java --- a/netx/net/sourceforge/jnlp/security/CertificateUtils.java Wed May 23 18:22:43 2012 +0200 +++ b/netx/net/sourceforge/jnlp/security/CertificateUtils.java Wed May 23 18:33:29 2012 +0200 @@ -60,6 +60,7 @@ import java.util.Random; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.replacements.BASE64Encoder; import sun.security.provider.X509Factory; @@ -173,7 +174,7 @@ if (c.equals(keyStores[i].getCertificate(alias))) { if (JNLPRuntime.isDebug()) { - System.out.println(c.getSubjectX500Principal().getName() + " found in cacerts"); + System.out.println(Translator.R("LCertFoundIn", c.getSubjectX500Principal().getName(), KeyStores.getPathToKeystore(keyStores[i].hashCode()))); } return true; diff -r 1f1e62fd9d23 -r 7a483b55fa92 netx/net/sourceforge/jnlp/security/KeyStores.java --- a/netx/net/sourceforge/jnlp/security/KeyStores.java Wed May 23 18:22:43 2012 +0200 +++ b/netx/net/sourceforge/jnlp/security/KeyStores.java Wed May 23 18:33:29 2012 +0200 @@ -47,7 +47,9 @@ import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.StringTokenizer; import net.sourceforge.jnlp.config.DeploymentConfiguration; @@ -75,6 +77,8 @@ CLIENT_CERTS, } + public static final Map keystoresPaths=new HashMap(); + private static DeploymentConfiguration config = null; private static final String KEYSTORE_TYPE = "JKS"; @@ -133,12 +137,23 @@ KeyStore ks = null; try { ks = createKeyStoreFromFile(new File(location), create, DEFAULT_PASSWORD); + //hashcode is used instead of instance so when no references are left + //to keystore, then this will not be blocker for garbage collection + keystoresPaths.put(ks.hashCode(),location); } catch (Exception e) { e.printStackTrace(); } return ks; } + public static String getPathToKeystore(int k) { + String s = keystoresPaths.get(k); + if (s == null) { + return "unknown keystore location"; + } + return s; + } + /** * Returns an array of KeyStore that contain certificates that are trusted. * The KeyStores contain certificates from different sources. From jvanek at icedtea.classpath.org Wed May 23 09:39:55 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 23 May 2012 16:39:55 +0000 Subject: /hg/icedtea-web: netx/net/sourceforge/jnlp/resources/Messages.pr... Message-ID: changeset 063591de10ee in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=063591de10ee author: Jiri Vanek date: Wed May 23 18:40:09 2012 +0200 netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error in PBadNonrelativeUrl diffstat: ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diffs (37 lines): diff -r 7a483b55fa92 -r 063591de10ee ChangeLog --- a/ChangeLog Wed May 23 18:33:29 2012 +0200 +++ b/ChangeLog Wed May 23 18:40:09 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-23 Jiri Vanek + + * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error + in PBadNonrelativeUrl + 2012-05-23 Jiri Vanek Added more debugging outputs diff -r 7a483b55fa92 -r 063591de10ee netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 23 18:33:29 2012 +0200 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 23 18:40:09 2012 +0200 @@ -81,9 +81,9 @@ LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file. -LNoSecInstance=Error: No security instance for {0}. The application may have trouble continuing -LCertFoundIn={0} found in cacerts ({1}) - +LNoSecInstance=Error: No security instance for {0}. The application may have trouble continuing +LCertFoundIn={0} found in cacerts ({1}) + JNotApplet=File is not an applet. JNotApplication=File is not an application. JNotComponent=File is not a component. @@ -124,7 +124,7 @@ PBadHeight=Invalid applet height. PUrlNotInCodebase=Relative URL does not specify a subdirectory of the codebase. (node={0}, href={1}, base={2}) PBadRelativeUrl=Invalid relative URL (node={0}, href={1}, base={2}) -PBadNonrelativeUrl=Invalid non-relative URL (node={0}, href={0}). +PBadNonrelativeUrl=Invalid non-relative URL (node={0}, href={1}) PNeedsAttribute=The {0} element must specify a {1} attribute. PBadXML=Invalid XML document syntax. PBadHeapSize=Invalid value for heap size ({0}) From pcpa at mandriva.com.br Wed May 23 09:46:08 2012 From: pcpa at mandriva.com.br (pcpa at mandriva.com.br) Date: Wed, 23 May 2012 13:46:08 -0300 (BRT) Subject: vm_start_mutex use in IcedTeaNPPlugin.cc looks fishy In-Reply-To: <20120523155827.GG29866@redhat.com> References: <1c738a8dbc24fe5bda1f0630c1a5c474.squirrel@webmail.minimum.se> <20120523155827.GG29866@redhat.com> Message-ID: <47444.186.206.83.221.1337791568.squirrel@webmail.mandriva.com.br> Deepak Bhole escreveu: > Hi Martin, > > * Martin Olsson [2012-05-23 11:44]: >> The usage of "vm_start_mutex" in IcedTeaNPPlugin.cc looks buggy to me. >> Won't each thread just create and lock it's own mutex, thereby voiding the >> raison d'?tre of the mutex? >> > > Yep. I just noticed this a couple of days ago myself when trying to > investigate zombie VMs someone was seeing (though it was unrelated). I have a patch for it in http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=599 I ended up adding another unrelated patch to the same bug report by mistake, see the icedtea6-1.8.2-mutex_and_leak.patch attachment. BTW, there is an issue with the bugzilla, that does not allow to see text/plain in the browser. > Haven't gotten around to creating a patch for it, but please feel free > to. If not, it is still on my list (though not critical since I have > never seen a bug due to it). I remember it corrected problems for me, with multiple instances of jmol, but did not test it without the patch for a long time. > Cheers, > Deepak Paulo From andrew at icedtea.classpath.org Wed May 23 10:00:08 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 23 May 2012 17:00:08 +0000 Subject: /hg/release/icedtea7-2.2: 2 new changesets Message-ID: changeset 0198d2de05dd in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=0198d2de05dd author: Andrew John Hughes date: Wed May 23 17:43:44 2012 +0100 Added tag icedtea-2.2-branchpoint for changeset 2917541bbda4 changeset bd698bdeb871 in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=bd698bdeb871 author: Andrew John Hughes date: Wed May 23 17:59:53 2012 +0100 Update NEWS for 2.2 release. 2012-05-23 Andrew John Hughes * NEWS: Updated. diffstat: .hgtags | 1 + ChangeLog | 4 ++++ NEWS | 22 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 0 deletions(-) diffs (53 lines): diff -r 2917541bbda4 -r bd698bdeb871 .hgtags --- a/.hgtags Wed May 23 15:32:36 2012 +0100 +++ b/.hgtags Wed May 23 17:59:53 2012 +0100 @@ -32,3 +32,4 @@ 1b47f8cc8c754841c63dfcddc41a11f1b012bddd icedtea-1.14 e4c9d9bd4a99ee2993e6737a84ccb9792fa7c4d1 icedtea-2.0-branchpoint d35c742babc02eb874684ea7cb647ef5eda55c75 icedtea-2.1-branchpoint +2917541bbda4f6745b157f39d7bd39472cae5235 icedtea-2.2-branchpoint diff -r 2917541bbda4 -r bd698bdeb871 ChangeLog --- a/ChangeLog Wed May 23 15:32:36 2012 +0100 +++ b/ChangeLog Wed May 23 17:59:53 2012 +0100 @@ -1,3 +1,7 @@ +2012-05-23 Andrew John Hughes + + * NEWS: Updated. + 2012-05-23 Andrew John Hughes * patches/boot/corba-defs.patch: diff -r 2917541bbda4 -r bd698bdeb871 NEWS --- a/NEWS Wed May 23 15:32:36 2012 +0100 +++ b/NEWS Wed May 23 17:59:53 2012 +0100 @@ -11,8 +11,30 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 2.2 (2012-XX-XX): + * Bug fixes - PR885: IcedTea7 does not build scripting support + - Support glib >= 2.32. + - Fix build on GCC 4.7. + - Allow downloading to be disabled. + - Generalise new ucrypto cryptography tests. + - Stop libraries being stripped in the OpenJDK build. + - PR817: Support kernels that require PaX marking on the JDK binaries. +* PulseAudio + - PR734: Fix pulse-java latency problem + - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' + - LP862286: Fix exception on trying to start PulseAudio playback + - Replace pulse audio enums with static longs. + - Fix a few concurrency problems in pulse audio. + - Start PulseAudioTargetDataLines in the corked state. +* SystemTap + - Support multiple running HotSpots by indexing globals by pid() + - Don't hard code constantPoolOopDesc_size. + - Use @var construct if available. + - Wrap heap accessors in try-catch block. + - Change symbolOopDesc to Symbol to accomodate S6990754. + - Add tapset tests. + - jstaptest.pl: thread_start and stop thread id can be any positive number. New in release 2.1 (2012-02-14): From andrew at icedtea.classpath.org Wed May 23 10:10:35 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 23 May 2012 17:10:35 +0000 Subject: /hg/release/icedtea7-forest-2.2/jdk: Skip wrap mode tests if wra... Message-ID: changeset 8e7653eb3797 in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=8e7653eb3797 author: andrew date: Fri May 04 01:36:23 2012 +0100 Skip wrap mode tests if wrap mode is not available. diffstat: test/com/oracle/security/ucrypto/TestAES.java | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diffs (17 lines): diff -r d56081011fc8 -r 8e7653eb3797 test/com/oracle/security/ucrypto/TestAES.java --- a/test/com/oracle/security/ucrypto/TestAES.java Fri May 04 14:05:28 2012 +0100 +++ b/test/com/oracle/security/ucrypto/TestAES.java Fri May 04 01:36:23 2012 +0100 @@ -219,7 +219,12 @@ System.err.println("Skipping Unsupported CIP algo: " + algos[i]); continue; } - c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); + try { + c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); + } catch (InvalidAlgorithmParameterException e) { + System.err.println("Skipping due to lack of WRAP_MODE support."); + continue; + } AlgorithmParameters params = c1.getParameters(); Cipher c2 = Cipher.getInstance(algos[i], interopP); c2.init(Cipher.UNWRAP_MODE, key, params, null); From dbhole at icedtea.classpath.org Wed May 23 10:11:44 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 23 May 2012 17:11:44 +0000 Subject: /hg/icedtea-web: 3 new changesets Message-ID: changeset 63ffb5a4de75 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=63ffb5a4de75 author: Deepak Bhole date: Wed May 23 12:06:03 2012 -0400 ChangeLog: Converted spaces to tabs in an older entry changeset fdb156630a1e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=fdb156630a1e author: Deepak Bhole date: Wed May 23 12:13:03 2012 -0400 Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes crash). Patch from Martin Olsson. changeset f6eddd071004 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f6eddd071004 author: Deepak Bhole date: Wed May 23 13:02:58 2012 -0400 AUTHORS: Added Martin Olsson to list. diffstat: AUTHORS | 1 + ChangeLog | 32 +++++++++++++++++++++++--------- plugin/icedteanp/IcedTeaNPPlugin.cc | 4 ++-- 3 files changed, 26 insertions(+), 11 deletions(-) diffs (78 lines): diff -r 063591de10ee -r f6eddd071004 AUTHORS --- a/AUTHORS Wed May 23 18:40:09 2012 +0200 +++ b/AUTHORS Wed May 23 13:02:58 2012 -0400 @@ -17,6 +17,7 @@ Jon A. Maxwell Thomas Meyer Saad Mohammad +Martin Olsson Andrew Su Joshua Sumali Jiri Vanek diff -r 063591de10ee -r f6eddd071004 ChangeLog --- a/ChangeLog Wed May 23 18:40:09 2012 +0200 +++ b/ChangeLog Wed May 23 13:02:58 2012 -0400 @@ -1,3 +1,17 @@ +2012-05-23 Deepak Bhole + + * AUTHORS: Added Martin Olsson to list. + +2012-05-23 Martin Olsson + + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes + crash). + +2012-05-23 Deepak Bhole + + * ChangeLog: Converted spaces to tabs in an older entry + 2012-05-23 Jiri Vanek * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error @@ -44,15 +58,15 @@ 2012-05-22 Adam Domurad - Changed allocation of small, fixed-size buffers to stack-based - allocations. Changed occurences of sprintf to the safer function - snprintf, added buffer information. While unlikely to change - functionality, snprintf adds an extra check to prevent buffer - overflows. - * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers - using malloc changed to stack allocation & changed sprintf calls to - buffer-size aware snprintf calls. - * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. + Changed allocation of small, fixed-size buffers to stack-based + allocations. Changed occurences of sprintf to the safer function + snprintf, added buffer information. While unlikely to change + functionality, snprintf adds an extra check to prevent buffer + overflows. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers + using malloc changed to stack allocation & changed sprintf calls to + buffer-size aware snprintf calls. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. 2012-05-22 Jiri Vanek diff -r 063591de10ee -r f6eddd071004 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 18:40:09 2012 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 13:02:58 2012 -0400 @@ -427,7 +427,7 @@ goto cleanup_done; cleanup_appletviewer_mutex: - g_free (data->appletviewer_mutex); + g_mutex_free (data->appletviewer_mutex); data->appletviewer_mutex = NULL; // cleanup_instance_string: @@ -2000,7 +2000,7 @@ tofree->window_width = 0; // cleanup_appletviewer_mutex: - g_free (tofree->appletviewer_mutex); + g_mutex_free (tofree->appletviewer_mutex); tofree->appletviewer_mutex = NULL; // cleanup_instance_string: From dbhole at icedtea.classpath.org Wed May 23 10:12:23 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 23 May 2012 17:12:23 +0000 Subject: /hg/release/icedtea-web-1.1: 3 new changesets Message-ID: changeset 8b42017a48a2 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=8b42017a48a2 author: Deepak Bhole date: Wed May 23 12:10:19 2012 -0400 ChangeLog: Converted spaces to tabs in an older entry changeset 6d9f9e29e56f in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=6d9f9e29e56f author: Deepak Bhole date: Wed May 23 12:13:03 2012 -0400 Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes crash). Patch from Martin Olsson. changeset 937e5c2b8fed in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=937e5c2b8fed author: Deepak Bhole date: Wed May 23 13:06:02 2012 -0400 AUTHORS: Added Martin Olsson to list. diffstat: AUTHORS | 1 + ChangeLog | 22 ++++++++++++++++++---- plugin/icedteanp/IcedTeaNPPlugin.cc | 4 ++-- 3 files changed, 21 insertions(+), 6 deletions(-) diffs (63 lines): diff -r 44e61a76e4c4 -r 937e5c2b8fed AUTHORS --- a/AUTHORS Tue May 22 13:36:34 2012 -0400 +++ b/AUTHORS Wed May 23 13:06:02 2012 -0400 @@ -14,6 +14,7 @@ Omair Majid Jon A. Maxwell Thomas Meyer +Martin Olsson Andrew Su Joshua Sumali Mark Wielaard diff -r 44e61a76e4c4 -r 937e5c2b8fed ChangeLog --- a/ChangeLog Tue May 22 13:36:34 2012 -0400 +++ b/ChangeLog Wed May 23 13:06:02 2012 -0400 @@ -1,9 +1,23 @@ +2012-05-23 Deepak Bhole + + * AUTHORS: Added Martin Olsson to list. + +2012-05-23 Martin Olsson + + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes + crash). + +2012-05-23 Deepak Bhole + + * ChangeLog: Converted spaces to tabs in an older entry + 2012-05-22 Adam Domurad - * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed - unnecessary synchronization on Boolean (dangerous) for code that did - not require synchronization. Changed Boolean => volatile boolean so - that changes are seen in different threads. + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed + unnecessary synchronization on Boolean (dangerous) for code that did + not require synchronization. Changed Boolean => volatile boolean so + that changes are seen in different threads. 2012-03-30 Danesh Dadachanji diff -r 44e61a76e4c4 -r 937e5c2b8fed plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue May 22 13:36:34 2012 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 13:06:02 2012 -0400 @@ -388,7 +388,7 @@ goto cleanup_done; cleanup_appletviewer_mutex: - g_free (data->appletviewer_mutex); + g_mutex_free (data->appletviewer_mutex); data->appletviewer_mutex = NULL; // cleanup_instance_string: @@ -1971,7 +1971,7 @@ tofree->window_width = 0; // cleanup_appletviewer_mutex: - g_free (tofree->appletviewer_mutex); + g_mutex_free (tofree->appletviewer_mutex); tofree->appletviewer_mutex = NULL; // cleanup_instance_string: From dbhole at icedtea.classpath.org Wed May 23 10:12:31 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 23 May 2012 17:12:31 +0000 Subject: /hg/release/icedtea-web-1.2: 3 new changesets Message-ID: changeset 8cefdf76fc6b in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=8cefdf76fc6b author: Deepak Bhole date: Wed May 23 12:10:06 2012 -0400 ChangeLog: Converted spaces to tabs in an older entry changeset 0765eba8ab35 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=0765eba8ab35 author: Deepak Bhole date: Wed May 23 12:13:03 2012 -0400 Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes crash). Patch from Martin Olsson. changeset 0cdefd555de7 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=0cdefd555de7 author: Deepak Bhole date: Wed May 23 13:05:12 2012 -0400 AUTHORS: Added Martin Olsson to list. diffstat: AUTHORS | 1 + ChangeLog | 22 ++++++++++++++++++---- plugin/icedteanp/IcedTeaNPPlugin.cc | 4 ++-- 3 files changed, 21 insertions(+), 6 deletions(-) diffs (68 lines): diff -r ea4d6cf512ca -r 0cdefd555de7 AUTHORS --- a/AUTHORS Wed May 23 14:57:33 2012 +0200 +++ b/AUTHORS Wed May 23 13:05:12 2012 -0400 @@ -17,6 +17,7 @@ Jon A. Maxwell Thomas Meyer Saad Mohammad +Martin Olsson Andrew Su Joshua Sumali Jiri Vanek diff -r ea4d6cf512ca -r 0cdefd555de7 ChangeLog --- a/ChangeLog Wed May 23 14:57:33 2012 +0200 +++ b/ChangeLog Wed May 23 13:05:12 2012 -0400 @@ -1,3 +1,17 @@ +2012-05-23 Deepak Bhole + + * AUTHORS: Added Martin Olsson to list. + +2012-05-23 Martin Olsson + + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes + crash). + +2012-05-23 Deepak Bhole + + * ChangeLog: Converted spaces to tabs in an older entry + 2012-05-23 Jiri Vanek Enhanced about dialog @@ -11,10 +25,10 @@ 2012-05-22 Adam Domurad - * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed - unnecessary synchronization on Boolean (dangerous) for code that did - not require synchronization. Changed Boolean => volatile boolean so - that changes are seen in different threads. + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed + unnecessary synchronization on Boolean (dangerous) for code that did + not require synchronization. Changed Boolean => volatile boolean so + that changes are seen in different threads. 2012-05-22 Jiri Vanek Omair Majid diff -r ea4d6cf512ca -r 0cdefd555de7 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 14:57:33 2012 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 13:05:12 2012 -0400 @@ -427,7 +427,7 @@ goto cleanup_done; cleanup_appletviewer_mutex: - g_free (data->appletviewer_mutex); + g_mutex_free (data->appletviewer_mutex); data->appletviewer_mutex = NULL; // cleanup_instance_string: @@ -2000,7 +2000,7 @@ tofree->window_width = 0; // cleanup_appletviewer_mutex: - g_free (tofree->appletviewer_mutex); + g_mutex_free (tofree->appletviewer_mutex); tofree->appletviewer_mutex = NULL; // cleanup_instance_string: From dbhole at redhat.com Wed May 23 10:12:51 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 13:12:51 -0400 Subject: [PATCH] fix mutex related crash + cleanup .hgignore In-Reply-To: References: Message-ID: <20120523171251.GI29866@redhat.com> * Martin Olsson [2012-05-23 11:42]: > Two patches for icedtea-web attached. I have pushed the mutex patch to all supported branches. Thanks Martin! Cheers, Deepak From ahughes at redhat.com Wed May 23 10:16:41 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 23 May 2012 13:16:41 -0400 (EDT) Subject: [PATCH] fix mutex related crash + cleanup .hgignore In-Reply-To: <4FBD0735.7090806@redhat.com> Message-ID: <0ba82a4c-1215-415d-ac0c-696d81dceea1@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > On 05/23/2012 05:41 PM, Martin Olsson wrote: > > Two patches for icedtea-web attached. > > This was proposed several-times in past and not allowed to go in. > Those files are removed by make > clean/distcelan. > Exactly. If you don't like them being in hg status, build using a separate build directory, which is the recommended method anyway. > Best regards > J. > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Wed May 23 10:29:34 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 23 May 2012 13:29:34 -0400 (EDT) Subject: [2.2 BRANCH] Allow providers to pass TestAES even if they don't provide wrap mode In-Reply-To: <4FB3CC59.5010603@redhat.com> Message-ID: <2ac168b8-2555-4fe5-85fe-e4d29acea07e@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Hi Andrew, > > it looks ok for me. > > (and it seems you already fixed it in IcedTea6) > > There's only one (probably minor issue) - do you use tabs for > indentation > or spaces as in original test? > Whatever the editor used. It's easily corrected by the normaliser anyway. Patch committed. > Cheers, > Pavel > > > > > > > -------- Original Message -------- > > Subject: [2.2 BRANCH] Allow providers to pass TestAES even if they > > don't > > provide wrap mode > > Date: Wed, 16 May 2012 11:43:57 +0100 > > From: Dr Andrew John Hughes > > To: distro-pkg-dev at openjdk.java.net > > > > If a cryptography provider doesn't support a particular mode or > > algorithm, > > it throws exception. At present, the tests added in u4 skip > > testing that > > function of such providers, with the exception of wrapping in > > TestAES, > > which instead throws the exception up to the user and causes the > > test to > > fail. This treats a request for wrap mode like the others, and > > skips the > > test if it's not available. > > > > Ok for 2.2 branch? > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrew at icedtea.classpath.org Wed May 23 10:34:12 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 23 May 2012 17:34:12 +0000 Subject: /hg/release/icedtea7-forest-2.2/jdk: Normalise whitespace follow... Message-ID: changeset ca871dbdbd7b in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=ca871dbdbd7b author: andrew date: Wed May 23 18:33:36 2012 +0100 Normalise whitespace following test changes. diffstat: test/com/oracle/security/ucrypto/TestAES.java | 34 +- test/com/oracle/security/ucrypto/TestDigest.java | 2 +- test/com/oracle/security/ucrypto/TestRSA.java | 282 +++++++++++----------- test/com/oracle/security/ucrypto/UcryptoTest.java | 28 +- 4 files changed, 173 insertions(+), 173 deletions(-) diffs (truncated from 612 to 500 lines): diff -r 8e7653eb3797 -r ca871dbdbd7b test/com/oracle/security/ucrypto/TestAES.java --- a/test/com/oracle/security/ucrypto/TestAES.java Fri May 04 01:36:23 2012 +0100 +++ b/test/com/oracle/security/ucrypto/TestAES.java Wed May 23 18:33:36 2012 +0100 @@ -55,7 +55,7 @@ main(new TestAES(), null); } - public boolean doTest(Provider prov) + public boolean doTest(Provider prov) throws NoSuchAlgorithmException { // Provider for testing Interoperability Provider sunJCEProv = Security.getProvider("SunJCE"); @@ -69,7 +69,7 @@ boolean result5 = testCipherKeyWrapping(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv); boolean result6 = testCipherGCM(CIPHER_KEY, prov); - return result1 && result2 && result3 && result4 && result5 && result6; + return result1 && result2 && result3 && result4 && result5 && result6; } private static boolean testCipherInterop(String[] algos, SecretKey key, @@ -128,12 +128,12 @@ } else { System.err.println("One or more CIPHER Interop tests failed!"); } - - return testPassed; + + return testPassed; } private static boolean testCipherOffset(String[] algos, SecretKey key, - Provider p) { + Provider p) { boolean testPassed = true; byte[] in = new byte[16]; (new SecureRandom()).nextBytes(in); @@ -189,12 +189,12 @@ } else { System.err.println("One or more CIPHER offset tests failed!"); } - - return testPassed; + + return testPassed; } private static boolean testCipherKeyWrapping(String[] algos, SecretKey key, - Provider p, Provider interopP) + Provider p, Provider interopP) throws NoSuchAlgorithmException { boolean testPassed = true; @@ -219,12 +219,12 @@ System.err.println("Skipping Unsupported CIP algo: " + algos[i]); continue; } - try { - c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); - } catch (InvalidAlgorithmParameterException e) { - System.err.println("Skipping due to lack of WRAP_MODE support."); - continue; - } + try { + c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null); + } catch (InvalidAlgorithmParameterException e) { + System.err.println("Skipping due to lack of WRAP_MODE support."); + continue; + } AlgorithmParameters params = c1.getParameters(); Cipher c2 = Cipher.getInstance(algos[i], interopP); c2.init(Cipher.UNWRAP_MODE, key, params, null); @@ -262,12 +262,12 @@ System.err.println("One or more CIPHER keywrapping tests failed!"); } - return testPassed; + return testPassed; } private static boolean testCipherGCM(SecretKey key, - Provider p) { + Provider p) { boolean testPassed = true; byte[] in = new byte[16]; (new SecureRandom()).nextBytes(in); @@ -318,7 +318,7 @@ System.err.println("One or more CIPHER GCM tests failed!"); } - return testPassed; + return testPassed; } private static boolean checkArrays(byte[] a1, int a1Len, byte[] a2, int a2Len) { diff -r 8e7653eb3797 -r ca871dbdbd7b test/com/oracle/security/ucrypto/TestDigest.java --- a/test/com/oracle/security/ucrypto/TestDigest.java Fri May 04 01:36:23 2012 +0100 +++ b/test/com/oracle/security/ucrypto/TestDigest.java Wed May 23 18:33:36 2012 +0100 @@ -124,6 +124,6 @@ System.err.println("One or more MD test failed!"); } - return testPassed; + return testPassed; } } diff -r 8e7653eb3797 -r ca871dbdbd7b test/com/oracle/security/ucrypto/TestRSA.java --- a/test/com/oracle/security/ucrypto/TestRSA.java Fri May 04 01:36:23 2012 +0100 +++ b/test/com/oracle/security/ucrypto/TestRSA.java Wed May 23 18:33:36 2012 +0100 @@ -165,34 +165,34 @@ }; private static KeyPair genRSAKey(int keyLength) { - try { - KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); - kpg.initialize(keyLength); - return kpg.generateKeyPair(); - } catch (NoSuchAlgorithmException e) { - System.err.println("Couldn't generate key: " + e); - return null; - } + try { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + kpg.initialize(keyLength); + return kpg.generateKeyPair(); + } catch (NoSuchAlgorithmException e) { + System.err.println("Couldn't generate key: " + e); + return null; + } } private static KeyPair genPredefinedRSAKeyPair() { - try { - KeyFactory kf = KeyFactory.getInstance("RSA"); - BigInteger mod = new BigInteger(MOD); - BigInteger pub = new BigInteger(PUB_EXP); - - PrivateKey privKey = kf.generatePrivate - (new RSAPrivateCrtKeySpec - (mod, pub, new BigInteger(PRIV_EXP), - new BigInteger(PRIME_P), new BigInteger(PRIME_Q), - new BigInteger(EXP_P), new BigInteger(EXP_Q), - new BigInteger(CRT_COEFF))); - PublicKey pubKey = kf.generatePublic(new RSAPublicKeySpec(mod, pub)); - return new KeyPair(pubKey, privKey); - } catch (NoSuchAlgorithmException|InvalidKeySpecException ex) { - System.err.println("Couldn't generate predefined key pair: " + ex); - return null; - } + try { + KeyFactory kf = KeyFactory.getInstance("RSA"); + BigInteger mod = new BigInteger(MOD); + BigInteger pub = new BigInteger(PUB_EXP); + + PrivateKey privKey = kf.generatePrivate + (new RSAPrivateCrtKeySpec + (mod, pub, new BigInteger(PRIV_EXP), + new BigInteger(PRIME_P), new BigInteger(PRIME_Q), + new BigInteger(EXP_P), new BigInteger(EXP_Q), + new BigInteger(CRT_COEFF))); + PublicKey pubKey = kf.generatePublic(new RSAPublicKeySpec(mod, pub)); + return new KeyPair(pubKey, privKey); + } catch (NoSuchAlgorithmException|InvalidKeySpecException ex) { + System.err.println("Couldn't generate predefined key pair: " + ex); + return null; + } } private static final String CIP_ALGOS[] = { @@ -220,14 +220,14 @@ public boolean doTest(Provider prov) { // first test w/ predefine KeyPair KeyPair pkp = genPredefinedRSAKeyPair(); - if (pkp == null) - return true; + if (pkp == null) + return true; System.err.println("Test against Predefined RSA Key Pair"); boolean result1 = testCipher(pkp, 128, true, prov); boolean result2 = testSignature(pkp, true, prov); - boolean[] cResults = new boolean[10]; - boolean[] sResults = new boolean[10]; + boolean[] cResults = new boolean[10]; + boolean[] sResults = new boolean[10]; for (int i = 0; i < 10; i++) { // then test w/ various key lengths int keyLens[] = { 1024, 2048 }; @@ -236,41 +236,41 @@ cResults[i] = testCipher(keyLens, false, prov); sResults[i] = testSignature(keyLens, false, prov); } - boolean result3 = true; - boolean result4 = true; - for (int i = 0; i < 10; i++) { - if (!cResults[i]) - result3 = false; - if (!sResults[i]) - result4 = false; - } - return result1 && result2 && result3 && result4; + boolean result3 = true; + boolean result4 = true; + for (int i = 0; i < 10; i++) { + if (!cResults[i]) + result3 = false; + if (!sResults[i]) + result4 = false; + } + return result1 && result2 && result3 && result4; } private static boolean testCipher(KeyPair kp, int inputSizeInBytes, - boolean checkInterop, Provider prov) { + boolean checkInterop, Provider prov) { Cipher c1, c2; - boolean[] results = new boolean[CIP_ALGOS.length]; + boolean[] results = new boolean[CIP_ALGOS.length]; for (int i = 0; i < CIP_ALGOS.length; i++) { String algo = CIP_ALGOS[i]; try { c1 = Cipher.getInstance(algo, prov); } catch (NoSuchAlgorithmException|NoSuchPaddingException nsae) { System.err.println("Skip unsupported Cipher algo: " + algo); - results[i] = true; + results[i] = true; continue; } - try { - if (checkInterop) { - c2 = Cipher.getInstance(algo, "SunJCE"); - } else { - c2 = Cipher.getInstance(algo, prov); - } + try { + if (checkInterop) { + c2 = Cipher.getInstance(algo, "SunJCE"); + } else { + c2 = Cipher.getInstance(algo, prov); + } } catch (NoSuchAlgorithmException|NoSuchPaddingException|NoSuchProviderException nsae) { System.err.println("Skip unsupported Cipher algo: " + algo); - results[i] = true; + results[i] = true; continue; } @@ -279,24 +279,24 @@ results[i] = testEncryption(c1, c2, kp, data); } - for (int i = 0; i < CIP_ALGOS.length; i++) - if (!results[i]) - return false; - return true; + for (int i = 0; i < CIP_ALGOS.length; i++) + if (!results[i]) + return false; + return true; } private static boolean testCipher(int keyLens[], boolean checkInterop, - Provider prov) { + Provider prov) { // RSA CipherText will always differ due to the random nonce in padding // so we check whether both // 1) Java Encrypt/C Decrypt // 2) C Encrypt/Java Decrypt // works Cipher c1, c2; - boolean[] results = new boolean[CIP_ALGOS.length]; + boolean[] results = new boolean[CIP_ALGOS.length]; for (int i = 0; i < CIP_ALGOS.length; i++) { String algo = CIP_ALGOS[i]; - results[i] = true; + results[i] = true; try { c1 = Cipher.getInstance(algo, prov); } catch (NoSuchAlgorithmException|NoSuchPaddingException nsae) { @@ -304,47 +304,47 @@ continue; } - try { - if (checkInterop) { - c2 = Cipher.getInstance(algo, "SunJCE"); - } else { - c2 = Cipher.getInstance(algo, prov); - } + try { + if (checkInterop) { + c2 = Cipher.getInstance(algo, "SunJCE"); + } else { + c2 = Cipher.getInstance(algo, prov); + } } catch (NoSuchAlgorithmException|NoSuchPaddingException|NoSuchProviderException nsae) { System.err.println("Skip unsupported Cipher algo: " + algo); continue; } - boolean[] encResults = new boolean[keyLens.length]; + boolean[] encResults = new boolean[keyLens.length]; for (int h = 0; h < keyLens.length; h++) { // Defer key pair generation until now when it'll soon be used. if (kp[h] == null) { kp[h] = genRSAKey(keyLens[h]); - if (kp[h] == null) { - encResults[h] = true; - continue; - } + if (kp[h] == null) { + encResults[h] = true; + continue; + } } System.err.println("Testing Cipher " + algo + " w/ KeySize " + keyLens[h]); byte[] data = Arrays.copyOf (PLAINTEXT, keyLens[h]/8 - INPUT_SIZE_REDUCTION[i]); encResults[h] = testEncryption(c1, c2, kp[h], data); } - for (int h = 0; h < keyLens.length; h++) - if (!encResults[h]) - results[i] = false; + for (int h = 0; h < keyLens.length; h++) + if (!encResults[h]) + results[i] = false; } - for (int i = 0; i < CIP_ALGOS.length; i++) - if (!results[i]) - return false; - return true; + for (int i = 0; i < CIP_ALGOS.length; i++) + if (!results[i]) + return false; + return true; } private static boolean testEncryption(Cipher c1, Cipher c2, KeyPair kp, byte[] data) { // C1 Encrypt + C2 Decrypt byte[] out1 = null; byte[] recoveredText = null; - boolean result1 = true; + boolean result1 = true; try { c1.init(Cipher.ENCRYPT_MODE, kp.getPublic()); out1 = c1.doFinal(data); @@ -355,14 +355,14 @@ ex.printStackTrace(); result1 = false; } - boolean result2 = true; + boolean result2 = true; if(!Arrays.equals(recoveredText, data)) { System.err.println("DEC ERROR: different PT bytes"); - result2 = false; + result2 = false; } // C2 Encrypt + C1 Decrypt byte[] cipherText = null; - boolean result3 = true; + boolean result3 = true; try { c2.init(Cipher.ENCRYPT_MODE, kp.getPublic()); cipherText = c2.doFinal(data); @@ -379,59 +379,59 @@ ex.printStackTrace(); result3 = false; } - boolean result4 = Arrays.equals(out1, data); + boolean result4 = Arrays.equals(out1, data); if (!result4) { System.err.println("ENC ERROR: Decrypted result DIFF"); } - if (result1 && result2 && result3 && result4) { - System.err.println("=> PASS"); - return true; - } - return false; + if (result1 && result2 && result3 && result4) { + System.err.println("=> PASS"); + return true; + } + return false; } private static boolean testSignature(KeyPair kp, boolean checkInterop, - Provider prov) { + Provider prov) { byte[] data = PLAINTEXT; Signature sig1, sig2; - boolean[] results = new boolean[SIG_ALGOS.length]; + boolean[] results = new boolean[SIG_ALGOS.length]; for (int i = 0; i < SIG_ALGOS.length; i++) { String algo = SIG_ALGOS[i]; try { sig1 = Signature.getInstance(algo, prov); } catch (NoSuchAlgorithmException nsae) { System.err.println("Skip unsupported Signature algo: " + algo); - results[i] = true; + results[i] = true; continue; } - try { - if (checkInterop) { - sig2 = Signature.getInstance(algo, "SunRsaSign"); - } else { - sig2 = Signature.getInstance(algo, prov); - } - } catch (NoSuchAlgorithmException|NoSuchProviderException nsae) { - System.err.println("Skip unsupported interop Signature algo: " + algo); - results[i] = true; - continue; + try { + if (checkInterop) { + sig2 = Signature.getInstance(algo, "SunRsaSign"); + } else { + sig2 = Signature.getInstance(algo, prov); + } + } catch (NoSuchAlgorithmException|NoSuchProviderException nsae) { + System.err.println("Skip unsupported interop Signature algo: " + algo); + results[i] = true; + continue; } results[i] = testSigning(sig1, sig2, kp, data); } - for (int i = 0; i < SIG_ALGOS.length; i++) - if (!results[i]) - return false; - return true; + for (int i = 0; i < SIG_ALGOS.length; i++) + if (!results[i]) + return false; + return true; } private static boolean testSignature(int keyLens[], boolean checkInterop, - Provider prov) { + Provider prov) { byte[] data = PLAINTEXT; Signature sig1, sig2; - boolean[] results = new boolean[SIG_ALGOS.length]; + boolean[] results = new boolean[SIG_ALGOS.length]; for (int i = 0; i < SIG_ALGOS.length; i++) { String algo = SIG_ALGOS[i]; - results[i] = true; + results[i] = true; try { sig1 = Signature.getInstance(algo, prov); } catch (NoSuchAlgorithmException nsae) { @@ -439,45 +439,45 @@ continue; } - try { - if (checkInterop) { - sig2 = Signature.getInstance(algo, "SunRsaSign"); - } else { - sig2 = Signature.getInstance(algo, prov); - } + try { + if (checkInterop) { + sig2 = Signature.getInstance(algo, "SunRsaSign"); + } else { + sig2 = Signature.getInstance(algo, prov); + } } catch (NoSuchAlgorithmException|NoSuchProviderException nsae) { System.err.println("Skip unsupported Signature algo: " + algo); continue; } - boolean[] subResults = new boolean[keyLens.length]; + boolean[] subResults = new boolean[keyLens.length]; for (int h = 0; h < keyLens.length; h++) { // Defer key pair generation until now when it'll soon be used. if (kp[h] == null) { kp[h] = genRSAKey(keyLens[h]); - if (kp[h] == null) { - subResults[h] = true; - continue; - } + if (kp[h] == null) { + subResults[h] = true; + continue; + } } System.err.println("Testing Signature " + algo + " w/ KeySize " + keyLens[h]); subResults[h] = testSigning(sig1, sig2, kp[h], data); } - for (int h = 0; h < keyLens.length; h++) - if (!subResults[h]) - results[i] = false; + for (int h = 0; h < keyLens.length; h++) + if (!subResults[h]) + results[i] = false; } From dbhole at redhat.com Wed May 23 11:35:11 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 14:35:11 -0400 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <20120523140849.GC29866@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> <4FACF328.8030107@redhat.com> <20120523140849.GC29866@redhat.com> Message-ID: <20120523183510.GM29866@redhat.com> * Deepak Bhole [2012-05-23 10:08]: > * Jiri Vanek [2012-05-11 07:07]: > > Back to list. > > > > All suggested grammar and formatting improvements have been applied. > > > > Hi Jiri, > > ... > ... > > > + //hascode is used instead of instance so when no references are left > > hascode => hashcode > > ... > ... > > > + SecurityDesc sec=jarLocationSecurityMap.get(source); > > + if (sec==null){ > > space before and after the = and before and after the == above. > > After fixing above, OK for push to head. > Hi Jiri, Can you please either back this out or change it to not make it throw exceptions (just printing it instead)? This patch breaks http://jmol.sourceforge.net/demo/atoms/ Thanks for Danesh for tracing this! Thanks, Deepak From dbhole at redhat.com Wed May 23 11:56:16 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 14:56:16 -0400 Subject: RFC: PR599: Plug-in mutex and memory leak Message-ID: <20120523185614.GN29866@redhat.com> Hi, This patch fixes part of PR599. There is a patch attached in the bug but I used a different approach to make it more consistent with other mutex declarations instead: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=599 ChangeLog: 2012-05-23 Deepak Bhole PR599: Plug-in mutex and memory leak * plugin/icedteanp/IcedTeaNPPlugin.cc: Make vm_start_mutex static/global and initialize it at start. (start_jvm_if_needed): Make vm_start_mutex static/global and unlock if VM is already up. (NP_Shutdown): Free vm_start_mutex when shutting down. OK for head? Thanks, Deepak -------------- next part -------------- diff -r f6eddd071004 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 13:02:58 2012 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 14:53:20 2012 -0400 @@ -247,6 +247,10 @@ // Global instance counter. // Mutex to protect plugin_instance_counter. static GMutex* plugin_instance_mutex = NULL; + +// Mutex to lock vm startup +static GMutex* vm_start_mutex = g_mutex_new(); + // A global variable for reporting GLib errors. This must be free'd // and set to NULL after each use. static GError* channel_error = NULL; @@ -483,6 +487,7 @@ if (jvm_up) { PLUGIN_DEBUG("JVM is up. Returning.\n"); + g_mutex_unlock(vm_start_mutex); return; } @@ -2359,13 +2364,19 @@ { PLUGIN_DEBUG ("NP_Shutdown\n"); - // Free mutex. + // Free mutexes if (plugin_instance_mutex) { g_mutex_free (plugin_instance_mutex); plugin_instance_mutex = NULL; } + if (vm_start_mutex) + { + g_mutex_free (vm_start_mutex); + vm_start_mutex = NULL; + } + if (data_directory) { g_free (data_directory); From andrew at icedtea.classpath.org Wed May 23 11:59:36 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 23 May 2012 18:59:36 +0000 Subject: /hg/release/icedtea7-2.2: Use 2.2 forest. Message-ID: changeset 099cd72b4611 in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=099cd72b4611 author: Andrew John Hughes date: Wed May 23 19:59:19 2012 +0100 Use 2.2 forest. 2012-05-23 Andrew John Hughes Use 2.2 forest. * Makefile.am: (CORBA_CHANGESET): Update to 2.2 forest head. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (ICEDTEA_PREFIX): Set to icedtea7-forest-2.2 (ICEDTEA_HG_URL): Point to 2.2 forest. (extract-openjdk): Mirror replacement of '.' with '-' done by Mercurial server when creating tarball. * patches/boot/ecj-diamond.patch: Adjust case in UntrustedCertificates.java. diffstat: ChangeLog | 25 + Makefile.am | 34 +- patches/boot/ecj-diamond.patch | 890 ++++++++++++++++++++-------------------- 3 files changed, 487 insertions(+), 462 deletions(-) diffs (truncated from 2500 to 500 lines): diff -r bd698bdeb871 -r 099cd72b4611 ChangeLog --- a/ChangeLog Wed May 23 17:59:53 2012 +0100 +++ b/ChangeLog Wed May 23 19:59:19 2012 +0100 @@ -1,3 +1,28 @@ +2012-05-23 Andrew John Hughes + + Use 2.2 forest. + * Makefile.am: + (CORBA_CHANGESET): Update to 2.2 forest head. + (HOTSPOT_CHANGESET): Likewise. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + (ICEDTEA_PREFIX): Set to icedtea7-forest-2.2 + (ICEDTEA_HG_URL): Point to 2.2 forest. + (extract-openjdk): Mirror replacement of '.' with + '-' done by Mercurial server when creating tarball. + * patches/boot/ecj-diamond.patch: + Adjust case in UntrustedCertificates.java. + 2012-05-23 Andrew John Hughes * NEWS: Updated. diff -r bd698bdeb871 -r 099cd72b4611 Makefile.am --- a/Makefile.am Wed May 23 17:59:53 2012 +0100 +++ b/Makefile.am Wed May 23 19:59:19 2012 +0100 @@ -4,21 +4,21 @@ JDK_UPDATE_VERSION = 04 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = 113893003a77 -HOTSPOT_CHANGESET = 5be91de8b779 -JAXP_CHANGESET = 10808c0ac008 -JAXWS_CHANGESET = 06cd92271215 -JDK_CHANGESET = fd327c7e74da -LANGTOOLS_CHANGESET = 8634c8f95ff7 -OPENJDK_CHANGESET = 6670fad22684 +CORBA_CHANGESET = b165245a9c91 +HOTSPOT_CHANGESET = b11130d646c2 +JAXP_CHANGESET = a98d6a2f14a1 +JAXWS_CHANGESET = 78ae35b1ed35 +JDK_CHANGESET = ca871dbdbd7b +LANGTOOLS_CHANGESET = 2176128e2f57 +OPENJDK_CHANGESET = 8beaec91886d -CORBA_SHA256SUM = 3dafae04c00c8f13a7cbba0a8ad070bd10e4bec6598f27a62e34cdeb54ed4957 -HOTSPOT_SHA256SUM = babb11cf54c6299fe2f0730968316958b71a1dd5e7c2d5d698ac7d905bfc2ccc -JAXP_SHA256SUM = a8c600e3419d8586acb3f7f444bea399aac174d58f2127cb4c0a3ffd3cffdd17 -JAXWS_SHA256SUM = f896fbc4dd9eeb68015afe0378638fc646b9b08047cf9c382a33542f44454def -JDK_SHA256SUM = 4697250c0218be75bac9595e0345cff3bfb7a0f5bd0a9cf0544b75483aec9a1a -LANGTOOLS_SHA256SUM = bad80067828740510fe8f7c430dfb90d1ec1c895a93fa56b16d8223a8c757bd3 -OPENJDK_SHA256SUM = 5256c8e7c9144ff8a23e83574a82a42874c4c7722057e8194ceb70fe15a5de06 +CORBA_SHA256SUM = 51d173f91fd719ead1a7e9ba37a58601c6bc294e45274b0d00e7691faa73a3f8 +HOTSPOT_SHA256SUM = f1295ad94fd3e5ba3a880703ce97b2e4274c4c3b0fc7f23ef9a3eb9de3043d31 +JAXP_SHA256SUM = 16e23d8a721fa7e5fc0ca4c83f8a0cc300a2b6f2682597b48e31ca18d2e05ae3 +JAXWS_SHA256SUM = ab49c561624694504aeafe0996a760c577b50c21c89eb741932e3ec22c0ec426 +JDK_SHA256SUM = 0db1a01ce9035032854c6f8d76403d4edf8bb76f0afa31377f400063f4a18df8 +LANGTOOLS_SHA256SUM = b277f274fe5c830dbb735d0193bdb739bd4d716c00891cc1e58c25a0dd97c567 +OPENJDK_SHA256SUM = 087ff5687b568ab2395eedef1310edd940259425ce385573ccb2c0406db13062 CACAO_VERSION = a567bcb7f589 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9 @@ -32,8 +32,8 @@ JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz -ICEDTEA_PREFIX = icedtea7-forest -ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/$(ICEDTEA_PREFIX) +ICEDTEA_PREFIX = icedtea7-forest-2.2 +ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/release/$(ICEDTEA_PREFIX) OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk7/jdk7 CVMI_HG_URL = http://hg.openjdk.java.net/cvmi/cvmi/ CLOSURES_HG_URL = http://hg.openjdk.java.net/closures/closures/ @@ -1104,7 +1104,7 @@ *.zip) $(UNZIP) -q $(OPENJDK_SRC_ZIP) ;; \ *.tar.*) $(TAR) xf $(OPENJDK_SRC_ZIP) ;; \ esac; \ - mv $(ICEDTEA_PREFIX)-$(OPENJDK_CHANGESET) openjdk ; \ + mv `echo $(ICEDTEA_PREFIX)|sed 's#\.#-#'`-$(OPENJDK_CHANGESET) openjdk ; \ else \ echo "ERROR: Couldn't extract OpenJDK"; \ false; \ diff -r bd698bdeb871 -r 099cd72b4611 patches/boot/ecj-diamond.patch --- a/patches/boot/ecj-diamond.patch Wed May 23 17:59:53 2012 +0100 +++ b/patches/boot/ecj-diamond.patch Wed May 23 19:59:19 2012 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-03-22 11:28:14.027881166 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-05-23 18:44:10.516396787 +0100 @@ -103,9 +103,9 @@ return this.def.compareTo(that.def); } @@ -72,8 +72,8 @@ for (int i = 0; i < layout.length(); i++) { if (layout.charAt(i++) != '[') diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-03-22 11:18:05.190037791 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-05-23 18:42:49.223062740 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-05-23 18:44:10.552397378 +0100 @@ -257,7 +257,7 @@ assert(basicCodings[_meta_default] == null); assert(basicCodings[_meta_canon_min] != null); @@ -142,8 +142,8 @@ return true; } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-03-22 11:18:05.066035805 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-05-23 18:42:49.079060377 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-05-23 18:44:10.552397378 +0100 @@ -466,7 +466,7 @@ void readInnerClasses(Class cls) throws IOException { @@ -154,8 +154,8 @@ InnerClass ic = new InnerClass(readClassRef(), diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-05-23 18:44:10.552397378 +0100 @@ -743,9 +743,9 @@ // Steps 1/2/3 are interdependent, and may be iterated. // Steps 4 and 5 may be decided independently afterward. @@ -192,8 +192,8 @@ if (popset.add(values[i])) popvals.add(values[i]); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-05-23 18:44:10.552397378 +0100 @@ -402,7 +402,7 @@ private static Map codeMap; @@ -204,8 +204,8 @@ Coding x1 = codeMap.get(x0); if (x1 == null) codeMap.put(x0, x1 = x0); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-05-23 18:44:10.552397378 +0100 @@ -915,7 +915,7 @@ public static Index[] partition(Index ix, int[] keys) { @@ -234,8 +234,8 @@ Entry e = work.previous(); work.remove(); // pop stack diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-03-22 11:18:05.190037791 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-05-23 18:42:49.223062740 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-05-23 18:44:10.552397378 +0100 @@ -59,7 +59,7 @@ ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource"); @@ -273,8 +273,8 @@ for (String optline : options.split("\n")) { String[] words = optline.split("\\p{Space}+"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-05-23 18:44:10.552397378 +0100 @@ -45,7 +45,7 @@ private final ArrayList flist; @@ -285,8 +285,8 @@ for (int i = 0 ; i < capacity ; i++) { flist.add(null); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-05-23 18:44:10.552397378 +0100 @@ -126,11 +126,11 @@ public void setBytes(byte[] newBytes) { if (bytes == newBytes) return; @@ -311,8 +311,8 @@ static final int LOC_SHIFT = 1; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-03-22 11:18:05.070035870 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-05-23 18:42:49.079060377 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-05-23 18:44:10.552397378 +0100 @@ -112,7 +112,7 @@ public static final Attribute.Layout attrSourceFileSpecial; public static final Map attrDefs; @@ -477,8 +477,8 @@ // Add to the end of ths list: if (!fileSet.contains(cls.file)) diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-05-23 18:42:49.223062740 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-05-23 18:44:10.552397378 +0100 @@ -686,7 +686,7 @@ cp_Signature_classes.expectLength(getIntTotal(numSigClasses)); cp_Signature_classes.readFrom(in); @@ -592,8 +592,8 @@ ClassEntry thisClass = curClass.thisClass; ClassEntry superClass = curClass.superClass; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-05-23 18:42:49.223062740 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-05-23 18:44:10.552397378 +0100 @@ -116,7 +116,7 @@ int[][] attrCounts; // count attr. occurences @@ -649,8 +649,8 @@ for (Class cls : pkg.classes) { if (!cls.hasInnerClasses()) continue; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-05-23 18:44:10.556397443 +0100 @@ -181,8 +181,8 @@ final Map attrDefs; final Map attrCommands; @@ -681,8 +681,8 @@ for (JarEntry je : Collections.list(jf.entries())) { InFile inFile = new InFile(jf, je); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-05-23 18:44:10.556397443 +0100 @@ -309,7 +309,7 @@ // As each new value is added, we assert that the value // was not already in the set. @@ -693,8 +693,8 @@ maxForDebug += fillp; int min = Integer.MIN_VALUE; // farthest from the center diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-05-23 18:42:49.223062740 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-05-23 18:44:10.556397443 +0100 @@ -47,8 +47,8 @@ */ @@ -716,8 +716,8 @@ while (res.remove(null)); return res; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-05-23 18:44:10.556397443 +0100 @@ -58,12 +58,12 @@ private final Map memberEntries; @@ -738,8 +738,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-05-23 18:42:49.227062806 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-05-23 18:44:10.556397443 +0100 @@ -232,7 +232,7 @@ props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50"); pkg.ensureAllClassFiles(); @@ -750,8 +750,8 @@ String name = file.nameString; JarEntry je = new JarEntry(Utils.getJarEntryName(name)); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-05-23 18:42:49.227062806 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-05-23 18:44:10.556397443 +0100 @@ -132,7 +132,7 @@ // Keep a TLS point to the global data and environment. // This makes it simpler to supply environmental options @@ -762,8 +762,8 @@ // convenience methods to access the TL globals static TLGlobals getTLGlobals() { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-05-23 18:44:10.556397443 +0100 @@ -1284,7 +1284,7 @@ */ public Collection toCollection() throws SQLException { @@ -783,8 +783,8 @@ // create a copy CachedRowSetImpl crsTemp; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-05-23 18:44:10.556397443 +0100 @@ -222,7 +222,7 @@ // either of the setter methods have been set. if(boolColId){ @@ -795,8 +795,8 @@ if( (strMatchKey = (cRowset.getMatchColumnNames())[i]) != null) { iMatchKey = cRowset.findColumn(strMatchKey); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-05-23 18:44:10.560397509 +0100 @@ -99,10 +99,10 @@ throws UnsupportedCallbackException { @@ -811,8 +811,8 @@ ConfirmationInfo confirmation = new ConfirmationInfo(); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-05-23 18:44:10.560397509 +0100 @@ -152,7 +152,7 @@ // new configuration @@ -841,8 +841,8 @@ String value; while (peek(";") == false) { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-05-23 18:44:10.560397509 +0100 @@ -184,7 +184,7 @@ private UnixNumericUserPrincipal UIDPrincipal; private UnixNumericGroupPrincipal GIDPrincipal; @@ -853,8 +853,8 @@ // initial state private Subject subject; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-05-23 18:44:10.560397509 +0100 @@ -658,7 +658,7 @@ throw new FailedLoginException( "Unable to find X.509 certificate chain in keystore"); @@ -865,8 +865,8 @@ certList.add(fromKeyStore[i]); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-05-23 18:44:10.560397509 +0100 @@ -76,7 +76,7 @@ private SolarisNumericUserPrincipal UIDPrincipal; private SolarisNumericGroupPrincipal GIDPrincipal; @@ -877,8 +877,8 @@ /** * Initialize this LoginModule. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-05-23 18:44:10.560397509 +0100 @@ -70,7 +70,7 @@ private UnixNumericUserPrincipal UIDPrincipal; private UnixNumericGroupPrincipal GIDPrincipal; @@ -889,8 +889,8 @@ /** * Initialize this LoginModule. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-05-23 18:44:10.560397509 +0100 @@ -1180,7 +1180,7 @@ // Done return certs; @@ -901,8 +901,8 @@ while (i < certs.length) { userCertList.add(certs[i]); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-05-23 18:44:10.560397509 +0100 @@ -59,7 +59,7 @@ // Maps ThreadReference to ThreadTrace instances @@ -913,8 +913,8 @@ EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) { super("event-handler"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java ---- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java 2012-05-23 18:44:10.560397509 +0100 @@ -95,7 +95,7 @@ public final static int IGNORE_ALL_BEANINFO = 3; @@ -925,8 +925,8 @@ private Class beanClass; private BeanInfo explicitBeanInfo; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java ---- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-05-23 18:44:10.560397509 +0100 @@ -42,7 +42,7 @@ */ final class ThreadGroupContext { @@ -946,8 +946,8 @@ return this.beanInfoCache.put(type, info); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-05-23 18:44:10.560397509 +0100 @@ -34,7 +34,7 @@ */ @@ -967,8 +967,8 @@ // reverse the list to maintain previous jdk deletion order. // Last in first deleted. diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java 2012-05-23 18:44:10.560397509 +0100 @@ -57,7 +57,7 @@ private volatile boolean closed = false; @@ -979,8 +979,8 @@ private static boolean isRunningFinalize() { Boolean val; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/File.java openjdk-boot/jdk/src/share/classes/java/io/File.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/File.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/File.java 2012-05-23 18:44:10.560397509 +0100 @@ -1082,7 +1082,7 @@ if ((names == null) || (filter == null)) { return names; @@ -1009,8 +1009,8 @@ File f = new File(s, this); if ((filter == null) || filter.accept(f)) diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java 2012-05-23 18:44:10.560397509 +0100 @@ -70,7 +70,7 @@ private final Object closeLock = new Object(); private volatile boolean closed = false; @@ -1021,8 +1021,8 @@ private static boolean isRunningFinalize() { Boolean val; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java 2012-05-23 18:44:10.560397509 +0100 @@ -725,7 +725,7 @@ */ @@ -1051,8 +1051,8 @@ } } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-05-23 18:44:10.564397574 +0100 @@ -213,7 +213,7 @@ /** table mapping primitive type names to corresponding class objects */ @@ -1077,8 +1077,8 @@ /** filter stream for handling block data conversion */ diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-05-23 18:33:36.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-05-23 18:44:10.564397574 +0100 @@ -165,11 +165,11 @@ private static class Caches { /** cache of subclass security audit results */ @@ -1103,8 +1103,8 @@ From dbhole at redhat.com Wed May 23 12:00:02 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 23 May 2012 15:00:02 -0400 Subject: vm_start_mutex use in IcedTeaNPPlugin.cc looks fishy In-Reply-To: <47444.186.206.83.221.1337791568.squirrel@webmail.mandriva.com.br> References: <1c738a8dbc24fe5bda1f0630c1a5c474.squirrel@webmail.minimum.se> <20120523155827.GG29866@redhat.com> <47444.186.206.83.221.1337791568.squirrel@webmail.mandriva.com.br> Message-ID: <20120523190001.GO29866@redhat.com> * pcpa at mandriva.com.br [2012-05-23 12:46]: > Deepak Bhole escreveu: > > Hi Martin, > > > > * Martin Olsson [2012-05-23 11:44]: > >> The usage of "vm_start_mutex" in IcedTeaNPPlugin.cc looks buggy to me. > >> Won't each thread just create and lock it's own mutex, thereby voiding the > >> raison d'?tre of the mutex? > >> > > > > Yep. I just noticed this a couple of days ago myself when trying to > > investigate zombie VMs someone was seeing (though it was unrelated). > > I have a patch for it in > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=599 > I ended up adding another unrelated patch to the same bug report > by mistake, see the icedtea6-1.8.2-mutex_and_leak.patch > attachment. BTW, there is an issue with the bugzilla, that does > not allow to see text/plain in the browser. > > > Haven't gotten around to creating a patch for it, but please feel free > > to. If not, it is still on my list (though not critical since I have > > never seen a bug due to it). > > I remember it corrected problems for me, with multiple instances > of jmol, but did not test it without the patch for a long time. > Thanks Paulo! I took a slightly different approach and have posted a patch for review here for this issue: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018700.html As for the second issue (msg_queue_mutex), the patch looks good to me. I will do some quick testing to ensure all is good and commit it on your behalf. I'll post a reply here when done. Thanks again, Deepak > > Cheers, > > Deepak > > Paulo > From andrew at icedtea.classpath.org Wed May 23 12:07:26 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 23 May 2012 19:07:26 +0000 Subject: /hg/icedtea7: 5 new changesets Message-ID: changeset 0198d2de05dd in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=0198d2de05dd author: Andrew John Hughes date: Wed May 23 17:43:44 2012 +0100 Added tag icedtea-2.2-branchpoint for changeset 2917541bbda4 changeset 85d1a1382055 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=85d1a1382055 author: Andrew John Hughes date: Wed May 23 20:00:25 2012 +0100 Prepare for 2.3 release. 2012-05-23 Andrew John Hughes * configure.ac: Bump to 2.3pre. * NEWS: Add 2.3 section. changeset 2bead65b8618 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=2bead65b8618 author: Andrew John Hughes date: Wed May 23 20:01:36 2012 +0100 Sync NEWS with 2.2 branch. 2012-05-23 Andrew John Hughes * NEWS: Sync with 2.2 branch. changeset 48c273964721 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=48c273964721 author: Andrew John Hughes date: Wed May 23 20:05:52 2012 +0100 Bump changesets to bring in latest JDK and CORBA fixes. 2012-05-23 Andrew John Hughes (CORBA_CHANGESET): Bump to bring in typo fix. (CORBA_SHA256SUM): Likewise. (JDK_CHANGESET): Bump to bring in the digest cloning fix. (JDK_SHA256SUM): Likewise. changeset 9d852f22c417 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=9d852f22c417 author: Andrew John Hughes date: Wed May 23 20:07:09 2012 +0100 Fix OpenJDK root tarball extraction when running on a release branch. 2012-05-23 Andrew John Hughes * Makefile.am: (extract-openjdk): Mirror replacement of '.' with '-' done by Mercurial server when creating tarball. diffstat: .hgtags | 1 + ChangeLog | 23 +++++++++++++++++++++++ Makefile.am | 10 +++++----- NEWS | 24 ++++++++++++++++++++++++ configure.ac | 2 +- 5 files changed, 54 insertions(+), 6 deletions(-) diffs (120 lines): diff -r 2917541bbda4 -r 9d852f22c417 .hgtags --- a/.hgtags Wed May 23 15:32:36 2012 +0100 +++ b/.hgtags Wed May 23 20:07:09 2012 +0100 @@ -32,3 +32,4 @@ 1b47f8cc8c754841c63dfcddc41a11f1b012bddd icedtea-1.14 e4c9d9bd4a99ee2993e6737a84ccb9792fa7c4d1 icedtea-2.0-branchpoint d35c742babc02eb874684ea7cb647ef5eda55c75 icedtea-2.1-branchpoint +2917541bbda4f6745b157f39d7bd39472cae5235 icedtea-2.2-branchpoint diff -r 2917541bbda4 -r 9d852f22c417 ChangeLog --- a/ChangeLog Wed May 23 15:32:36 2012 +0100 +++ b/ChangeLog Wed May 23 20:07:09 2012 +0100 @@ -1,3 +1,26 @@ +2012-05-23 Andrew John Hughes + + * Makefile.am: + (extract-openjdk): Mirror replacement of '.' with + '-' done by Mercurial server when creating tarball. + +2012-05-23 Andrew John Hughes + + (CORBA_CHANGESET): Bump to bring in typo fix. + (CORBA_SHA256SUM): Likewise. + (JDK_CHANGESET): Bump to bring in the + digest cloning fix. + (JDK_SHA256SUM): Likewise. + +2012-05-23 Andrew John Hughes + + * NEWS: Sync with 2.2 branch. + +2012-05-23 Andrew John Hughes + + * configure.ac: Bump to 2.3pre. + * NEWS: Add 2.3 section. + 2012-05-23 Andrew John Hughes * patches/boot/corba-defs.patch: diff -r 2917541bbda4 -r 9d852f22c417 Makefile.am --- a/Makefile.am Wed May 23 15:32:36 2012 +0100 +++ b/Makefile.am Wed May 23 20:07:09 2012 +0100 @@ -4,19 +4,19 @@ JDK_UPDATE_VERSION = 04 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = 113893003a77 +CORBA_CHANGESET = 139542079986 HOTSPOT_CHANGESET = 5be91de8b779 JAXP_CHANGESET = 10808c0ac008 JAXWS_CHANGESET = 06cd92271215 -JDK_CHANGESET = fd327c7e74da +JDK_CHANGESET = bba3b86618d0 LANGTOOLS_CHANGESET = 8634c8f95ff7 OPENJDK_CHANGESET = 6670fad22684 -CORBA_SHA256SUM = 3dafae04c00c8f13a7cbba0a8ad070bd10e4bec6598f27a62e34cdeb54ed4957 +CORBA_SHA256SUM = ebc23393b46ae9bcbf0b231ce0b6e58dfb94a82861c5c52d6189c936328614cd HOTSPOT_SHA256SUM = babb11cf54c6299fe2f0730968316958b71a1dd5e7c2d5d698ac7d905bfc2ccc JAXP_SHA256SUM = a8c600e3419d8586acb3f7f444bea399aac174d58f2127cb4c0a3ffd3cffdd17 JAXWS_SHA256SUM = f896fbc4dd9eeb68015afe0378638fc646b9b08047cf9c382a33542f44454def -JDK_SHA256SUM = 4697250c0218be75bac9595e0345cff3bfb7a0f5bd0a9cf0544b75483aec9a1a +JDK_SHA256SUM = 63a5b6f565ca793371ebc9f46026e978bc7eee36d1849e61a2b9d470b0add300 LANGTOOLS_SHA256SUM = bad80067828740510fe8f7c430dfb90d1ec1c895a93fa56b16d8223a8c757bd3 OPENJDK_SHA256SUM = 5256c8e7c9144ff8a23e83574a82a42874c4c7722057e8194ceb70fe15a5de06 @@ -1104,7 +1104,7 @@ *.zip) $(UNZIP) -q $(OPENJDK_SRC_ZIP) ;; \ *.tar.*) $(TAR) xf $(OPENJDK_SRC_ZIP) ;; \ esac; \ - mv $(ICEDTEA_PREFIX)-$(OPENJDK_CHANGESET) openjdk ; \ + mv `echo $(ICEDTEA_PREFIX)|sed 's#\.#-#'`-$(OPENJDK_CHANGESET) openjdk ; \ else \ echo "ERROR: Couldn't extract OpenJDK"; \ false; \ diff -r 2917541bbda4 -r 9d852f22c417 NEWS --- a/NEWS Wed May 23 15:32:36 2012 +0100 +++ b/NEWS Wed May 23 20:07:09 2012 +0100 @@ -10,9 +10,33 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 2.3 (2012-XX-XX): + New in release 2.2 (2012-XX-XX): + * Bug fixes - PR885: IcedTea7 does not build scripting support + - Support glib >= 2.32. + - Fix build on GCC 4.7. + - Allow downloading to be disabled. + - Generalise new ucrypto cryptography tests. + - Stop libraries being stripped in the OpenJDK build. + - PR817: Support kernels that require PaX marking on the JDK binaries. +* PulseAudio + - PR734: Fix pulse-java latency problem + - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' + - LP862286: Fix exception on trying to start PulseAudio playback + - Replace pulse audio enums with static longs. + - Fix a few concurrency problems in pulse audio. + - Start PulseAudioTargetDataLines in the corked state. +* SystemTap + - Support multiple running HotSpots by indexing globals by pid() + - Don't hard code constantPoolOopDesc_size. + - Use @var construct if available. + - Wrap heap accessors in try-catch block. + - Change symbolOopDesc to Symbol to accomodate S6990754. + - Add tapset tests. + - jstaptest.pl: thread_start and stop thread id can be any positive number. New in release 2.1 (2012-02-14): diff -r 2917541bbda4 -r 9d852f22c417 configure.ac --- a/configure.ac Wed May 23 15:32:36 2012 +0100 +++ b/configure.ac Wed May 23 20:07:09 2012 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.2pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.3pre], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From ddadacha at redhat.com Wed May 23 12:31:08 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 23 May 2012 15:31:08 -0400 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FBCC740.9080000@redhat.com> References: <4FB8FD2B.2050907@redhat.com> <4FBBE1E6.8050502@redhat.com> <4FBCC740.9080000@redhat.com> Message-ID: <4FBD3AFC.6090907@redhat.com> On 23/05/12 07:17 AM, Jiri Vanek wrote: > On 05/22/2012 08:58 PM, Danesh Dadachanji wrote: >> Hi Jiri, >> >> On 20/05/12 10:18 AM, Jiri Vanek wrote: >>> Hi! >>> >>> During last week I was asked by Danesh and Saad to introduce more hierarchical server and >>> whitelist for reproducers. >>> The following patches should add those features. Can you guys (requesters:) mind to review if they >>> match yours needs? >>> During the writing i found one bug in current implementation - redundant quotes. I fixed this in >>> third changeset. >>> Zipped attachment is example of source and result. >>> >> >> Thank you very much for doing this! Greatly appreciated! > > hhmmhmh. I'm still little bit unsure about usefulness (probably only because of lack of ideas (except sub dirs (and so lost pacakges in > jars))... So I'm glad to hear that appreciated it ;) > Definitely, I plan to use it as soon as it goes in! [snip] >>> >>> *smallEnchancemtnsToreproducers-whiteList.diff* >>> >> >> Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the >> info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the >> engine will throw failures when running them. Are we expecting testers to know which jars depend on >> which? If this "dependency" is not going to be checked by the Makefile, then we should definitely >> add a note to the wiki page stating the various dependencies. > > I had this on mind when I wrote it. Whitelist just filter runs, not compilation and preparation. All reproducers (simple, signed and in > future also special) are compiled (,signed) , deployed , resources copied, testcases compiled. But to the final list for runinning are > included just those who match the regexes in list > > I would really like to avoid some descriptions or checks in reproducers(dependences)! They can make the engine to heavyweight. Oh my apologies for the noise, I did not realize this was just a runtime whitelist. Awesome then I am perfectly happy with the change. Feel free to push! [snip] > smallEnchancemtnsToreproducers-jarsInDirs2.diff > > > diff -r c74bf4aa138c Makefile.am > --- a/Makefile.am Wed May 23 10:42:45 2012 +0200 > +++ b/Makefile.am Wed May 23 13:06:33 2012 +0200 > @@ -544,8 +544,40 @@ > mkdir -p stamps&& \ > touch $@ > > +stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp > + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ > + types=(simple signed); \ > + for which in "$${types[@]}" ; do \ > + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ > + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ > + IFS="$$IFS_BACKUP" ; \ > + for dir in "$${simpleReproducers[@]}" ; do \ > + if test "$${dir:0:1}" = "." ; then \ > + echo "reproducer $$dir starts with dot. It is forbidden" ; \ > + exit 5; \ > + fi; \ > + if test "$${dir:(-1)}" = "." ; then \ > + echo "reproducer $$dir ends with dot. It is forbidden" ; \ > + exit 5; \ > + fi; \ > + q=`expr index "$$dir" .`; \ > + r=$$? ; \ > + if [ $$r = 0 ]; then \ I don't think this if-clause is needed anymore, basename/dirname are smart enough to account for this. Let's say dir="MyAwesomeTest", then path="." and file="MyAwesomeTest". Feel free to keep it there as a sanity check but I don't think it's necessary. No need to repost a patch if you just remove the if (unless other issues arise). > + slashed_dir="./$${dir//.//}" ; \ > + path="`dirname $$slashed_dir`" ; \ > + file="`basename $$slashed_dir`.jar" ; \ > + echo "copying $$dir.jar to $$path as $$file" ; \ > + mkdir --parents $$path ; \ > + cp $$dir".jar" "$$path"/"$$file" ; \ > + fi ; \ > + done ; \ > + done ; \ > + popd ; \ > + mkdir -p stamps&& \ > + touch $@ > + > #this always tries to remove previous testcert > -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp netx-dist-tests-remove-cert-from-public > +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public > keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) > > stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) > @@ -955,6 +987,7 @@ > rm -f stamps/netx-dist-tests-prepare-reproducers.stamp > rm -f stamps/netx-dist-tests-compile-testcases.stamp > rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp > + rm -f stamps/change-dots-to-paths.stamp > rm -f junit-jnlp-dist-simple.txt > rm -f junit-jnlp-dist-signed.txt > rm -f $(REPRODUCERS_CLASS_NAMES) > Great stuff, thanks again for doing all of this! Feel free to push to HEAD Cheers, Danesh From mnemo at minimum.se Wed May 23 13:46:46 2012 From: mnemo at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 22:46:46 +0200 (CEST) Subject: [PATCH] Tiny fixup for changeset 383; don't do free(stack_variable). Message-ID: -------------- next part -------------- A non-text attachment was scrubbed... Name: dont_free_stack_var.patch Type: application/octet-stream Size: 1112 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/7625d1a8/dont_free_stack_var.patch From mnemo at minimum.se Wed May 23 14:04:18 2012 From: mnemo at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 23:04:18 +0200 (CEST) Subject: [PATCH] Drop 5 redundant casts Message-ID: <505908e109b65721e6ec0cca75027204.squirrel@webmail.minimum.se> -------------- next part -------------- A non-text attachment was scrubbed... Name: drop_five_redundant_casts.patch Type: application/octet-stream Size: 1934 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/8a948456/drop_five_redundant_casts.patch From mnemo at minimum.se Wed May 23 14:13:23 2012 From: mnemo at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 23:13:23 +0200 (CEST) Subject: [PATCH] fix two typos Message-ID: -------------- next part -------------- A non-text attachment was scrubbed... Name: fix_two_typos.patch Type: application/octet-stream Size: 1344 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/0fb8c624/fix_two_typos.patch From pcpa at mandriva.com.br Wed May 23 14:26:40 2012 From: pcpa at mandriva.com.br (pcpa at mandriva.com.br) Date: Wed, 23 May 2012 18:26:40 -0300 (BRT) Subject: vm_start_mutex use in IcedTeaNPPlugin.cc looks fishy In-Reply-To: <20120523190001.GO29866@redhat.com> References: <1c738a8dbc24fe5bda1f0630c1a5c474.squirrel@webmail.minimum.se> <20120523155827.GG29866@redhat.com> <47444.186.206.83.221.1337791568.squirrel@webmail.mandriva.com.br> <20120523190001.GO29866@redhat.com> Message-ID: <49885.186.206.83.221.1337808400.squirrel@webmail.mandriva.com.br> Deepak Bhole escreveu: > * pcpa at mandriva.com.br [2012-05-23 12:46]: >> Deepak Bhole escreveu: >> > Hi Martin, >> > >> > * Martin Olsson [2012-05-23 11:44]: >> >> The usage of "vm_start_mutex" in IcedTeaNPPlugin.cc looks buggy to me. >> >> Won't each thread just create and lock it's own mutex, thereby voiding the >> >> raison d'?tre of the mutex? >> >> >> > >> > Yep. I just noticed this a couple of days ago myself when trying to >> > investigate zombie VMs someone was seeing (though it was unrelated). >> >> I have a patch for it in >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=599 >> I ended up adding another unrelated patch to the same bug report >> by mistake, see the icedtea6-1.8.2-mutex_and_leak.patch >> attachment. BTW, there is an issue with the bugzilla, that does >> not allow to see text/plain in the browser. >> >> > Haven't gotten around to creating a patch for it, but please feel free >> > to. If not, it is still on my list (though not critical since I have >> > never seen a bug due to it). >> >> I remember it corrected problems for me, with multiple instances >> of jmol, but did not test it without the patch for a long time. >> > > Thanks Paulo! I took a slightly different approach and have posted a > patch for review here for this issue: > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018700.html You're welcome :-) Personally I do not like C++ code with static variables initialized by a function call, but if it works, not much of an issue, instead of checking and if NULL initializing it at runtime. My original patch did not cover NP_shutdown, so it should have its own problem in case the plugin is somehow unloaded or restarted. > As for the second issue (msg_queue_mutex), the patch looks good to me. I > will do some quick testing to ensure all is good and commit it on your > behalf. I'll post a reply here when done. I remember I added it because there were conditions there would be no listeners, and it would leak memory, but not sure if the condition of no listeners was common, or side effect of some other problem. I have also the patch at http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=621 but I did not need it anymore since firefox-3.6.13 so the change of a few types from int to long and atoi to atol should no longer be required in x86_64. But may be worth checking as this may cause issues again. > Thanks again, > Deepak > >> > Cheers, >> > Deepak >> >> Paulo Paulo From ddadacha at redhat.com Wed May 23 14:28:35 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 23 May 2012 17:28:35 -0400 Subject: [icedtea-web] RFC: Fix fpr PR863: Error passing strings to applet methods in Chromium In-Reply-To: <20120308221713.GY11032@redhat.com> References: <20120308221713.GY11032@redhat.com> Message-ID: <4FBD5683.2020408@redhat.com> Hi Deepak, On 08/03/12 05:17 PM, Deepak Bhole wrote: > Hi, > > Attached patch fixes PR863. Currently, the plug-in relies on the > "UTF8Characters" property of NPString to get the char* array. However > browsers like chromium don't always trim the array correctly, resulting > in reads beyond the length. > > This patch checks for length in all places where UTF8Characters is used > and reads only upto the length. > > ChangeLog: > 2012-03-08 Deepak Bhole > > * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc > (createJavaObjectFromVariant): Account for length of the characters. > * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_get_documentbase): Same. > * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (_eval): Print the > string's c_str rather than utf8characters/ Extra "/" there > * plugin/icedteanp/IcedTeaPluginUtils.cc (printNPVariant): Account for > length of the characters. > (NPVariantToString): Same. > (isObjectJSArray): Same. > > > OK for 1.1, 1.2 and HEAD? > Looks like this fell through the cracks. You've taken care of PR518[1] as well. Can you update the ChangeLog to include this and NEWS entries for the various branches? would you mind also making sure none of the recent changesets have thrown any of this off? Sorry for that, this should have gone in ages ago! The patch itself looks good to me though, thanks for taking care of the bugs! Cheers, Danesh From ahughes at redhat.com Wed May 23 14:37:48 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 23 May 2012 17:37:48 -0400 (EDT) Subject: Moving Forward with IcedTea In-Reply-To: <517fe770-973b-4ff2-b392-273b66488a77@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <9d2c0693-df3c-4e68-83dc-a04e8d1d28f1@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Dear all, > > A new security update is due next month: > > http://www.oracle.com/technetwork/topics/security/alerts-086861.html > > Prior to this, we should aim to release some of the recent bug fixes > / feature additions > so they don't get lumped together with the security patches. On that > subject, I have a number > of proposals: > snip... > 2. IcedTea7 for u4. > > Oracle have already released u4: > http://www.oracle.com/technetwork/java/javase/7u4-relnotes-1575007.html > > I propose to sync IcedTea7 to jdk7u4 b13 (the point u4 branched) and > then create a 2.2 branch which can > then be prepared and tested for a 2.2 release. > > PROPOSED BRANCH DATE: 2nd of May, 2012. 13h00 UTC (tomorrow). > PROPOSED RELEASE DATE: 16th of May, 2012. 13h00 UTC. > I realise we've slipped on this quite a bit... the sync was done a while ago but it's taken time to be in a state where a 2.2 branch of IcedTea is appropriate. This is now available: http://icedtea.classpath.org/hg/release/icedtea7-2.2/ I propose we do the aforementioned release next Wednesday, the 30th of May, at 18h00 UTC. In the meantime, please test and report any regressions or bugs. -- Andrew :) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Thu May 24 02:16:34 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 24 May 2012 11:16:34 +0200 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <20120523183510.GM29866@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> <4FACF328.8030107@redhat.com> <20120523140849.GC29866@redhat.com> <20120523183510.GM29866@redhat.com> Message-ID: <4FBDFC72.4030209@redhat.com> > > Can you please either back this out or change it to not make it throw > exceptions (just printing it instead)? This patch breaks > http://jmol.sourceforge.net/demo/atoms/ > > Thanks for Danesh for tracing this! > > Thanks, > Deepak Hmmm.. I have look inside this, and I do not feel guilty. Actually it looks like another occurrence of RH816592. The fact that we see why it is failing does not mean that it caused the app to fail. AFAIK my debbuging outputs have not changed the behaviour at all. Adding sout printing before returning null and rethrowing "exception which would be thrown anyway". So the just printing WILL change older behaviour. Although I addmit that I have one small mistake - fixed in attached patch. However this did not help. The original pathc for RH816592 is solving this issue, but 1.2 is working as well! So I think this reproducer had to be broken much longer ago! I'm going to attach enhanced patch for RH816592 later today. OpenJDK Runtime Environment (IcedTea6 1.11.1) (fedora-65.1.11.1.fc16-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) ClassPreloader - javax.vecmath.Vector3f+ ClassPreloader - javax.vecmath.Point3i+ ClassPreloader - org.jmol.g3d.Graphics3D ClassPreloader - javax.vecmath.Point3f+ ClassPreloader - javax.vecmath.Matrix3f+ ClassPreloader - org.jmol.g3d.Sphere3D Jmol applet jmolApplet0__752170922377234__ initializing AppletRegistry.checkIn(jmolApplet0__752170922377234__) ClassPreloader - org.jmol.g3d.Line3D ClassPreloader - org.jmol.g3d.Cylinder3D ClassPreloader - org.jmol.g3d.Colix3D ClassPreloader - org.jmol.g3d.Shade3D ClassPreloader - org.jmol.adapter.smarter.SmarterJmolAdapter ClassPreloader - org.jmol.adapter.smarter.Atom ClassPreloader - org.jmol.adapter.smarter.Bond ClassPreloader - org.jmol.adapter.smarter.AtomSetCollection ClassPreloader - org.jmol.adapter.smarter.AtomSetCollectionReader ClassPreloader - org.jmol.adapter.smarter.Resolver ClassPreloader - org.jmol.popup.JmolPopup urlImage=jar:http://jmol.sourceforge.net/jmol/JmolApplet0.jar!/jmol75x29x8.gif *Error: No security instance for http://jmol.sourceforge.net/jmol/JmolApplet0_Popup.jar. The application may have trouble continuing* injected jar error preloading org.jmol.popup.JmolPopup: Code source security was null net.sourceforge.jnlp.runtime.JNLPClassLoader - 923 - getPermissions java.security.SecureClassLoader - 210 - getProtectionDomain java.security.SecureClassLoader - 142 - defineClass java.net.URLClassLoader - 277 - defineClass java.net.URLClassLoader - 73 - access$000 java.net.URLClassLoader$1 - 212 - run java.security.AccessController - -2 - doPrivileged java.net.URLClassLoader - 205 - findClass net.sourceforge.jnlp.runtime.JNLPClassLoader - 1521 - findClass net.sourceforge.jnlp.runtime.JNLPClassLoader - 1548 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1363 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.applet.ClassPreloader - -1 - run 1822 script command tokens applet context: -applet appletDocumentBase=http://jmol.sourceforge.net/demo/atoms/ appletCodeBase=http://jmol.sourceforge.net/jmol/ (C) 2009 Jmol Development Jmol Version: 12.2.2 2011-10-11 22:29 java.vendor: Sun Microsystems Inc. java.version: 1.6.0_24 os.name: Linux memory: 7.0/123.7 processors available: 4 useCommandThread: false appletId:jmolApplet0__752170922377234__ defaults = "Jmol" backgroundColor = "black" language=en_US Jmol applet jmolApplet0__752170922377234__ ready FileManager.getAtomSetCollectionFromFile(caffeine.xyz.gz) FileManager opening http://jmol.sourceforge.net/demo/atoms/caffeine.xyz.gz *The Resolver thinks Xyz* thsi is also wrong, ony http://jmol.sourceforge.net/demo/atoms/caffeine.xyz.gz exists *Error: No security instance for http://jmol.sourceforge.net/jmol/JmolApplet0_ReadersMolXyz.jar. * injected jar. The application may have trouble continuing File reader was not found:Xyz openFile(caffeine.xyz.gz): 743 ms eval ERROR: File reader was not found:Xyz ---- load >> "caffeine.xyz.gz" << J. -------------- next part -------------- diff -r f6eddd071004 ChangeLog --- a/ChangeLog Wed May 23 13:02:58 2012 -0400 +++ b/ChangeLog Thu May 24 11:08:44 2012 +0200 @@ -1,3 +1,9 @@ +2012-05-24 Jiri Vanek + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): + Originally NullPointerException was changed to RuntimeException. + Rewerting back. + 2012-05-23 Deepak Bhole * AUTHORS: Added Martin Olsson to list. diff -r f6eddd071004 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 13:02:58 2012 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 11:08:44 2012 +0200 @@ -914,16 +914,16 @@ // 1. Code must be signed // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) if (cs == null) { - throw new RuntimeException("Code source was null"); + throw new NullPointerException("Code source was null"); } if (cs.getLocation() == null) { - throw new RuntimeException("Code source location was null"); + throw new NullPointerException("Code source location was null"); } if (getCodeSourceSecurity(cs.getLocation()) == null) { - throw new RuntimeException("Code source security was null"); + throw new NullPointerException("Code source security was null"); } if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { - throw new RuntimeException("Code source security type was null"); + throw new NullPointerException("Code source security type was null"); } if (cs.getCodeSigners() != null && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) From ptisnovs at icedtea.classpath.org Thu May 24 02:38:54 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 24 May 2012 09:38:54 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/framework/PrintTest.java: Message-ID: changeset ab51d1f4d8ba in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ab51d1f4d8ba author: Pavel Tisnovsky date: Thu May 24 11:41:36 2012 +0200 * src/org/gfxtest/framework/PrintTest.java: Added new constants required by tests. * src/org/gfxtest/testsuites/PrintTestArcs.java: Basic functionality of this test suite. diffstat: ChangeLog | 7 + src/org/gfxtest/framework/PrintTest.java | 10 + src/org/gfxtest/testsuites/PrintTestArcs.java | 146 +++++++++++++++++++++++++- 3 files changed, 162 insertions(+), 1 deletions(-) diffs (202 lines): diff -r 9d3dfd9343a9 -r ab51d1f4d8ba ChangeLog --- a/ChangeLog Tue May 22 12:03:36 2012 +0200 +++ b/ChangeLog Thu May 24 11:41:36 2012 +0200 @@ -1,3 +1,10 @@ +2012-05-24 Pavel Tisnovsky + + * src/org/gfxtest/framework/PrintTest.java: + Added new constants required by tests. + * src/org/gfxtest/testsuites/PrintTestArcs.java: + Basic functionality of this test suite. + 2012-05-22 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestCircles.java: diff -r 9d3dfd9343a9 -r ab51d1f4d8ba src/org/gfxtest/framework/PrintTest.java --- a/src/org/gfxtest/framework/PrintTest.java Tue May 22 12:03:36 2012 +0200 +++ b/src/org/gfxtest/framework/PrintTest.java Thu May 24 11:41:36 2012 +0200 @@ -70,6 +70,16 @@ protected static final int CIRCLE_RADIUS_STEP = 10; /** + * Offset between two arcs. + */ + protected static final int ARC_RADIUS_STEP = 10; + + /** + * Minimum radius of a circle or an arc. + */ + protected static final int MINIMUM_RADIUS = 10; + + /** * Horizontal distance between two lines. */ protected static final int HORIZONTAL_STEP = 10; diff -r 9d3dfd9343a9 -r ab51d1f4d8ba src/org/gfxtest/testsuites/PrintTestArcs.java --- a/src/org/gfxtest/testsuites/PrintTestArcs.java Tue May 22 12:03:36 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestArcs.java Thu May 24 11:41:36 2012 +0200 @@ -40,7 +40,14 @@ package org.gfxtest.testsuites; +import java.awt.Color; +import java.awt.Graphics2D; + + + import org.gfxtest.framework.PrintTest; +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -65,7 +72,86 @@ @Zoom(1) public class PrintTestArcs extends PrintTest { - + + /** + * Method which renders set of arcs using various colors and + * stroke styles. For each arc, the callback function/method is called to + * perform all required setup. + * + * @param image + * image to which arcs are to be drawn + * @param graphics2d + * graphics canvas + * @param radiusStep + * between two near arcs + * @param arcDrawCallback + * class containing set of callback methods + */ + private void drawArcs(TestImage image, Graphics2D graphics2d, int radiusStep, CommonArcDrawCallbacks arcDrawCallback) + { + // setup rendering + arcDrawCallback.setup(image, graphics2d); + + // image width and height + final int width = image.getWidth(); + final int height = image.getHeight(); + + // horizontal coordinates of arc center + final int xc = width >> 1; + final int yc = height >> 1; + + // maximum radius + final int maxRadius = Math.min(width, height) - BORDER; + + // index to color palette + int colorIndex = 0; + + // arc start angle + int startAngle = 0; + + // draw all arcs onto a paper + for (int radius = MINIMUM_RADIUS; radius < maxRadius; radius += radiusStep) + { + // setup can be made for each arc + arcDrawCallback.iterationCallBack(xc, yc, radius, maxRadius, colorIndex++); + startAngle += 4; + // render the arc + graphics2d.drawArc(xc - radius, yc - radius, radius << 1, radius << 1, startAngle, 270); + } + + // cleanup rendering + arcDrawCallback.cleanup(); + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Color of all rendered arcs are set to black. + * + * @param image + * image to which arcs are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawArcBasicStyle(TestImage image, Graphics2D graphics2d) + { + drawArcs(image, graphics2d, ARC_RADIUS_STEP, new CommonArcDrawCallbacks() + { + /** + * Callback function called before each arc is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + // nothing need to be changed + return; + } + }); + + // test return value + return TestResult.PASSED; + } + /** * Entry point to the test suite. * @@ -77,3 +163,61 @@ new PrintTestArcs().runTestSuite(args); } } + +/** + * Class representing set of callback methods called for each rendered arc. + * + * @author Pavel Tisnovsky + */ +abstract class CommonArcDrawCallbacks +{ + /** + * Image to which arcs are to be drawn. + */ + protected TestImage image; + + /** + * Graphics canvas. + */ + protected Graphics2D graphics; + + /** + * Setup phase. + * + * @param image + * image to which arcs are to be drawn + * @param graphics2d + * graphics canvas + */ + public void setup(TestImage image, Graphics2D graphics) + { + this.image = image; + this.graphics = graphics; + // set drawing color + graphics.setColor(Color.BLACK); + } + + /** + * This method is called for each rendered horizontal arc. + * + * @param x + * horizontal coordinate of a arc center + * @param y + * vertical coordinate of a arc center + * @param radius + * arc radius + * @param maxRadius + * maximum allowable arc radius + * @param colorIndex + * color index + */ + public abstract void iterationCallBack(int x, int y, int radius, int maxRadius, int colorIndex); + + /** + * Cleanup phase. + */ + public void cleanup() + { + return; + } +} From bugzilla-daemon at icedtea.classpath.org Thu May 24 02:46:57 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 09:46:57 +0000 Subject: [Bug 1010] New: accessEventQueue exception when displaying a modal dialog in the event queue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1010 Priority: P3 Bug ID: 1010 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: accessEventQueue exception when displaying a modal dialog in the event queue Severity: major Classification: Unclassified OS: Linux Reporter: damieng at altern.org Hardware: x86_64 Status: NEW Version: 1.2 Component: Plugin Product: IcedTea-Web Displaying a modal dialog in the event queue with JOptionPane results in the following exception being raised. Firefox does not quit properly after the java process is killed. I was using firefox 12. No problem occurs with Oracle JRE and plugin. Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied ("java.awt.AWTPermission" "accessEventQueue") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366) at java.security.AccessController.checkPermission(AccessController.java:555) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284) at java.lang.SecurityManager.checkAwtEventQueueAccess(SecurityManager.java:1415) at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkAwtEventQueueAccess(JNLPSecurityManager.java:466) at java.awt.Toolkit.getSystemEventQueue(Toolkit.java:1721) at java.awt.Dialog.show(Dialog.java:1070) at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:871) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:668) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:639) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/dc72b3fb/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu May 24 05:36:00 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 12:36:00 +0000 Subject: [Bug 1011] New: ZipException when a folder is in the classpath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 Priority: P3 Bug ID: 1011 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: ZipException when a folder is in the classpath Severity: normal Classification: Unclassified OS: Linux Reporter: damieng at altern.org Hardware: x86_64 Status: NEW Version: 1.2 Component: Plugin Product: IcedTea-Web I use an applet with the following archive attribute : archive="MyApplet.jar,config/" With the config folder in the classpath, it can load configuration files that are not in a jar archive. This works well when Apache does not use the Indexes option, there is just a warning about not finding config/. But when a web page is generated for the folder, IcedTea throws the following ZipException because it is trying to unzip the HTML as if it were a jar archive. The applet never loads. java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:214) at java.util.zip.ZipFile.(ZipFile.java:144) at java.util.jar.JarFile.(JarFile.java:152) at java.util.jar.JarFile.(JarFile.java:103) at net.sourceforge.jnlp.tools.JarSigner.verifyJar(JarSigner.java:241) at net.sourceforge.jnlp.tools.JarSigner.verifyJars(JarSigner.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.verifyJars(JNLPClassLoader.java:1286) at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:476) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:320) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:701) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:214) at java.util.zip.ZipFile.(ZipFile.java:144) at java.util.jar.JarFile.(JarFile.java:152) at java.util.jar.JarFile.(JarFile.java:103) at net.sourceforge.jnlp.tools.JarSigner.verifyJar(JarSigner.java:241) at net.sourceforge.jnlp.tools.JarSigner.verifyJars(JarSigner.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.verifyJars(JNLPClassLoader.java:1286) at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:476) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:320) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:701) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:735) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: A fatal error occurred while trying to verify jars. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:482) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:320) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:701) ... 2 more Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: A fatal error occurred while trying to verify jars. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:482) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:201) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:320) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:701) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154) at sun.applet.AppletPanel.run(AppletPanel.java:379) at java.lang.Thread.run(Thread.java:722) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:429) at java.lang.Thread.run(Thread.java:722) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/ccccf305/attachment.html From adomurad at redhat.com Thu May 24 06:04:16 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 24 May 2012 09:04:16 -0400 Subject: [PATCH] fix two typos In-Reply-To: References: Message-ID: <1337864656.29231.3.camel@voip-10-15-18-79.yyz.redhat.com> I have to get around reviewing a patch sometime, so I figured I'd start with this one : ) Thanks for all the patches, Martin! Patch looks OK to me, I'll go ahead and commit this one to HEAD seeing as it's minor. From adomurad at icedtea.classpath.org Thu May 24 06:12:42 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Thu, 24 May 2012 13:12:42 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset cb6d6d2e086a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cb6d6d2e086a author: Adam Domurad date: Thu May 24 09:10:41 2012 -0400 Added Martin Olsson's typo fix changeset 43a78616b1dd in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=43a78616b1dd author: Adam Domurad date: Thu May 24 09:12:38 2012 -0400 fixing conflict in ChangeLog diffstat: AUTHORS | 1 + ChangeLog | 4 + netx/net/sourceforge/jnlp/resources/Messages.properties | 6 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 89 ++++++++++----- netx/net/sourceforge/jnlp/security/CertificateUtils.java | 3 +- netx/net/sourceforge/jnlp/security/KeyStores.java | 15 ++ plugin/icedteanp/IcedTeaNPPlugin.cc | 4 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 4 +- 8 files changed, 88 insertions(+), 38 deletions(-) diffs (267 lines): diff -r 7041304bfc62 -r 43a78616b1dd AUTHORS --- a/AUTHORS Wed May 23 14:56:30 2012 +0200 +++ b/AUTHORS Thu May 24 09:12:38 2012 -0400 @@ -17,6 +17,7 @@ Jon A. Maxwell Thomas Meyer Saad Mohammad +Martin Olsson Andrew Su Joshua Sumali Jiri Vanek diff -r 7041304bfc62 -r 43a78616b1dd ChangeLog --- a/ChangeLog Wed May 23 14:56:30 2012 +0200 +++ b/ChangeLog Thu May 24 09:12:38 2012 -0400 @@ -1,3 +1,7 @@ +2012-05-24 Martin Olsson + * plugin/icedteanp/IcedTeaPluginUtils.cc: + Fix two typos. + 2012-05-23 Jiri Vanek Enhanced about dialog diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 23 14:56:30 2012 +0200 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu May 24 09:12:38 2012 -0400 @@ -81,7 +81,9 @@ LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file. - +LNoSecInstance=Error: No security instance for {0}. The application may have trouble continuing +LCertFoundIn={0} found in cacerts ({1}) + JNotApplet=File is not an applet. JNotApplication=File is not an application. JNotComponent=File is not a component. @@ -122,7 +124,7 @@ PBadHeight=Invalid applet height. PUrlNotInCodebase=Relative URL does not specify a subdirectory of the codebase. (node={0}, href={1}, base={2}) PBadRelativeUrl=Invalid relative URL (node={0}, href={1}, base={2}) -PBadNonrelativeUrl=Invalid non-relative URL (node={0}, href={0}). +PBadNonrelativeUrl=Invalid non-relative URL (node={0}, href={1}) PNeedsAttribute=The {0} element must specify a {1} attribute. PBadXML=Invalid XML document syntax. PBadHeapSize=Invalid value for heap size ({0}) diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 14:56:30 2012 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 09:12:38 2012 -0400 @@ -895,44 +895,66 @@ * Returns the permissions for the CodeSource. */ protected PermissionCollection getPermissions(CodeSource cs) { - Permissions result = new Permissions(); + try { + Permissions result = new Permissions(); - // should check for extensions or boot, automatically give all - // access w/o security dialog once we actually check certificates. + // should check for extensions or boot, automatically give all + // access w/o security dialog once we actually check certificates. - // copy security permissions from SecurityDesc element - if (security != null) { - // Security desc. is used only to track security settings for the - // application. However, an application may comprise of multiple - // jars, and as such, security must be evaluated on a per jar basis. + // copy security permissions from SecurityDesc element + if (security != null) { + // Security desc. is used only to track security settings for the + // application. However, an application may comprise of multiple + // jars, and as such, security must be evaluated on a per jar basis. - // set default perms - PermissionCollection permissions = security.getSandBoxPermissions(); + // set default perms + PermissionCollection permissions = security.getSandBoxPermissions(); - // If more than default is needed: - // 1. Code must be signed - // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) - if (cs.getCodeSigners() != null && - (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || - getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { + // If more than default is needed: + // 1. Code must be signed + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) + if (cs == null) { + throw new RuntimeException("Code source was null"); + } + if (cs.getLocation() == null) { + throw new RuntimeException("Code source location was null"); + } + if (getCodeSourceSecurity(cs.getLocation()) == null) { + throw new RuntimeException("Code source security was null"); + } + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { + throw new RuntimeException("Code source security type was null"); + } + if (cs.getCodeSigners() != null + && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) + || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + } + + Enumeration e = permissions.elements(); + while (e.hasMoreElements()) { + result.add(e.nextElement()); + } } - Enumeration e = permissions.elements(); - while (e.hasMoreElements()) - result.add(e.nextElement()); + // add in permission to read the cached JAR files + for (int i = 0; i < resourcePermissions.size(); i++) { + result.add(resourcePermissions.get(i)); + } + + // add in the permissions that the user granted. + for (int i = 0; i < runtimePermissions.size(); i++) { + result.add(runtimePermissions.get(i)); + } + + return result; + } catch (RuntimeException ex) { + if (JNLPRuntime.isDebug()) { + ex.printStackTrace(); + } + throw ex; } - - // add in permission to read the cached JAR files - for (int i = 0; i < resourcePermissions.size(); i++) - result.add(resourcePermissions.get(i)); - - // add in the permissions that the user granted. - for (int i = 0; i < runtimePermissions.size(); i++) - result.add(runtimePermissions.get(i)); - - return result; } protected void addPermission(Permission p) { @@ -1732,7 +1754,12 @@ */ protected SecurityDesc getCodeSourceSecurity(URL source) { - return jarLocationSecurityMap.get(source); + SecurityDesc sec=jarLocationSecurityMap.get(source); + if (sec == null){ + System.out.println(Translator.R("LNoSecInstance",source.toString())); + } + return sec; + } /** diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/security/CertificateUtils.java --- a/netx/net/sourceforge/jnlp/security/CertificateUtils.java Wed May 23 14:56:30 2012 +0200 +++ b/netx/net/sourceforge/jnlp/security/CertificateUtils.java Thu May 24 09:12:38 2012 -0400 @@ -60,6 +60,7 @@ import java.util.Random; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.replacements.BASE64Encoder; import sun.security.provider.X509Factory; @@ -173,7 +174,7 @@ if (c.equals(keyStores[i].getCertificate(alias))) { if (JNLPRuntime.isDebug()) { - System.out.println(c.getSubjectX500Principal().getName() + " found in cacerts"); + System.out.println(Translator.R("LCertFoundIn", c.getSubjectX500Principal().getName(), KeyStores.getPathToKeystore(keyStores[i].hashCode()))); } return true; diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/security/KeyStores.java --- a/netx/net/sourceforge/jnlp/security/KeyStores.java Wed May 23 14:56:30 2012 +0200 +++ b/netx/net/sourceforge/jnlp/security/KeyStores.java Thu May 24 09:12:38 2012 -0400 @@ -47,7 +47,9 @@ import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.StringTokenizer; import net.sourceforge.jnlp.config.DeploymentConfiguration; @@ -75,6 +77,8 @@ CLIENT_CERTS, } + public static final Map keystoresPaths=new HashMap(); + private static DeploymentConfiguration config = null; private static final String KEYSTORE_TYPE = "JKS"; @@ -133,12 +137,23 @@ KeyStore ks = null; try { ks = createKeyStoreFromFile(new File(location), create, DEFAULT_PASSWORD); + //hashcode is used instead of instance so when no references are left + //to keystore, then this will not be blocker for garbage collection + keystoresPaths.put(ks.hashCode(),location); } catch (Exception e) { e.printStackTrace(); } return ks; } + public static String getPathToKeystore(int k) { + String s = keystoresPaths.get(k); + if (s == null) { + return "unknown keystore location"; + } + return s; + } + /** * Returns an array of KeyStore that contain certificates that are trusted. * The KeyStores contain certificates from different sources. diff -r 7041304bfc62 -r 43a78616b1dd plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 14:56:30 2012 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu May 24 09:12:38 2012 -0400 @@ -427,7 +427,7 @@ goto cleanup_done; cleanup_appletviewer_mutex: - g_free (data->appletviewer_mutex); + g_mutex_free (data->appletviewer_mutex); data->appletviewer_mutex = NULL; // cleanup_instance_string: @@ -2000,7 +2000,7 @@ tofree->window_width = 0; // cleanup_appletviewer_mutex: - g_free (tofree->appletviewer_mutex); + g_mutex_free (tofree->appletviewer_mutex); tofree->appletviewer_mutex = NULL; // cleanup_instance_string: diff -r 7041304bfc62 -r 43a78616b1dd plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed May 23 14:56:30 2012 +0200 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Thu May 24 09:12:38 2012 -0400 @@ -289,7 +289,7 @@ * * @param str The string to split * @param The delimiters to split on - * @return A string vector containing the aplit components + * @return A string vector containing the split components */ std::vector* @@ -1068,7 +1068,7 @@ if(ret) PLUGIN_DEBUG("Error: Unable to initialize message queue mutex: %d\n", ret); - PLUGIN_DEBUG("Mutexs %p and %p initialized\n", &subscriber_mutex, &msg_queue_mutex); + PLUGIN_DEBUG("Mutexes %p and %p initialized\n", &subscriber_mutex, &msg_queue_mutex); } /** From jvanek at redhat.com Thu May 24 06:20:12 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 24 May 2012 15:20:12 +0200 Subject: /hg/icedtea-web: 2 new changesets In-Reply-To: References: Message-ID: <4FBE358C.40600@redhat.com> hi! It does not look like your push have done what was described in changelogs! It looks like you have repush my and Deepak's recent changes.... Please be very careful next time and verify your hg diff to match *exactly* what was apporved and that nothinx nasty have not mixed in. J. On 05/24/2012 03:12 PM, adomurad at icedtea.classpath.org wrote: > changeset cb6d6d2e086a in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cb6d6d2e086a > author: Adam Domurad > date: Thu May 24 09:10:41 2012 -0400 > > Added Martin Olsson's typo fix > > > changeset 43a78616b1dd in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=43a78616b1dd > author: Adam Domurad > date: Thu May 24 09:12:38 2012 -0400 > > fixing conflict in ChangeLog > > > diffstat: > > AUTHORS | 1 + > ChangeLog | 4 + > netx/net/sourceforge/jnlp/resources/Messages.properties | 6 +- > netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 89 ++++++++++----- > netx/net/sourceforge/jnlp/security/CertificateUtils.java | 3 +- > netx/net/sourceforge/jnlp/security/KeyStores.java | 15 ++ > plugin/icedteanp/IcedTeaNPPlugin.cc | 4 +- > plugin/icedteanp/IcedTeaPluginUtils.cc | 4 +- > 8 files changed, 88 insertions(+), 38 deletions(-) > > diffs (267 lines): > > diff -r 7041304bfc62 -r 43a78616b1dd AUTHORS > --- a/AUTHORS Wed May 23 14:56:30 2012 +0200 > +++ b/AUTHORS Thu May 24 09:12:38 2012 -0400 > @@ -17,6 +17,7 @@ > Jon A. Maxwell > Thomas Meyer > Saad Mohammad > +Martin Olsson > Andrew Su > Joshua Sumali > Jiri Vanek > diff -r 7041304bfc62 -r 43a78616b1dd ChangeLog > --- a/ChangeLog Wed May 23 14:56:30 2012 +0200 > +++ b/ChangeLog Thu May 24 09:12:38 2012 -0400 > @@ -1,3 +1,7 @@ > +2012-05-24 Martin Olsson > + * plugin/icedteanp/IcedTeaPluginUtils.cc: > + Fix two typos. > + > 2012-05-23 Jiri Vanek > > Enhanced about dialog > diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 23 14:56:30 2012 +0200 > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu May 24 09:12:38 2012 -0400 > @@ -81,7 +81,9 @@ > LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. > LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. > LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file. > - > +LNoSecInstance=Error: No security instance for {0}. The application may have trouble continuing > +LCertFoundIn={0} found in cacerts ({1}) > + > JNotApplet=File is not an applet. > JNotApplication=File is not an application. > JNotComponent=File is not a component. > @@ -122,7 +124,7 @@ > PBadHeight=Invalid applet height. > PUrlNotInCodebase=Relative URL does not specify a subdirectory of the codebase. (node={0}, href={1}, base={2}) > PBadRelativeUrl=Invalid relative URL (node={0}, href={1}, base={2}) > -PBadNonrelativeUrl=Invalid non-relative URL (node={0}, href={0}). > +PBadNonrelativeUrl=Invalid non-relative URL (node={0}, href={1}) > PNeedsAttribute=The {0} element must specify a {1} attribute. > PBadXML=Invalid XML document syntax. > PBadHeapSize=Invalid value for heap size ({0}) > diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 14:56:30 2012 +0200 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 09:12:38 2012 -0400 > @@ -895,44 +895,66 @@ > * Returns the permissions for the CodeSource. > */ > protected PermissionCollection getPermissions(CodeSource cs) { > - Permissions result = new Permissions(); > + try { > + Permissions result = new Permissions(); > > - // should check for extensions or boot, automatically give all > - // access w/o security dialog once we actually check certificates. > + // should check for extensions or boot, automatically give all > + // access w/o security dialog once we actually check certificates. > > - // copy security permissions from SecurityDesc element > - if (security != null) { > - // Security desc. is used only to track security settings for the > - // application. However, an application may comprise of multiple > - // jars, and as such, security must be evaluated on a per jar basis. > + // copy security permissions from SecurityDesc element > + if (security != null) { > + // Security desc. is used only to track security settings for the > + // application. However, an application may comprise of multiple > + // jars, and as such, security must be evaluated on a per jar basis. > > - // set default perms > - PermissionCollection permissions = security.getSandBoxPermissions(); > + // set default perms > + PermissionCollection permissions = security.getSandBoxPermissions(); > > - // If more than default is needed: > - // 1. Code must be signed > - // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) > - if (cs.getCodeSigners() != null&& > - (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) || > - getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { > + // If more than default is needed: > + // 1. Code must be signed > + // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) > + if (cs == null) { > + throw new RuntimeException("Code source was null"); > + } > + if (cs.getLocation() == null) { > + throw new RuntimeException("Code source location was null"); > + } > + if (getCodeSourceSecurity(cs.getLocation()) == null) { > + throw new RuntimeException("Code source security was null"); > + } > + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { > + throw new RuntimeException("Code source security type was null"); > + } > + if (cs.getCodeSigners() != null > +&& (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) > + || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { > > - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); > + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); > + } > + > + Enumeration e = permissions.elements(); > + while (e.hasMoreElements()) { > + result.add(e.nextElement()); > + } > } > > - Enumeration e = permissions.elements(); > - while (e.hasMoreElements()) > - result.add(e.nextElement()); > + // add in permission to read the cached JAR files > + for (int i = 0; i< resourcePermissions.size(); i++) { > + result.add(resourcePermissions.get(i)); > + } > + > + // add in the permissions that the user granted. > + for (int i = 0; i< runtimePermissions.size(); i++) { > + result.add(runtimePermissions.get(i)); > + } > + > + return result; > + } catch (RuntimeException ex) { > + if (JNLPRuntime.isDebug()) { > + ex.printStackTrace(); > + } > + throw ex; > } > - > - // add in permission to read the cached JAR files > - for (int i = 0; i< resourcePermissions.size(); i++) > - result.add(resourcePermissions.get(i)); > - > - // add in the permissions that the user granted. > - for (int i = 0; i< runtimePermissions.size(); i++) > - result.add(runtimePermissions.get(i)); > - > - return result; > } > > protected void addPermission(Permission p) { > @@ -1732,7 +1754,12 @@ > */ > > protected SecurityDesc getCodeSourceSecurity(URL source) { > - return jarLocationSecurityMap.get(source); > + SecurityDesc sec=jarLocationSecurityMap.get(source); > + if (sec == null){ > + System.out.println(Translator.R("LNoSecInstance",source.toString())); > + } > + return sec; > + > } > > /** > diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/security/CertificateUtils.java > --- a/netx/net/sourceforge/jnlp/security/CertificateUtils.java Wed May 23 14:56:30 2012 +0200 > +++ b/netx/net/sourceforge/jnlp/security/CertificateUtils.java Thu May 24 09:12:38 2012 -0400 > @@ -60,6 +60,7 @@ > import java.util.Random; > > import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.runtime.Translator; > import net.sourceforge.jnlp.util.replacements.BASE64Encoder; > import sun.security.provider.X509Factory; > > @@ -173,7 +174,7 @@ > > if (c.equals(keyStores[i].getCertificate(alias))) { > if (JNLPRuntime.isDebug()) { > - System.out.println(c.getSubjectX500Principal().getName() + " found in cacerts"); > + System.out.println(Translator.R("LCertFoundIn", c.getSubjectX500Principal().getName(), KeyStores.getPathToKeystore(keyStores[i].hashCode()))); > } > > return true; > diff -r 7041304bfc62 -r 43a78616b1dd netx/net/sourceforge/jnlp/security/KeyStores.java > --- a/netx/net/sourceforge/jnlp/security/KeyStores.java Wed May 23 14:56:30 2012 +0200 > +++ b/netx/net/sourceforge/jnlp/security/KeyStores.java Thu May 24 09:12:38 2012 -0400 > @@ -47,7 +47,9 @@ > import java.security.NoSuchAlgorithmException; > import java.security.cert.CertificateException; > import java.util.ArrayList; > +import java.util.HashMap; > import java.util.List; > +import java.util.Map; > import java.util.StringTokenizer; > > import net.sourceforge.jnlp.config.DeploymentConfiguration; > @@ -75,6 +77,8 @@ > CLIENT_CERTS, > } > > + public static final Map keystoresPaths=new HashMap(); > + > private static DeploymentConfiguration config = null; > > private static final String KEYSTORE_TYPE = "JKS"; > @@ -133,12 +137,23 @@ > KeyStore ks = null; > try { > ks = createKeyStoreFromFile(new File(location), create, DEFAULT_PASSWORD); > + //hashcode is used instead of instance so when no references are left > + //to keystore, then this will not be blocker for garbage collection > + keystoresPaths.put(ks.hashCode(),location); > } catch (Exception e) { > e.printStackTrace(); > } > return ks; > } > > + public static String getPathToKeystore(int k) { > + String s = keystoresPaths.get(k); > + if (s == null) { > + return "unknown keystore location"; > + } > + return s; > + } > + > /** > * Returns an array of KeyStore that contain certificates that are trusted. > * The KeyStores contain certificates from different sources. > diff -r 7041304bfc62 -r 43a78616b1dd plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed May 23 14:56:30 2012 +0200 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu May 24 09:12:38 2012 -0400 > @@ -427,7 +427,7 @@ > goto cleanup_done; > > cleanup_appletviewer_mutex: > - g_free (data->appletviewer_mutex); > + g_mutex_free (data->appletviewer_mutex); > data->appletviewer_mutex = NULL; > > // cleanup_instance_string: > @@ -2000,7 +2000,7 @@ > tofree->window_width = 0; > > // cleanup_appletviewer_mutex: > - g_free (tofree->appletviewer_mutex); > + g_mutex_free (tofree->appletviewer_mutex); > tofree->appletviewer_mutex = NULL; > > // cleanup_instance_string: > diff -r 7041304bfc62 -r 43a78616b1dd plugin/icedteanp/IcedTeaPluginUtils.cc > --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed May 23 14:56:30 2012 +0200 > +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Thu May 24 09:12:38 2012 -0400 > @@ -289,7 +289,7 @@ > * > * @param str The string to split > * @param The delimiters to split on > - * @return A string vector containing the aplit components > + * @return A string vector containing the split components > */ > > std::vector* > @@ -1068,7 +1068,7 @@ > if(ret) > PLUGIN_DEBUG("Error: Unable to initialize message queue mutex: %d\n", ret); > > - PLUGIN_DEBUG("Mutexs %p and %p initialized\n",&subscriber_mutex,&msg_queue_mutex); > + PLUGIN_DEBUG("Mutexes %p and %p initialized\n",&subscriber_mutex,&msg_queue_mutex); > } > > /** From jvanek at redhat.com Thu May 24 06:41:29 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 24 May 2012 15:41:29 +0200 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <4FBD0626.4040404@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> Message-ID: <4FBE3A89.9000203@redhat.com> On 05/23/2012 05:45 PM, Jiri Vanek wrote: > On 05/23/2012 05:36 PM, Omair Majid wrote: >> On 05/23/2012 10:22 AM, Deepak Bhole wrote: >>> * Jiri Vanek [2012-05-03 08:21]: >>>> This patch is fixing >>>> https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in >>>> [rfc][icedtea-web] reproducer for RH816592 >>>> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) >>>> >>>> This patch have small (one output message) overleap with [rfc] >>>> [icedtea-web] providing little bit more debug outputs for few >>>> methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) >>>> >>> >>> This patch tries to manually add an entry to the security map. However it should not >>> be needed. Whatever is adding the jar should add an entry to the map -- >>> the bug should be fixed there IMO. > > Hmmm. I Believe that there is reflection used to inject the jar into classlaoder. So if I will > overwrite addUrl method (which is the best place to do this) this can be still walked around. Thats > why I have chosen this place.. > > But I admit my originalpatch must be improved for not searching again for already searched resources. >> I elaborated little bit above sources of jmol (http://jmol.sourceforge.net/demo/atoms/) and I have NOT FOUND where they are injecting theirs jars :-/ So I have prepared testing fix (the WRONG one) which was checkigg if somebody is using addURL by reflection (which I consider as best way to do and I have used in my reproducer - (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html). However it appeared that not jmol nor geogebra are using this approach. Today I have traversed through jmol code and have not find how tehy are getting the sources in:-/ They are using for preloading Class.forName in few first lines of app, but in thsi time there IS already requested jar which is not declared on classpath of applet (well.. object generated byjavascript :-/) tag. But it can be anything. Even direct reflection to field holding urls in UrlClassLaoder or some JS as it looks like in jmol.... In this case everything hook upon any method is in vain. But My original solution WILL work for all this cases O:) J. The improved patch is fixing possible exception thrown and repeated reloading of resources in case of failure. 2012-05-24 Jiri Vanek Fix for RH816592 * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getCodeSourceSecurity): will now try to download and verify resource which was downloaded outside of netx. (alreadyTried) set for memory of once tried resources to not try again >> This is an implementation-specific behaviour of the proprietary javaws >> that some programs seem to rely on. We have other bugs caused by the >> same issue too: PR568 [1] and PR839. > > Yap. As I already wrote it is brutal:) >> >> Cheers, >> Omair >> >> [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=568 >> [2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=839 > -------------- next part -------------- A non-text attachment was scrubbed... Name: fixedVerifyingOfInjectedResources.diff Type: text/x-patch Size: 1904 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/64c3e5b3/fixedVerifyingOfInjectedResources.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: geogebraFix-WRONG.diff Type: text/x-patch Size: 4234 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/64c3e5b3/geogebraFix-WRONG.diff From adomurad at icedtea.classpath.org Thu May 24 07:34:28 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Thu, 24 May 2012 14:34:28 +0000 Subject: /hg/icedtea-web: 3 new changesets Message-ID: changeset f19299dd8144 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f19299dd8144 author: Adam Domurad date: Thu May 24 10:21:14 2012 -0400 Backed out changeset 43a78616b1dd changeset bb68413d52fb in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb68413d52fb author: Adam Domurad date: Thu May 24 10:28:47 2012 -0400 Finished commit rollbacks. changeset 2c4154754aef in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2c4154754aef author: Adam Domurad date: Thu May 24 10:31:44 2012 -0400 Reapplied the patches, sorry for the mess! diffstat: ChangeLog | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 9 deletions(-) diffs (75 lines): diff -r 43a78616b1dd -r 2c4154754aef ChangeLog --- a/ChangeLog Thu May 24 09:12:38 2012 -0400 +++ b/ChangeLog Thu May 24 10:31:44 2012 -0400 @@ -2,6 +2,46 @@ * plugin/icedteanp/IcedTeaPluginUtils.cc: Fix two typos. +2012-05-23 Deepak Bhole + + * AUTHORS: Added Martin Olsson to list. + +2012-05-23 Martin Olsson + + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes + crash). + +2012-05-23 Deepak Bhole + + * ChangeLog: Converted spaces to tabs in an older entry + +2012-05-23 Jiri Vanek + + * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error + in PBadNonrelativeUrl + +2012-05-23 Jiri Vanek + + Added more debugging outputs + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: + (getCodeSourceSecurity): added output message when no SecurityDesc is found + for some url/resource + * netx/net/sourceforge/jnlp/resources/Messages.properties: added LNoSecInstance + and LCertFoundIn values + * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): + new method, able to search for file used for creating of KeyStore if possible + * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) + using getPathToKeystore for debug output + +2012-05-23 Jiri Vanek + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): + Any exception from this method is consumed somewhere. I have cough exception, + reprint it in debug mode and re-throw (to be lost). Main condition in this + method had several possible NullPointer exceptions. Separated and thrown before + this condition. + 2012-05-23 Jiri Vanek Enhanced about dialog @@ -22,15 +62,15 @@ 2012-05-22 Adam Domurad - Changed allocation of small, fixed-size buffers to stack-based - allocations. Changed occurences of sprintf to the safer function - snprintf, added buffer information. While unlikely to change - functionality, snprintf adds an extra check to prevent buffer - overflows. - * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers - using malloc changed to stack allocation & changed sprintf calls to - buffer-size aware snprintf calls. - * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. + Changed allocation of small, fixed-size buffers to stack-based + allocations. Changed occurences of sprintf to the safer function + snprintf, added buffer information. While unlikely to change + functionality, snprintf adds an extra check to prevent buffer + overflows. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers + using malloc changed to stack allocation & changed sprintf calls to + buffer-size aware snprintf calls. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. 2012-05-22 Jiri Vanek From adomurad at redhat.com Thu May 24 07:40:34 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 24 May 2012 10:40:34 -0400 Subject: /hg/icedtea-web: 3 new changesets In-Reply-To: References: Message-ID: <1337870434.29231.10.camel@voip-10-15-18-79.yyz.redhat.com> I hope sincerely I properly backed-out and re-applied. Everything looks good when I do hg diff -r392:f6eddd071004 to me. Sorry for the mess! At least I learned some stuff about mercurial in the process. On Thu, 2012-05-24 at 14:34 +0000, adomurad at icedtea.classpath.org wrote: > changeset f19299dd8144 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f19299dd8144 > author: Adam Domurad > date: Thu May 24 10:21:14 2012 -0400 > > Backed out changeset 43a78616b1dd > > > changeset bb68413d52fb in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb68413d52fb > author: Adam Domurad > date: Thu May 24 10:28:47 2012 -0400 > > Finished commit rollbacks. > > > changeset 2c4154754aef in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2c4154754aef > author: Adam Domurad > date: Thu May 24 10:31:44 2012 -0400 > > Reapplied the patches, sorry for the mess! > > > diffstat: > > ChangeLog | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- > 1 files changed, 49 insertions(+), 9 deletions(-) > > diffs (75 lines): > > diff -r 43a78616b1dd -r 2c4154754aef ChangeLog > --- a/ChangeLog Thu May 24 09:12:38 2012 -0400 > +++ b/ChangeLog Thu May 24 10:31:44 2012 -0400 > @@ -2,6 +2,46 @@ > * plugin/icedteanp/IcedTeaPluginUtils.cc: > Fix two typos. > > +2012-05-23 Deepak Bhole > + > + * AUTHORS: Added Martin Olsson to list. > + > +2012-05-23 Martin Olsson > + > + * plugin/icedteanp/IcedTeaNPPlugin.cc: > + Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes > + crash). > + > +2012-05-23 Deepak Bhole > + > + * ChangeLog: Converted spaces to tabs in an older entry > + > +2012-05-23 Jiri Vanek > + > + * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error > + in PBadNonrelativeUrl > + > +2012-05-23 Jiri Vanek > + > + Added more debugging outputs > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > + (getCodeSourceSecurity): added output message when no SecurityDesc is found > + for some url/resource > + * netx/net/sourceforge/jnlp/resources/Messages.properties: added LNoSecInstance > + and LCertFoundIn values > + * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): > + new method, able to search for file used for creating of KeyStore if possible > + * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) > + using getPathToKeystore for debug output > + > +2012-05-23 Jiri Vanek > + > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): > + Any exception from this method is consumed somewhere. I have cough exception, > + reprint it in debug mode and re-throw (to be lost). Main condition in this > + method had several possible NullPointer exceptions. Separated and thrown before > + this condition. > + > 2012-05-23 Jiri Vanek > > Enhanced about dialog > @@ -22,15 +62,15 @@ > > 2012-05-22 Adam Domurad > > - Changed allocation of small, fixed-size buffers to stack-based > - allocations. Changed occurences of sprintf to the safer function > - snprintf, added buffer information. While unlikely to change > - functionality, snprintf adds an extra check to prevent buffer > - overflows. > - * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers > - using malloc changed to stack allocation & changed sprintf calls to > - buffer-size aware snprintf calls. > - * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. > + Changed allocation of small, fixed-size buffers to stack-based > + allocations. Changed occurences of sprintf to the safer function > + snprintf, added buffer information. While unlikely to change > + functionality, snprintf adds an extra check to prevent buffer > + overflows. > + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers > + using malloc changed to stack allocation & changed sprintf calls to > + buffer-size aware snprintf calls. > + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. > > 2012-05-22 Jiri Vanek > From ptisnovs at icedtea.classpath.org Thu May 24 07:52:36 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 24 May 2012 14:52:36 +0000 Subject: /hg/MauveTestCoverage: * src/ReportGenerator.java: Message-ID: changeset 8d326a855021 in /hg/MauveTestCoverage details: http://icedtea.classpath.org/hg/MauveTestCoverage?cmd=changeset;node=8d326a855021 author: Pavel Tisnovsky date: Thu May 24 16:55:09 2012 +0200 * src/ReportGenerator.java: Fixed an exception occuring when class list contains an empty line (usually at the end of file). diffstat: ChangeLog | 7 +++++++ src/ReportGenerator.java | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletions(-) diffs (34 lines): diff -r b6c8372f5723 -r 8d326a855021 ChangeLog --- a/ChangeLog Wed May 16 10:59:45 2012 +0200 +++ b/ChangeLog Thu May 24 16:55:09 2012 +0200 @@ -1,3 +1,10 @@ +2012-05-24 Pavel Tisnovsky + + * src/ReportGenerator.java: + Fixed an exception occuring when class list + contains an empty line (usually at the end + of file). + 2012-05-16 Pavel Tisnovsky * src/ClassInfo.java: diff -r b6c8372f5723 -r 8d326a855021 src/ReportGenerator.java --- a/src/ReportGenerator.java Wed May 16 10:59:45 2012 +0200 +++ b/src/ReportGenerator.java Thu May 24 16:55:09 2012 +0200 @@ -71,7 +71,15 @@ // set of classes should be sorted Set allClasses = new TreeSet(); // add all lines read from a file to a set (and sort them) - allClasses.addAll(fileContent); + // we have to exclude all empty lines + for (String className : fileContent) + { + // add only non empty lines + if (className != null && !className.trim().isEmpty()) + { + allClasses.add(className.trim()); + } + } return allClasses; } From adomurad at redhat.com Thu May 24 07:59:18 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 24 May 2012 10:59:18 -0400 Subject: [rfc][icedtea-web] Removal of 'magic' numbers and more consistent buffer sizes in C++ side of plugin Message-ID: <1337871558.29231.17.camel@voip-10-15-18-79.yyz.redhat.com> Hey all. This is a response to comments from Pavel on a patch that I created earlier. I decided to re-post with [rfc] in the name to be clear. This addresses the issue of magic numbers being used for the buffer sizes, and the somewhat unclear 'sizeof' usage (that I originally used) to get the buffer size. As well it avoids using snprintf for emptying a string, opting for the somewhat clearer strcpy. Changelog: 2012-05-23 Adam Domurad Removed instances of snprintf where buffer size was not known. Added buffer size constant for allocating buffers for numeric conversions. * plugin/icedteanp/IcedTeaNPPlugin.cc: Removed usage of snprintf for simple blanking of strings. Buffer size was misguided previously. Used NUM_STR_BUFFER_SIZE constant to replace magic numbers. * plugin/icedteanp/IcedTeaPluginUtils.cc: Made NPVariantToString(NPVariant variant, std::string* result) use space indentation. Used NUM_STR_BUFFER_SIZE constant to replace magic numbers. * plugin/icedteanp/IcedTeaPluginUtils.h: Added constant, NUM_STR_BUFFER_SIZE. -------------- next part -------------- A non-text attachment was scrubbed... Name: revised.patch Type: text/x-patch Size: 5816 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/6fbaf8ac/revised.patch From bugzilla-daemon at icedtea.classpath.org Thu May 24 08:16:37 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 15:16:37 +0000 Subject: [Bug 1011] ZipException when a folder is in the classpath In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |adomurad at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/ed6c3c39/attachment.html From dbhole at redhat.com Thu May 24 08:28:47 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 24 May 2012 11:28:47 -0400 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <4FBE3A89.9000203@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> <4FBE3A89.9000203@redhat.com> Message-ID: <20120524152847.GZ29866@redhat.com> * Jiri Vanek [2012-05-24 09:40]: > On 05/23/2012 05:45 PM, Jiri Vanek wrote: > >On 05/23/2012 05:36 PM, Omair Majid wrote: > >>On 05/23/2012 10:22 AM, Deepak Bhole wrote: > >>>* Jiri Vanek [2012-05-03 08:21]: > >>>>This patch is fixing > >>>>https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in > >>>>[rfc][icedtea-web] reproducer for RH816592 > >>>>(http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) > >>>> > >>>>This patch have small (one output message) overleap with [rfc] > >>>>[icedtea-web] providing little bit more debug outputs for few > >>>>methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) > >>>> > >>> > >>>This patch tries to manually add an entry to the security map. However it should not > >>>be needed. Whatever is adding the jar should add an entry to the map -- > >>>the bug should be fixed there IMO. > > > >Hmmm. I Believe that there is reflection used to inject the jar into classlaoder. So if I will > >overwrite addUrl method (which is the best place to do this) this can be still walked around. Thats > >why I have chosen this place.. > > > >But I admit my originalpatch must be improved for not searching again for already searched resources. > >> > > I elaborated little bit above sources of jmol > (http://jmol.sourceforge.net/demo/atoms/) and I have NOT FOUND > where they are injecting theirs jars :-/ > > So I have prepared testing fix (the WRONG one) which was checkigg if > somebody is using addURL by reflection (which I consider as best way > to do and I have used in my reproducer - (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html). > However it appeared that not jmol nor geogebra are using this > approach. > > Today I have traversed through jmol code and have not find how tehy are getting the sources in:-/ > They are using for preloading Class.forName in few first lines of > app, but in thsi time there IS already requested jar which is not > declared on classpath of applet (well.. object generated > byjavascript :-/) tag. > But it can be anything. Even direct reflection to field holding urls > in UrlClassLaoder or some JS as it looks like in jmol.... In this > case everything hook upon any method is in vain. But My original > solution WILL work for all this cases O:) > > > J. > > The improved patch is fixing possible exception thrown and repeated > reloading of resources in case of failure. > Hi Jiri, This is still not solving the root issue -- why does the resource not have an entry in the map? Whatever is getting that resource should be adding it. getCodeSourceSecurity should only be doing a simple look up on security and returning what is already known. Cheers, Deepak > 2012-05-24 Jiri Vanek > > Fix for RH816592 > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (getCodeSourceSecurity): will now try to download and verify resource > which was downloaded outside of netx. > (alreadyTried) set for memory of once tried resources to not try again > > >>This is an implementation-specific behaviour of the proprietary javaws > >>that some programs seem to rely on. We have other bugs caused by the > >>same issue too: PR568 [1] and PR839. > > > >Yap. As I already wrote it is brutal:) > >> > >>Cheers, > >>Omair > >> > >>[1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=568 > >>[2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=839 > > > > diff -r f6eddd071004 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 13:02:58 2012 -0400 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 15:24:40 2012 +0200 > @@ -167,6 +167,9 @@ > /** Map of specific original (remote) CodeSource Urls to securitydesc */ > private HashMap jarLocationSecurityMap = > new HashMap(); > + > + /*Set to prevent once tried-to-get resources to be tried again*/ > + private Set alreadyTried = Collections.synchronizedSet(new HashSet()); > > /** Loader for codebase (which is a path, rather than a file) */ > private CodeBaseClassLoader codeBaseLoader; > @@ -1755,11 +1758,27 @@ > > protected SecurityDesc getCodeSourceSecurity(URL source) { > SecurityDesc sec=jarLocationSecurityMap.get(source); > + if (!alreadyTried.contains(source)) { > + alreadyTried.add(source); > + //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > + if (JNLPRuntime.isDebug()) { > + System.out.println("Application is trying to get permissions for " + source.toString() + ", which was not added by standard way. Trying to download and verify!"); > + } > + try { > + JARDesc des = new JARDesc(source, null, null, false, false, false, false); > + addNewJar(des); > + sec = jarLocationSecurityMap.get(source); > + } catch (Throwable t) { > + if (JNLPRuntime.isDebug()) { > + t.printStackTrace(); > + } > + sec = null; > + } > + } > if (sec == null){ > System.out.println(Translator.R("LNoSecInstance",source.toString())); > } > return sec; > - > } > > /** > diff -r dbd09685dc01 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 11:11:27 2012 +0200 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 15:03:00 2012 +0200 > @@ -1069,7 +1069,7 @@ > // there is no remote URL for this, so lets fake one > URL fakeRemote = new URL(jar.getLocation().toString() + "!" + je.getName()); > CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); > - addURL(fakeRemote); > + addInternalURL(fakeRemote); > > SecurityDesc jarSecurity = file.getSecurity(); > > @@ -1105,7 +1105,7 @@ > > } > > - addURL(jar.getLocation()); > + addInternalURL(jar.getLocation()); > > // there is currently no mechanism to cache files per > // instance.. so only index cached files > @@ -1499,7 +1499,7 @@ > } > }); > > - addURL(remoteURL); > + addInternalURL(remoteURL); > CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); > > } catch (Exception e) { > @@ -1746,17 +1746,48 @@ > return security; > } > > + protected void addInternalURL(URL url) { > + super.addURL(url); > + } > + > + Set accessedFor = Collections.synchronizedSet(new HashSet()); > + @Override > + protected void addURL(URL url) { > + new Exception().printStackTrace(); > + if (!accessedFor.contains(url)) { > + accessedFor.add(url); > + super.addURL(url); > + System.out.println("Accessed addURL because of " + url.toString() + ", which was not added by standard way. Trying to download and verify!"); > + JARDesc des = new JARDesc(url, null, null, false, false, false, false); > + addNewJar(des); > + } > + } > + > + > + > /** > * Returns the security descriptor for given code source URL > * > * @param source the origin (remote) url of the code > * @return The SecurityDescriptor for that source > */ > + > + Set alreadyTried = Collections.synchronizedSet(new HashSet()); > > protected SecurityDesc getCodeSourceSecurity(URL source) { > - SecurityDesc sec=jarLocationSecurityMap.get(source); > - if (sec == null){ > - System.out.println(Translator.R("LNoSecInstance",source.toString())); > + SecurityDesc sec = jarLocationSecurityMap.get(source); > + if (sec == null) { > + if (!alreadyTried.contains(source)) { > + //try to load the jar which is requesting the permissions, but was NOT downloaded by standard way > + alreadyTried.add(source); > + System.out.println("Application is trying to get permissions for " + source.toString() + ", which was not added by standard way. Trying to download and verify!"); > + JARDesc des = new JARDesc(source, null, null, false, false, false, false); > + addNewJar(des); > + sec = jarLocationSecurityMap.get(source); > + } > + } > + if (sec == null) { > + System.out.println(Translator.R("LNoSecInstance", source.toString())); > } > return sec; > > @@ -1778,7 +1809,7 @@ > > // jars > for (URL u : extLoader.getURLs()) > - addURL(u); > + addInternalURL(u); > > // Codebase > addToCodeBaseLoader(extLoader.file.getCodeBase()); > @@ -1814,7 +1845,7 @@ > if (codeBaseLoader == null) { > codeBaseLoader = new CodeBaseClassLoader(new URL[] { u }, this); > } else { > - codeBaseLoader.addURL(u); > + codeBaseLoader.addInternalURL(u); > } > } > > @@ -1916,6 +1947,10 @@ > > @Override > public void addURL(URL url) { > + new Exception().printStackTrace(); > + super.addURL(url); > + } > + public void addInternalURL(URL url) { > super.addURL(url); > } > From bugzilla-daemon at icedtea.classpath.org Thu May 24 08:52:47 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 15:52:47 +0000 Subject: [Bug 1010] accessEventQueue exception when displaying a modal dialog in the event queue In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1010 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |omajid at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/25955184/attachment.html From omajid at redhat.com Thu May 24 08:58:20 2012 From: omajid at redhat.com (Omair Majid) Date: Thu, 24 May 2012 11:58:20 -0400 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <20120524152847.GZ29866@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> <4FBE3A89.9000203@redhat.com> <20120524152847.GZ29866@redhat.com> Message-ID: <4FBE5A9C.4080808@redhat.com> On 05/24/2012 11:28 AM, Deepak Bhole wrote: > This is still not solving the root issue -- why does the resource not > have an entry in the map? Whatever is getting that resource should be > adding it. getCodeSourceSecurity should only be doing a simple look up > on security and returning what is already known. "This is not the classloader you are looking for" :) The code is at (line 1160) http://java-game-lib.svn.sourceforge.net/viewvc/java-game-lib/trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java?revision=3635&view=markup#1160 The code uses a custom classloader (which does know about the urls) to load 3rd-party jars. The custom classloader delegates to the parent classloader to verify permissions and check if the 3rd-party jar is signed with a good certificate or not. The custom classloader relies on the parent classloader to grant the code the appropriate permissions (minimial permissions if the jar is unsigned, or full permissions if the jar is signed/trusted). Omair From bugzilla-daemon at icedtea.classpath.org Thu May 24 09:07:21 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 16:07:21 +0000 Subject: [Bug 1012] A fatal error has been detected by the Java Runtime Environment In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1012 Jon VanAlten changed: What |Removed |Added ---------------------------------------------------------------------------- Component|Thermostat |IcedTea Version|unspecified |6-1.10.1 Assignee|jon.vanalten at redhat.com |unassigned at icedtea.classpat | |h.org Product|Thermostat |IcedTea Target Milestone|--- |6-1.10.1 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/c30bd7f5/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu May 24 09:48:13 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 16:48:13 +0000 Subject: [Bug 1010] accessEventQueue exception when displaying a modal dialog in the event queue In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1010 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dbhole at redhat.com Assignee|omajid at redhat.com |neugens at limasoftware.net -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/682b2866/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu May 24 09:49:19 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 16:49:19 +0000 Subject: [Bug 1010] accessEventQueue exception when displaying a modal dialog in the event queue In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1010 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|neugens at limasoftware.net |omajid at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/ee89d433/attachment.html From dbhole at redhat.com Thu May 24 09:52:08 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 24 May 2012 12:52:08 -0400 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <4FBDFC72.4030209@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> <4FACF328.8030107@redhat.com> <20120523140849.GC29866@redhat.com> <20120523183510.GM29866@redhat.com> <4FBDFC72.4030209@redhat.com> Message-ID: <20120524165208.GA29866@redhat.com> * Jiri Vanek [2012-05-24 05:15]: > > > >Can you please either back this out or change it to not make it throw > >exceptions (just printing it instead)? This patch breaks > >http://jmol.sourceforge.net/demo/atoms/ > > > >Thanks for Danesh for tracing this! > > > >Thanks, > >Deepak > > Hmmm.. I have look inside this, and I do not feel guilty. Actually > it looks like another occurrence of RH816592. The fact that we see > why it is failing does not mean that it caused the app to fail. > AFAIK my debbuging outputs have not changed the behaviour at all. > Adding sout printing before returning null and rethrowing "exception > which would be thrown anyway". So the just printing WILL change > older behaviour. > Although I addmit that I have one small mistake - fixed in attached patch. However this did not help. > > The original pathc for RH816592 is solving this issue, but 1.2 is > working as well! So I think this reproducer had to be broken much > longer ago! > > I'm going to attach enhanced patch for RH816592 later today. > > I am not sure I understand. It worked before, it doesn't now. How can it be an occurrence of another bug when it was never a bug before to begin with? Cheers, Deepak > OpenJDK Runtime Environment (IcedTea6 1.11.1) (fedora-65.1.11.1.fc16-x86_64) > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) > ClassPreloader - javax.vecmath.Vector3f+ > ClassPreloader - javax.vecmath.Point3i+ > ClassPreloader - org.jmol.g3d.Graphics3D > ClassPreloader - javax.vecmath.Point3f+ > ClassPreloader - javax.vecmath.Matrix3f+ > ClassPreloader - org.jmol.g3d.Sphere3D > Jmol applet jmolApplet0__752170922377234__ initializing > AppletRegistry.checkIn(jmolApplet0__752170922377234__) > ClassPreloader - org.jmol.g3d.Line3D > ClassPreloader - org.jmol.g3d.Cylinder3D > ClassPreloader - org.jmol.g3d.Colix3D > ClassPreloader - org.jmol.g3d.Shade3D > ClassPreloader - org.jmol.adapter.smarter.SmarterJmolAdapter > ClassPreloader - org.jmol.adapter.smarter.Atom > ClassPreloader - org.jmol.adapter.smarter.Bond > ClassPreloader - org.jmol.adapter.smarter.AtomSetCollection > ClassPreloader - org.jmol.adapter.smarter.AtomSetCollectionReader > ClassPreloader - org.jmol.adapter.smarter.Resolver > ClassPreloader - org.jmol.popup.JmolPopup > urlImage=jar:http://jmol.sourceforge.net/jmol/JmolApplet0.jar!/jmol75x29x8.gif > *Error: No security instance for > http://jmol.sourceforge.net/jmol/JmolApplet0_Popup.jar. The > application may have trouble continuing* injected jar > error preloading org.jmol.popup.JmolPopup: Code source security was null > net.sourceforge.jnlp.runtime.JNLPClassLoader - 923 - getPermissions > java.security.SecureClassLoader - 210 - getProtectionDomain > java.security.SecureClassLoader - 142 - defineClass > java.net.URLClassLoader - 277 - defineClass > java.net.URLClassLoader - 73 - access$000 > java.net.URLClassLoader$1 - 212 - run > java.security.AccessController - -2 - doPrivileged > java.net.URLClassLoader - 205 - findClass > net.sourceforge.jnlp.runtime.JNLPClassLoader - 1521 - findClass > net.sourceforge.jnlp.runtime.JNLPClassLoader - 1548 - loadClassExt > net.sourceforge.jnlp.runtime.JNLPClassLoader - 1363 - loadClass > java.lang.Class - -2 - forName0 > java.lang.Class - 186 - forName > org.jmol.applet.ClassPreloader - -1 - run > 1822 script command tokens > applet context: -applet > appletDocumentBase=http://jmol.sourceforge.net/demo/atoms/ > appletCodeBase=http://jmol.sourceforge.net/jmol/ > (C) 2009 Jmol Development > Jmol Version: 12.2.2 2011-10-11 22:29 > java.vendor: Sun Microsystems Inc. > java.version: 1.6.0_24 > os.name: Linux > memory: 7.0/123.7 > processors available: 4 > useCommandThread: false > appletId:jmolApplet0__752170922377234__ > defaults = "Jmol" > backgroundColor = "black" > language=en_US > Jmol applet jmolApplet0__752170922377234__ ready > > FileManager.getAtomSetCollectionFromFile(caffeine.xyz.gz) > FileManager opening http://jmol.sourceforge.net/demo/atoms/caffeine.xyz.gz > *The Resolver thinks Xyz* thsi is also wrong, ony > http://jmol.sourceforge.net/demo/atoms/caffeine.xyz.gz exists > *Error: No security instance for > http://jmol.sourceforge.net/jmol/JmolApplet0_ReadersMolXyz.jar. * > injected jar. The application may have trouble continuing > File reader was not found:Xyz > openFile(caffeine.xyz.gz): 743 ms > eval ERROR: File reader was not found:Xyz > ---- > load >> "caffeine.xyz.gz" << > > > J. > diff -r f6eddd071004 ChangeLog > --- a/ChangeLog Wed May 23 13:02:58 2012 -0400 > +++ b/ChangeLog Thu May 24 11:08:44 2012 +0200 > @@ -1,3 +1,9 @@ > +2012-05-24 Jiri Vanek > + > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): > + Originally NullPointerException was changed to RuntimeException. > + Rewerting back. > + > 2012-05-23 Deepak Bhole > > * AUTHORS: Added Martin Olsson to list. > diff -r f6eddd071004 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 23 13:02:58 2012 -0400 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 11:08:44 2012 +0200 > @@ -914,16 +914,16 @@ > // 1. Code must be signed > // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) > if (cs == null) { > - throw new RuntimeException("Code source was null"); > + throw new NullPointerException("Code source was null"); > } > if (cs.getLocation() == null) { > - throw new RuntimeException("Code source location was null"); > + throw new NullPointerException("Code source location was null"); > } > if (getCodeSourceSecurity(cs.getLocation()) == null) { > - throw new RuntimeException("Code source security was null"); > + throw new NullPointerException("Code source security was null"); > } > if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { > - throw new RuntimeException("Code source security type was null"); > + throw new NullPointerException("Code source security type was null"); > } > if (cs.getCodeSigners() != null > && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) From bugzilla-daemon at icedtea.classpath.org Thu May 24 10:26:31 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 17:26:31 +0000 Subject: [Bug 1012] A fatal error has been detected by the Java Runtime Environment In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1012 Jon VanAlten changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |jon.vanalten at redhat.com Resolution|--- |INVALID --- Comment #1 from Jon VanAlten --- This looks like an issue within the native library referenced as Problematic frame. Suggest to report there. If certain this is a JDK bug, please reopen and include instructions to reproduce (including where to get the code/jar that was running), and the hs_err_pidXXX.log file referenced in the crash report. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/87f774b1/attachment.html From jvanek at icedtea.classpath.org Thu May 24 10:54:39 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 24 May 2012 17:54:39 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 52fbab80caf4 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=52fbab80caf4 author: Jiri Vanek date: Thu May 24 19:52:17 2012 +0200 Introduced whitelist for reproducers changeset 7b3855664763 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7b3855664763 author: Jiri Vanek date: Thu May 24 19:57:14 2012 +0200 Reproducers engine enhanced for jars in subdirectories by "." naming convention diffstat: ChangeLog | 19 ++++++++++++++++ Makefile.am | 54 ++++++++++++++++++++++++++++++++++++++++++++-- netx-dist-tests-whitelist | 1 + 3 files changed, 71 insertions(+), 3 deletions(-) diffs (122 lines): diff -r 2c4154754aef -r 7b3855664763 ChangeLog --- a/ChangeLog Thu May 24 10:31:44 2012 -0400 +++ b/ChangeLog Thu May 24 19:57:14 2012 +0200 @@ -1,3 +1,22 @@ +2012-05-20 Jiri Vanek + + Reproducers engine enhanced for jars in subdirectories by "." naming convention + * Makefile.am: (stamps/change-dots-to-paths.stamp) new target to copy jars + with dots (.jar omitted) to the java-like package/directory structure in + jnlp_test_server + (EXPORTED_TEST_CERT) now depends on stamps/change-dots-to-paths.stamp + (clean-netx-dist-tests) removes stamps/change-dots-to-paths.stamp too. + +2012-05-24 Jiri Vanek + + Introduced whitelist for reproducers + * netx-dist-tests-whitelist: new file, contains regular expressions + (separated by space) for expr to select testcases which only will be + run. By default set to all by expression .* + * Makefile.am: (REPRODUCERS_CLASS_NAMES) When class with testcases is + going to be included in list, it is at first check for match in whitelist. + If there is no match, will not be included. + 2012-05-24 Martin Olsson * plugin/icedteanp/IcedTeaPluginUtils.cc: Fix two typos. diff -r 2c4154754aef -r 7b3855664763 Makefile.am --- a/Makefile.am Thu May 24 10:31:44 2012 -0400 +++ b/Makefile.am Thu May 24 19:57:14 2012 +0200 @@ -32,6 +32,7 @@ JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar UNIT_CLASS_NAMES = $(abs_top_builddir)/unit_class_names REPRODUCERS_CLASS_NAMES = $(abs_top_builddir)/reproducers_class_names +REPRODUCERS_CLASS_WHITELIST = $(abs_top_builddir)/netx-dist-tests-whitelist EMMA_JAVA_ARGS=-Xmx2G META_MANIFEST = META-INF/MANIFEST.MF @@ -544,8 +545,40 @@ mkdir -p stamps && \ touch $@ +stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + IFS="$$IFS_BACKUP" ; \ + for dir in "$${simpleReproducers[@]}" ; do \ + if test "$${dir:0:1}" = "." ; then \ + echo "reproducer $$dir starts with dot. It is forbidden" ; \ + exit 5; \ + fi; \ + if test "$${dir:(-1)}" = "." ; then \ + echo "reproducer $$dir ends with dot. It is forbidden" ; \ + exit 5; \ + fi; \ + q=`expr index "$$dir" .`; \ + r=$$? ; \ + if [ $$r = 0 ]; then \ + slashed_dir="./$${dir//.//}" ; \ + path="`dirname $$slashed_dir`" ; \ + file="`basename $$slashed_dir`.jar" ; \ + echo "copying $$dir.jar to $$path as $$file" ; \ + mkdir --parents $$path ; \ + cp $$dir".jar" "$$path"/"$$file" ; \ + fi ; \ + done ; \ + done ; \ + popd ; \ + mkdir -p stamps && \ + touch $@ + #this always tries to remove previous testcert -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp netx-dist-tests-remove-cert-from-public +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) @@ -587,13 +620,27 @@ mkdir -p stamps && \ touch $@ -$(REPRODUCERS_CLASS_NAMES): +$(REPRODUCERS_CLASS_NAMES): $(REPRODUCERS_CLASS_WHITELIST) + whiteListed=`cat $(REPRODUCERS_CLASS_WHITELIST)`; \ cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names= ; \ for test in `find -type f` ; do \ class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \ class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \ - class_names="$$class_names $$class_name" ; \ + INLCUDE="NO" ; \ + for x in $$whiteListed ; do \ + q=`expr match "$$class_name" "$$x"`; \ + r=$$? ; \ + if [ $$r = 0 ]; then \ + echo "$$class_name will be included in reproducers testcases because of $$x pattern in $(REPRODUCERS_CLASS_WHITELIST). Matching was $$q"; \ + INLCUDE="YES" ; \ + fi; \ + done; \ + if [ "$$INLCUDE" = "YES" ]; then \ + class_names="$$class_names $$class_name" ; \ + else \ + echo "$$class_name had no match in $(REPRODUCERS_CLASS_WHITELIST). Excluding"; \ + fi; \ done ; \ echo $$class_names > $(REPRODUCERS_CLASS_NAMES) @@ -955,6 +1002,7 @@ rm -f stamps/netx-dist-tests-prepare-reproducers.stamp rm -f stamps/netx-dist-tests-compile-testcases.stamp rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp + rm -f stamps/change-dots-to-paths.stamp rm -f junit-jnlp-dist-simple.txt rm -f junit-jnlp-dist-signed.txt rm -f $(REPRODUCERS_CLASS_NAMES) diff -r 2c4154754aef -r 7b3855664763 netx-dist-tests-whitelist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx-dist-tests-whitelist Thu May 24 19:57:14 2012 +0200 @@ -0,0 +1,1 @@ +.* From jvanek at redhat.com Thu May 24 11:00:44 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 24 May 2012 20:00:44 +0200 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FBD3AFC.6090907@redhat.com> References: <4FB8FD2B.2050907@redhat.com> <4FBBE1E6.8050502@redhat.com> <4FBCC740.9080000@redhat.com> <4FBD3AFC.6090907@redhat.com> Message-ID: <4FBE774C.1020501@redhat.com> On 05/23/2012 09:31 PM, Danesh Dadachanji wrote: > On 23/05/12 07:17 AM, Jiri Vanek wrote: >> On 05/22/2012 08:58 PM, Danesh Dadachanji wrote: >>> Hi Jiri, >>> >>> On 20/05/12 10:18 AM, Jiri Vanek wrote: >>>> Hi! >>>> >>>> During last week I was asked by Danesh and Saad to introduce more hierarchical server and >>>> whitelist for reproducers. >>>> The following patches should add those features. Can you guys (requesters:) mind to review if they >>>> match yours needs? >>>> During the writing i found one bug in current implementation - redundant quotes. I fixed this in >>>> third changeset. >>>> Zipped attachment is example of source and result. >>>> >>> >>> Thank you very much for doing this! Greatly appreciated! >> >> hhmmhmh. I'm still little bit unsure about usefulness (probably only because of lack of ideas (except sub dirs (and so lost pacakges in >> jars))... So I'm glad to hear that appreciated it ;) >> > > Definitely, I plan to use it as soon as it goes in! > > [snip] > >>>> >>>> *smallEnchancemtnsToreproducers-whiteList.diff* >>>> >>> >>> Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the >>> info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the >>> engine will throw failures when running them. Are we expecting testers to know which jars depend on >>> which? If this "dependency" is not going to be checked by the Makefile, then we should definitely >>> add a note to the wiki page stating the various dependencies. >> >> I had this on mind when I wrote it. Whitelist just filter runs, not compilation and preparation. All reproducers (simple, signed and in >> future also special) are compiled (,signed) , deployed , resources copied, testcases compiled. But to the final list for runinning are >> included just those who match the regexes in list >> >> I would really like to avoid some descriptions or checks in reproducers(dependences)! They can make the engine to heavyweight. > > > Oh my apologies for the noise, I did not realize this was just a runtime whitelist. Awesome then I am perfectly happy with the change. Feel free to push! > > [snip] > >> smallEnchancemtnsToreproducers-jarsInDirs2.diff >> >> >> diff -r c74bf4aa138c Makefile.am >> --- a/Makefile.am Wed May 23 10:42:45 2012 +0200 >> +++ b/Makefile.am Wed May 23 13:06:33 2012 +0200 >> @@ -544,8 +544,40 @@ >> mkdir -p stamps&& \ >> touch $@ >> >> +stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp >> + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ >> + types=(simple signed); \ >> + for which in "$${types[@]}" ; do \ >> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ >> + IFS="$$IFS_BACKUP" ; \ >> + for dir in "$${simpleReproducers[@]}" ; do \ >> + if test "$${dir:0:1}" = "." ; then \ >> + echo "reproducer $$dir starts with dot. It is forbidden" ; \ >> + exit 5; \ >> + fi; \ >> + if test "$${dir:(-1)}" = "." ; then \ >> + echo "reproducer $$dir ends with dot. It is forbidden" ; \ >> + exit 5; \ >> + fi; \ > >> + q=`expr index "$$dir" .`; \ >> + r=$$? ; \ >> + if [ $$r = 0 ]; then \ > > I don't think this if-clause is needed anymore, basename/dirname are smart enough to account for this. Let's say dir="MyAwesomeTest", then path="." and file="MyAwesomeTest". Feel free to keep it there as a sanity check but I don't think it's necessary. No need to repost a patch if you just remove the if (unless other issues arise). I had let it in. I think there is no need to walk through the block and copy itself to itself when there is no dot. > >> + slashed_dir="./$${dir//.//}" ; \ >> + path="`dirname $$slashed_dir`" ; \ >> + file="`basename $$slashed_dir`.jar" ; \ >> + echo "copying $$dir.jar to $$path as $$file" ; \ >> + mkdir --parents $$path ; \ >> + cp $$dir".jar" "$$path"/"$$file" ; \ >> + fi ; \ >> + done ; \ >> + done ; \ >> + popd ; \ >> + mkdir -p stamps&& \ >> + touch $@ >> + >> #this always tries to remove previous testcert >> -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp netx-dist-tests-remove-cert-from-public >> +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public >> keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) >> >> stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) >> @@ -955,6 +987,7 @@ >> rm -f stamps/netx-dist-tests-prepare-reproducers.stamp >> rm -f stamps/netx-dist-tests-compile-testcases.stamp >> rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp >> + rm -f stamps/change-dots-to-paths.stamp >> rm -f junit-jnlp-dist-simple.txt >> rm -f junit-jnlp-dist-signed.txt >> rm -f $(REPRODUCERS_CLASS_NAMES) >> > > Great stuff, thanks again for doing all of this! Feel free to push to HEAD > > Cheers, > Danesh Tahnx a lot! Both pushed. Custom makefiles soon unless you will be first;) J. From jvanek at redhat.com Thu May 24 11:12:22 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 24 May 2012 20:12:22 +0200 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <20120524152847.GZ29866@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> <4FBE3A89.9000203@redhat.com> <20120524152847.GZ29866@redhat.com> Message-ID: <4FBE7A06.2040508@redhat.com> On 05/24/2012 05:28 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-24 09:40]: >> On 05/23/2012 05:45 PM, Jiri Vanek wrote: >>> On 05/23/2012 05:36 PM, Omair Majid wrote: snip >> > > Hi Jiri, > > This is still not solving the root issue -- why does the resource not > have an entry in the map? Whatever is getting that resource should be > adding it. getCodeSourceSecurity should only be doing a simple look up > on security and returning what is already known. > > Cheers, > Deepak > And when an application directly inject to fields in sun.misc.URLClassPath.java? Then my solution will be the only working one. But yes. it is unlikely and I'm just protecting wrong solution (so pride of it! :D) I will investigate more in way Omair suggested which looks much more cmmon. J. From adomurad at redhat.com Thu May 24 11:53:05 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 24 May 2012 14:53:05 -0400 Subject: [PATCH] Tiny fixup for changeset 383; don't do free(stack_variable). In-Reply-To: References: Message-ID: <1337885585.18824.1.camel@voip-10-15-18-79.yyz.redhat.com> Good catch. I'll commit this now. Also, in the future, if you could just post your changelog in your message and not in your patch, that'd be great. The changelog patch only applies if no other patches were applied. From adomurad at icedtea.classpath.org Thu May 24 11:59:11 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Thu, 24 May 2012 18:59:11 +0000 Subject: /hg/icedtea-web: Removed residual free(str) on stack variable. Message-ID: changeset c6e355e0c034 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c6e355e0c034 author: Adam Domurad date: Thu May 24 14:59:04 2012 -0400 Removed residual free(str) on stack variable. diffstat: ChangeLog | 5 +++++ plugin/icedteanp/IcedTeaPluginUtils.cc | 1 - 2 files changed, 5 insertions(+), 1 deletions(-) diffs (23 lines): diff -r 7b3855664763 -r c6e355e0c034 ChangeLog --- a/ChangeLog Thu May 24 19:57:14 2012 +0200 +++ b/ChangeLog Thu May 24 14:59:04 2012 -0400 @@ -1,3 +1,8 @@ +2012-05-23 Martin Olsson + + * plugin/icedteanp/IcedTeaPluginUtils.cc: + Tiny fixup for changeset 383; don't do free(stack_variable). + 2012-05-20 Jiri Vanek Reproducers engine enhanced for jars in subdirectories by "." naming convention diff -r 7b3855664763 -r c6e355e0c034 plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Thu May 24 19:57:14 2012 +0200 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Thu May 24 14:59:04 2012 -0400 @@ -707,7 +707,6 @@ } else if (NPVARIANT_IS_STRING(variant)) { - free(str); #if MOZILLA_VERSION_COLLAPSED < 1090200 size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length; largestr = (char*) malloc(buffersize); From dbhole at redhat.com Thu May 24 12:04:34 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 24 May 2012 15:04:34 -0400 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <4FBE7A06.2040508@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> <4FBE3A89.9000203@redhat.com> <20120524152847.GZ29866@redhat.com> <4FBE7A06.2040508@redhat.com> Message-ID: <20120524190433.GC29866@redhat.com> * Jiri Vanek [2012-05-24 14:08]: > On 05/24/2012 05:28 PM, Deepak Bhole wrote: > >* Jiri Vanek [2012-05-24 09:40]: > >>On 05/23/2012 05:45 PM, Jiri Vanek wrote: > >>>On 05/23/2012 05:36 PM, Omair Majid wrote: > snip > >> > > > >Hi Jiri, > > > >This is still not solving the root issue -- why does the resource not > >have an entry in the map? Whatever is getting that resource should be > >adding it. getCodeSourceSecurity should only be doing a simple look up > >on security and returning what is already known. > > > >Cheers, > >Deepak > > > And when an application directly inject to fields in sun.misc.URLClassPath.java? Then my solution will be the only working one. But yes. it is unlikely and I'm just protecting wrong solution (so pride of it! :D) > I will investigate more in way Omair suggested which looks much more cmmon. > Ah fair enough. So then all the places where we add resources ourselves are correctly covered? Cheers, Deepak From adomurad at icedtea.classpath.org Thu May 24 12:38:11 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Thu, 24 May 2012 19:38:11 +0000 Subject: /hg/icedtea-web: Fixed spaces -> tabs in ChangeLog Message-ID: changeset 2c84a314c411 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2c84a314c411 author: Adam Domurad date: Thu May 24 15:37:30 2012 -0400 Fixed spaces -> tabs in ChangeLog diffstat: ChangeLog | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diffs (21 lines): diff -r c6e355e0c034 -r 2c84a314c411 ChangeLog --- a/ChangeLog Thu May 24 14:59:04 2012 -0400 +++ b/ChangeLog Thu May 24 15:37:30 2012 -0400 @@ -1,7 +1,7 @@ 2012-05-23 Martin Olsson - * plugin/icedteanp/IcedTeaPluginUtils.cc: - Tiny fixup for changeset 383; don't do free(stack_variable). + * plugin/icedteanp/IcedTeaPluginUtils.cc: + Tiny fixup for changeset 383; don't do free(stack_variable). 2012-05-20 Jiri Vanek @@ -23,6 +23,7 @@ If there is no match, will not be included. 2012-05-24 Martin Olsson + * plugin/icedteanp/IcedTeaPluginUtils.cc: Fix two typos. From ddadacha at redhat.com Thu May 24 12:40:50 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Thu, 24 May 2012 15:40:50 -0400 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FBE774C.1020501@redhat.com> References: <4FB8FD2B.2050907@redhat.com> <4FBBE1E6.8050502@redhat.com> <4FBCC740.9080000@redhat.com> <4FBD3AFC.6090907@redhat.com> <4FBE774C.1020501@redhat.com> Message-ID: <4FBE8EC2.5010103@redhat.com> On 24/05/12 02:00 PM, Jiri Vanek wrote: > On 05/23/2012 09:31 PM, Danesh Dadachanji wrote: >> On 23/05/12 07:17 AM, Jiri Vanek wrote: >>> On 05/22/2012 08:58 PM, Danesh Dadachanji wrote: >>>> Hi Jiri, >>>> >>>> On 20/05/12 10:18 AM, Jiri Vanek wrote: >>>>> Hi! >>>>> >>>>> During last week I was asked by Danesh and Saad to introduce more hierarchical server and >>>>> whitelist for reproducers. >>>>> The following patches should add those features. Can you guys (requesters:) mind to review if they >>>>> match yours needs? >>>>> During the writing i found one bug in current implementation - redundant quotes. I fixed this in >>>>> third changeset. >>>>> Zipped attachment is example of source and result. >>>>> >>>> >>>> Thank you very much for doing this! Greatly appreciated! >>> >>> hhmmhmh. I'm still little bit unsure about usefulness (probably only because of lack of ideas (except sub dirs (and so lost pacakges in >>> jars))... So I'm glad to hear that appreciated it ;) >>> >> >> Definitely, I plan to use it as soon as it goes in! >> >> [snip] >> >>>>> >>>>> *smallEnchancemtnsToreproducers-whiteList.diff* >>>>> >>>> >>>> Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the >>>> info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the >>>> engine will throw failures when running them. Are we expecting testers to know which jars depend on >>>> which? If this "dependency" is not going to be checked by the Makefile, then we should definitely >>>> add a note to the wiki page stating the various dependencies. >>> >>> I had this on mind when I wrote it. Whitelist just filter runs, not compilation and preparation. All reproducers (simple, signed and in >>> future also special) are compiled (,signed) , deployed , resources copied, testcases compiled. But to the final list for runinning are >>> included just those who match the regexes in list >>> >>> I would really like to avoid some descriptions or checks in reproducers(dependences)! They can make the engine to heavyweight. >> >> >> Oh my apologies for the noise, I did not realize this was just a runtime whitelist. Awesome then I am perfectly happy with the >> change. Feel free to push! >> >> [snip] >> >>> smallEnchancemtnsToreproducers-jarsInDirs2.diff >>> >>> >>> diff -r c74bf4aa138c Makefile.am >>> --- a/Makefile.am Wed May 23 10:42:45 2012 +0200 >>> +++ b/Makefile.am Wed May 23 13:06:33 2012 +0200 >>> @@ -544,8 +544,40 @@ >>> mkdir -p stamps&& \ >>> touch $@ >>> >>> +stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp >>> + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ >>> + types=(simple signed); \ >>> + for which in "$${types[@]}" ; do \ >>> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >>> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ >>> + IFS="$$IFS_BACKUP" ; \ >>> + for dir in "$${simpleReproducers[@]}" ; do \ >>> + if test "$${dir:0:1}" = "." ; then \ >>> + echo "reproducer $$dir starts with dot. It is forbidden" ; \ >>> + exit 5; \ >>> + fi; \ >>> + if test "$${dir:(-1)}" = "." ; then \ >>> + echo "reproducer $$dir ends with dot. It is forbidden" ; \ >>> + exit 5; \ >>> + fi; \ >> >>> + q=`expr index "$$dir" .`; \ >>> + r=$$? ; \ >>> + if [ $$r = 0 ]; then \ >> >> I don't think this if-clause is needed anymore, basename/dirname are smart enough to account for this. Let's say dir="MyAwesomeTest", >> then path="." and file="MyAwesomeTest". Feel free to keep it there as a sanity check but I don't think it's necessary. No need to >> repost a patch if you just remove the if (unless other issues arise). > I had let it in. I think there is no need to walk through the block and copy itself to itself when there is no dot. >> >>> + slashed_dir="./$${dir//.//}" ; \ >>> + path="`dirname $$slashed_dir`" ; \ >>> + file="`basename $$slashed_dir`.jar" ; \ >>> + echo "copying $$dir.jar to $$path as $$file" ; \ >>> + mkdir --parents $$path ; \ >>> + cp $$dir".jar" "$$path"/"$$file" ; \ >>> + fi ; \ >>> + done ; \ >>> + done ; \ >>> + popd ; \ >>> + mkdir -p stamps&& \ >>> + touch $@ >>> + >>> #this always tries to remove previous testcert >>> -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp netx-dist-tests-remove-cert-from-public >>> +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public >>> keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore >>> $(PRIVATE_KEYSTORE_NAME) >>> >>> stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) >>> @@ -955,6 +987,7 @@ >>> rm -f stamps/netx-dist-tests-prepare-reproducers.stamp >>> rm -f stamps/netx-dist-tests-compile-testcases.stamp >>> rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp >>> + rm -f stamps/change-dots-to-paths.stamp >>> rm -f junit-jnlp-dist-simple.txt >>> rm -f junit-jnlp-dist-signed.txt >>> rm -f $(REPRODUCERS_CLASS_NAMES) >>> >> >> Great stuff, thanks again for doing all of this! Feel free to push to HEAD >> >> Cheers, >> Danesh > > Tahnx a lot! Both pushed. Custom makefiles soon unless you will be first;) > Tried building this again with --prefix but it failed. I missed picking up on this before, thanks Omair for pointing it out! diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-05-24 Danesh Dadachanji + + Fix use of src dir instead of build dir when whitelisting. + * Makefile.am (REPRODUCERS_CLASS_WHITELIST): Use abs_top_builddir instead + of abs_top_srcdir. + 2012-05-23 Martin Olsson * plugin/icedteanp/IcedTeaPluginUtils.cc: Okay for HEAD? Cheers, Danesh -------------- next part -------------- A non-text attachment was scrubbed... Name: fix-whitelist-dir-pointer.patch Type: text/x-patch Size: 521 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/e22ffca9/fix-whitelist-dir-pointer.patch From bugzilla-daemon at icedtea.classpath.org Thu May 24 13:18:12 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 20:18:12 +0000 Subject: [Bug 861] Code in a jar cannot connect to jar host server In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=861 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dbhole at redhat.com Summary|Glasnost: Test if your ISP |Code in a jar cannot |is shaping your traffic - |connect to jar host server |fatal internal error. | --- Comment #1 from Deepak Bhole --- I have investigated the course and this is a generic issue. I am updating bug summary accordingly. Re-assigning to myself. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/95aad88d/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu May 24 13:18:35 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 24 May 2012 20:18:35 +0000 Subject: [Bug 861] Code in a jar cannot connect to jar host server In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=861 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|adomurad at redhat.com |dbhole at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120524/cfe8ce3a/attachment.html From jvanek at redhat.com Fri May 25 00:54:57 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 25 May 2012 09:54:57 +0200 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FBE8EC2.5010103@redhat.com> References: <4FB8FD2B.2050907@redhat.com> <4FBBE1E6.8050502@redhat.com> <4FBCC740.9080000@redhat.com> <4FBD3AFC.6090907@redhat.com> <4FBE774C.1020501@redhat.com> <4FBE8EC2.5010103@redhat.com> Message-ID: <4FBF3AD1.20306@redhat.com> On 05/24/2012 09:40 PM, Danesh Dadachanji wrote: > > > On 24/05/12 02:00 PM, Jiri Vanek wrote: >> On 05/23/2012 09:31 PM, Danesh Dadachanji wrote: >>> On 23/05/12 07:17 AM, Jiri Vanek wrote: >>>> On 05/22/2012 08:58 PM, Danesh Dadachanji wrote: >>>>> Hi Jiri, >>>>> >>>>> On 20/05/12 10:18 AM, Jiri Vanek wrote: >>>>>> Hi! >>>>>> >>>>>> During last week I was asked by Danesh and Saad to introduce more hierarchical server and >>>>>> whitelist for reproducers. >>>>>> The following patches should add those features. Can you guys (requesters:) mind to review if >>>>>> they >>>>>> match yours needs? >>>>>> During the writing i found one bug in current implementation - redundant quotes. I fixed this in >>>>>> third changeset. >>>>>> Zipped attachment is example of source and result. >>>>>> >>>>> >>>>> Thank you very much for doing this! Greatly appreciated! >>>> >>>> hhmmhmh. I'm still little bit unsure about usefulness (probably only because of lack of ideas >>>> (except sub dirs (and so lost pacakges in >>>> jars))... So I'm glad to hear that appreciated it ;) >>>> >>> >>> Definitely, I plan to use it as soon as it goes in! >>> >>> [snip] >>> >>>>>> >>>>>> *smallEnchancemtnsToreproducers-whiteList.diff* >>>>>> >>>>> >>>>> Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the >>>>> info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the >>>>> engine will throw failures when running them. Are we expecting testers to know which jars >>>>> depend on >>>>> which? If this "dependency" is not going to be checked by the Makefile, then we should definitely >>>>> add a note to the wiki page stating the various dependencies. >>>> >>>> I had this on mind when I wrote it. Whitelist just filter runs, not compilation and preparation. >>>> All reproducers (simple, signed and in >>>> future also special) are compiled (,signed) , deployed , resources copied, testcases compiled. >>>> But to the final list for runinning are >>>> included just those who match the regexes in list >>>> >>>> I would really like to avoid some descriptions or checks in reproducers(dependences)! They can >>>> make the engine to heavyweight. >>> >>> >>> Oh my apologies for the noise, I did not realize this was just a runtime whitelist. Awesome then >>> I am perfectly happy with the >>> change. Feel free to push! >>> >>> [snip] >>> >>>> smallEnchancemtnsToreproducers-jarsInDirs2.diff >>>> >>>> >>>> diff -r c74bf4aa138c Makefile.am >>>> --- a/Makefile.am Wed May 23 10:42:45 2012 +0200 >>>> +++ b/Makefile.am Wed May 23 13:06:33 2012 +0200 >>>> @@ -544,8 +544,40 @@ >>>> mkdir -p stamps&& \ >>>> touch $@ >>>> >>>> +stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp >>>> + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ >>>> + types=(simple signed); \ >>>> + for which in "$${types[@]}" ; do \ >>>> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >>>> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ >>>> + IFS="$$IFS_BACKUP" ; \ >>>> + for dir in "$${simpleReproducers[@]}" ; do \ >>>> + if test "$${dir:0:1}" = "." ; then \ >>>> + echo "reproducer $$dir starts with dot. It is forbidden" ; \ >>>> + exit 5; \ >>>> + fi; \ >>>> + if test "$${dir:(-1)}" = "." ; then \ >>>> + echo "reproducer $$dir ends with dot. It is forbidden" ; \ >>>> + exit 5; \ >>>> + fi; \ >>> >>>> + q=`expr index "$$dir" .`; \ >>>> + r=$$? ; \ >>>> + if [ $$r = 0 ]; then \ >>> >>> I don't think this if-clause is needed anymore, basename/dirname are smart enough to account for >>> this. Let's say dir="MyAwesomeTest", >>> then path="." and file="MyAwesomeTest". Feel free to keep it there as a sanity check but I don't >>> think it's necessary. No need to >>> repost a patch if you just remove the if (unless other issues arise). >> I had let it in. I think there is no need to walk through the block and copy itself to itself when >> there is no dot. >>> >>>> + slashed_dir="./$${dir//.//}" ; \ >>>> + path="`dirname $$slashed_dir`" ; \ >>>> + file="`basename $$slashed_dir`.jar" ; \ >>>> + echo "copying $$dir.jar to $$path as $$file" ; \ >>>> + mkdir --parents $$path ; \ >>>> + cp $$dir".jar" "$$path"/"$$file" ; \ >>>> + fi ; \ >>>> + done ; \ >>>> + done ; \ >>>> + popd ; \ >>>> + mkdir -p stamps&& \ >>>> + touch $@ >>>> + >>>> #this always tries to remove previous testcert >>>> -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp >>>> netx-dist-tests-remove-cert-from-public >>>> +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public >>>> keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass >>>> $(PRIVATE_KEYSTORE_PASS) -keystore >>>> $(PRIVATE_KEYSTORE_NAME) >>>> >>>> stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) >>>> @@ -955,6 +987,7 @@ >>>> rm -f stamps/netx-dist-tests-prepare-reproducers.stamp >>>> rm -f stamps/netx-dist-tests-compile-testcases.stamp >>>> rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp >>>> + rm -f stamps/change-dots-to-paths.stamp >>>> rm -f junit-jnlp-dist-simple.txt >>>> rm -f junit-jnlp-dist-signed.txt >>>> rm -f $(REPRODUCERS_CLASS_NAMES) >>>> >>> >>> Great stuff, thanks again for doing all of this! Feel free to push to HEAD >>> >>> Cheers, >>> Danesh >> >> Tahnx a lot! Both pushed. Custom makefiles soon unless you will be first;) >> > > Tried building this again with --prefix but it failed. I missed picking up on this before, thanks > Omair for pointing it out! > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,9 @@ > +2012-05-24 Danesh Dadachanji > + > + Fix use of src dir instead of build dir when whitelisting. > + * Makefile.am (REPRODUCERS_CLASS_WHITELIST): Use abs_top_builddir instead > + of abs_top_srcdir. > + > 2012-05-23 Martin Olsson > > * plugin/icedteanp/IcedTeaPluginUtils.cc: > > Okay for HEAD? Sure. Sorry. > > Cheers, > Danesh From jvanek at redhat.com Fri May 25 02:32:58 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 25 May 2012 11:32:58 +0200 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <20120524165208.GA29866@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> <4FACF328.8030107@redhat.com> <20120523140849.GC29866@redhat.com> <20120523183510.GM29866@redhat.com> <4FBDFC72.4030209@redhat.com> <20120524165208.GA29866@redhat.com> Message-ID: <4FBF51CA.6040807@redhat.com> On 05/24/2012 06:52 PM, Deepak Bhole wrote: > * Jiri Vanek [2012-05-24 05:15]: >>> >>> Can you please either back this out or change it to not make it throw >>> exceptions (just printing it instead)? This patch breaks >>> http://jmol.sourceforge.net/demo/atoms/ >>> >>> Thanks for Danesh for tracing this! >>> >>> Thanks, >>> Deepak >> >> Hmmm.. I have look inside this, and I do not feel guilty. Actually >> it looks like another occurrence of RH816592. The fact that we see >> why it is failing does not mean that it caused the app to fail. >> AFAIK my debbuging outputs have not changed the behaviour at all. >> Adding sout printing before returning null and rethrowing "exception >> which would be thrown anyway". So the just printing WILL change >> older behaviour. >> Although I addmit that I have one small mistake - fixed in attached patch. However this did not help. >> >> The original pathc for RH816592 is solving this issue, but 1.2 is >> working as well! So I think this reproducer had to be broken much >> longer ago! >> >> I'm going to attach enhanced patch for RH816592 later today. >> >> > > I am not sure I understand. It worked before, it doesn't now. How can it be > an occurrence of another bug when it was never a bug before to begin > with? > > Cheers, > Deepak > HA! I got it >:) One condition really escaped. I fixed the block like in patch. It is much more readable now and much more bulletproof. Thanx for catch! With attached patch the jmol is working fine. 2012-05-25 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): New rethrow of exceptions and following condition make more accurate. -------------- next part -------------- diff -r 2c84a314c411 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 15:37:30 2012 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri May 25 11:13:42 2012 +0200 @@ -914,22 +914,26 @@ // 1. Code must be signed // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) if (cs == null) { - throw new RuntimeException("Code source was null"); + throw new NullPointerException("Code source was null"); } - if (cs.getLocation() == null) { - throw new RuntimeException("Code source location was null"); - } - if (getCodeSourceSecurity(cs.getLocation()) == null) { - throw new RuntimeException("Code source security was null"); - } - if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { - throw new RuntimeException("Code source security type was null"); - } - if (cs.getCodeSigners() != null - && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) - || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { + if (cs.getCodeSigners() != null) { + if (cs.getLocation() == null) { + throw new NullPointerException("Code source location was null"); + } + if (getCodeSourceSecurity(cs.getLocation()) == null) { + throw new NullPointerException("Code source security was null"); + } + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { + if (JNLPRuntime.isDebug()){ + new NullPointerException("Warning! Code source security type was null").printStackTrace(); + } + } + Object securityType = getCodeSourceSecurity(cs.getLocation()).getSecurityType(); + if (SecurityDesc.ALL_PERMISSIONS.equals(securityType) + || SecurityDesc.J2EE_PERMISSIONS.equals(securityType)) { - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + } } Enumeration e = permissions.elements(); From ptisnovs at icedtea.classpath.org Fri May 25 03:04:21 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 25 May 2012 10:04:21 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestLines.java: Message-ID: changeset b56f62052e46 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=b56f62052e46 author: Pavel Tisnovsky date: Fri May 25 12:07:03 2012 +0200 * src/org/gfxtest/testsuites/PrintTestLines.java: Added new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/PrintTestLines.java | 239 ++++++++++++++++++++++++- 2 files changed, 241 insertions(+), 3 deletions(-) diffs (317 lines): diff -r ab51d1f4d8ba -r b56f62052e46 ChangeLog --- a/ChangeLog Thu May 24 11:41:36 2012 +0200 +++ b/ChangeLog Fri May 25 12:07:03 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-25 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestLines.java: + Added new tests to this test suite. + 2012-05-24 Pavel Tisnovsky * src/org/gfxtest/framework/PrintTest.java: diff -r ab51d1f4d8ba -r b56f62052e46 src/org/gfxtest/testsuites/PrintTestLines.java --- a/src/org/gfxtest/testsuites/PrintTestLines.java Thu May 24 11:41:36 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestLines.java Fri May 25 12:07:03 2012 +0200 @@ -114,6 +114,7 @@ // render the line graphics.drawLine(x1, y, x2, y); } + // cleanup rendering horizontalLineDrawCallbacks.cleanup(); } @@ -156,6 +157,7 @@ // render the line graphics.drawLine(x, y1, x, y2); } + // cleanup rendering verticalLineDrawCallbacks.cleanup(); } @@ -221,6 +223,7 @@ // render the line graphics.drawLine(x1, y1, x2, y2); } + // cleanup rendering diagonalLineDrawCallbacks.cleanup(); } @@ -395,6 +398,7 @@ /** * Test basic behavior of method Graphics.drawLine(). * Horizontal lines are rendered with various width and end caps set to CAP_ROUND. + * Join style is set bevel style. * Color of all rendered lines are set to black. * * @param image @@ -432,6 +436,7 @@ /** * Test basic behavior of method Graphics.drawLine(). * Horizontal lines are rendered with various width and end caps set to CAP_SQUARE. + * Join style is set bevel style. * Color of all rendered lines are set to black. * * @param image @@ -468,6 +473,234 @@ /** * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_BUTT. + * Join style is set miter style. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapButtJoinMiter(TestImage image, Graphics2D graphics) + { + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + /** + * Stroke width. + */ + float strokeWidth = 0.0f; + + /** + * Callback function called before each line is rendered. + */ + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_ROUND. + * Join style is set miter style. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapRoundJoinMiter(TestImage image, Graphics2D graphics) + { + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + /** + * Stroke width. + */ + float strokeWidth = 0.0f; + + /** + * Callback function called before each line is rendered. + */ + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_SQUARE. + * Join style is set miter style. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapSquareJoinMiter(TestImage image, Graphics2D graphics) + { + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + /** + * Stroke width. + */ + float strokeWidth = 0.0f; + + /** + * Callback function called before each line is rendered. + */ + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_BUTT. + * Join style is set round style. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapButtJoinRound(TestImage image, Graphics2D graphics) + { + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + /** + * Stroke width. + */ + float strokeWidth = 0.0f; + + /** + * Callback function called before each line is rendered. + */ + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_ROUND. + * Join style is set round style. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapRoundJoinRound(TestImage image, Graphics2D graphics) + { + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + /** + * Stroke width. + */ + float strokeWidth = 0.0f; + + /** + * Callback function called before each line is rendered. + */ + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). + * Horizontal lines are rendered with various width and end caps set to CAP_SQUARE. + * Join style is set round style. + * Color of all rendered lines are set to black. + * + * @param image + * image to which lines are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawHorizontalLinesChangeWidthCapSquareJoinRound(TestImage image, Graphics2D graphics) + { + drawHorizontalLines(image, graphics, VERTICAL_STEP << 1, new HorizontalLineDrawCallbacks() + { + /** + * Stroke width. + */ + float strokeWidth = 0.0f; + + /** + * Callback function called before each line is rendered. + */ + @Override + public void iterationCallBack(int y, int index) + { + // set stroke width + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND)); + // set new stroke width + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + STROKE_WIDTH_DELTA : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawLine(). * Vertical lines are rendered with default width and default end caps. * Color of all rendered lines are set to black. * @@ -606,7 +839,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testDrawVerticalLinesChangeWidthCapButt(TestImage image, Graphics2D graphics) + public TestResult testDrawVerticalLinesChangeWidthCapButtJoinBevel(TestImage image, Graphics2D graphics) { drawVerticalLines(image, graphics, HORIZONTAL_STEP << 1, new VerticalLineDrawCallbacks() { @@ -643,7 +876,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testDrawVerticalLinesChangeWidthCapRound(TestImage image, Graphics2D graphics) + public TestResult testDrawVerticalLinesChangeWidthCapRoundJoinBevel(TestImage image, Graphics2D graphics) { drawVerticalLines(image, graphics, HORIZONTAL_STEP << 1, new VerticalLineDrawCallbacks() { @@ -680,7 +913,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testDrawVerticalLinesChangeWidthCapSquare(TestImage image, Graphics2D graphics) + public TestResult testDrawVerticalLinesChangeWidthCapSquareJoinBevel(TestImage image, Graphics2D graphics) { drawVerticalLines(image, graphics, HORIZONTAL_STEP << 1, new VerticalLineDrawCallbacks() { From jvanek at redhat.com Fri May 25 05:55:28 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 25 May 2012 14:55:28 +0200 Subject: [rfc] [icedtea-web] get rid of repated sout/serr in reproducers testcases Message-ID: <4FBF8140.3000705@redhat.com> Hi! I would like to get rid of repeating std out/err reprint in reproducers by moving this into ServerAccess class. This patch is adding simple loging interface for stdout/err and (mainly) is hiding reprinting (logging since now:-) of processes out/err and "connectng: " message into executeProcess. My goal in longer term is to have html file (generated from logged xml file probably) which I will be able to link (anchor inlcuded) from current test results html files.And so I will be able to quickly find whats wrong. Now it is becoming little bit painfull. >(Both stdou/err of processes and searching in looong output file) Saad, Danesh - you have number of reproducers in development. Please count with this change. Thanx in advance J. -------------- next part -------------- diff -r 2c84a314c411 tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java --- a/tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Fri May 25 14:36:05 2012 +0200 @@ -51,11 +51,7 @@ @Test public void AppletTestSignedTest() throws Exception { - System.out.println("connecting AppletTestSigned request"); - System.err.println("connecting AppletTestSigned request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/AppletTestSigned.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); evaluateSignedApplet(pr); Assert.assertFalse(pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); @@ -82,13 +78,9 @@ @Test public void AppletTestSignedFirefoxTest() throws Exception { - System.out.println("connecting AppletTestSigned in firefox request"); - System.err.println("connecting AppletTestSigned in firefox request"); ServerAccess.PROCESS_TIMEOUT = 30 * 1000; try { ServerAccess.ProcessResult pr = server.executeBrowser("/AppletTestSigned.html"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); evaluateSignedApplet(pr); Assert.assertTrue(pr.wasTerminated); //Assert.assertEquals((Integer) 0, pr.returnValue); due to destroy is null diff -r 2c84a314c411 tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java Fri May 25 14:36:05 2012 +0200 @@ -258,11 +258,7 @@ @Override public void run() { try { - System.out.println("connecting deadlocktest request"); - System.err.println("connecting deadlocktest request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(verbosed, "/deadlocktest.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); } catch (Exception ex) { throw new RuntimeException(ex); } @@ -271,8 +267,6 @@ t.start(); Thread.sleep(1000); pr = tryToClearcache(); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String q = "Can not clear cache at this time"; Assert.assertTrue("Stderr should contain " + q + ", but did not.", pr.stderr.contains(q)); assertCacheIsNotEmpty(); @@ -338,8 +332,6 @@ } private static void clearAndEvaluateCache(boolean force) throws Exception { - System.out.println("clearing cache"); - System.err.println("clearing cache"); if (force) { if (netxLock.isFile()) { boolean b = netxLock.delete(); @@ -458,11 +450,7 @@ } private static ServerAccess.ProcessResult runSimpleTest1(List args, String s) throws Exception { - System.out.println("connecting " + s + " request"); - System.err.println("connecting " + s + " request"); ServerAccess.ProcessResult pr2 = server.executeJavawsHeadless(args, "/" + s + ".jnlp"); - System.out.println(pr2.stdout); - System.err.println(pr2.stderr); return pr2; } @@ -483,8 +471,6 @@ private static ProcessResult tryToClearcache() throws Exception { ServerAccess.ProcessResult pr1 = ServerAccess.executeProcess(clear); - System.out.println(pr1.stdout); - System.err.println(pr1.stderr); return pr1; } } diff -r 2c84a314c411 tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java --- a/tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java Fri May 25 14:36:05 2012 +0200 @@ -50,8 +50,6 @@ private final List l = Collections.unmodifiableList(Arrays.asList(new String[]{"-Xtrustall"})); private void evaluateResult(ProcessResult pr) { - System.out.println(pr.stdout); - System.err.println(pr.stderr); String c = "only fixed classloader can initialize this app"; Assert.assertTrue("stdout should contains `" + c + "`, but didn't ", pr.stdout.contains(c)); String cc = "ClassNotFoundException"; @@ -62,33 +60,25 @@ @Test public void MissingJarTest1() throws Exception { - System.out.println("connecting MissingJar1 request"); - System.err.println("connecting MissingJar1 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar.jnlp"); evaluateResult(pr); } @Test public void MissingJarTest2() throws Exception { - System.out.println("connecting MissingJar2 request"); - System.err.println("connecting MissingJar2 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar2.jnlp"); evaluateResult(pr); } @Test public void MissingJarTest3() throws Exception { - System.out.println("connecting MissingJar3 request"); - System.err.println("connecting MissingJar3 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar3.jnlp"); evaluateResult(pr); } @Test public void MissingJarTest4() throws Exception { - System.out.println("connecting MissingJar4 request"); - System.err.println("connecting MissingJar4 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar4.jnlp"); evaluateResult(pr); } -} \ No newline at end of file +} diff -r 2c84a314c411 tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java --- a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java Fri May 25 14:36:05 2012 +0200 @@ -52,11 +52,7 @@ @Test public void ReadPropertiesBySignedHackWithjoutXtrustAll() throws Exception { //no request for permissions - System.out.println("connecting ReadPropertiesBySignedHack request"); - System.err.println("connecting ReadPropertiesBySignedHack request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesBySignedHack.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="java.lang.SecurityException: class \"ReadProperties\"'s signer information does not match signer information of other classes in the same package"; Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); String ss="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Fri May 25 14:36:05 2012 +0200 @@ -53,11 +53,7 @@ @Test public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { //no request for permissions - System.out.println("connecting ReadPropertiesSigned1 request"); - System.err.println("connecting ReadPropertiesSigned1 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); @@ -69,11 +65,7 @@ @Test public void ReadSignedPropertiesWithPermissionsWithXtrustAll() throws Exception { //request for allpermissions - System.out.println("connecting ReadPropertiesSigned2 request"); - System.err.println("connecting ReadPropertiesSigned2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertFalse("Stderr should NOT match "+accessMatcher+" but did",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); @@ -84,11 +76,7 @@ @Test public void EnsureXtrustallNotAffectingUnsignedBehaviour() throws Exception { - System.err.println("connecting ReadPropertiesSigned3 request"); - System.out.println("connecting ReadPropertiesSigned3 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); diff -r 2c84a314c411 tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java Fri May 25 14:36:05 2012 +0200 @@ -53,8 +53,6 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereLocalAppletTestsJnlp2Signed() throws Exception { - System.out.println("connecting NotOnly spaces can kill ????? too signed.jnlp request"); - System.err.println("connecting NotOnly spaces can kill ????? too signed.jnlp request"); List commands=new ArrayList(1); commands.add(server.getJavawsLocation()); commands.add(server.getDir()+"/NotOnly spaces can kill ????? too signed.jnlp"); @@ -83,8 +81,6 @@ * only on ocal files, and probably only from test run - it can be ignored */ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -97,11 +93,7 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsJnlp2Signed() throws Exception { - System.out.println("connecting NotOnly spaces can kill ????? too signed.jnlp request"); - System.err.println("connecting NotOnly spaces can kill ????? too signed.jnlp request"); ServerAccess.ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too%20signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -113,11 +105,7 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsHtml2Signed() throws Exception { - System.out.println("connecting spaces applet Tests signed.html request"); - System.err.println("connecting spaces applet Tests signed.html request"); ServerAccess.ProcessResult pr = server.executeBrowser("/spaces+applet+Tests+signed.html"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -129,11 +117,7 @@ @Bug(id={"PR811","http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016144.html"}) @Test public void SpacesCanBeEverywhereRemoteTests1Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests1 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests1 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere1%20signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "Good simple javaws exapmle"; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -145,11 +129,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -161,11 +141,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2Signed_withQuery1() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp?test=20"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -177,11 +153,8 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2Signed_withQuery2() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp?test%3D20"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); + String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -193,11 +166,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests3Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests3signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests3signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SpacesCanBeEverywhere1signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -210,15 +179,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests1Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests1 request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests1 request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere1.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "Good simple javaws exapmle"; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -230,15 +195,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests2Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere2 signed.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -250,15 +211,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests4Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add(server.getDir()+"/Spaces can be everywhere2 signed.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -270,15 +227,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests3Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests3signed request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests3signed request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("SpacesCanBeEverywhere1signed.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java --- a/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java Fri May 25 14:36:05 2012 +0200 @@ -101,11 +101,7 @@ @Test public void AccessClassInPackageJAVAXJNLP() throws Exception { - System.out.println("AccessClassInPackageJAVAXJNLP"); - System.err.println("AccessClassInPackageJAVAXJNLP"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[0]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[0]); testShouldNOTFail(pr, badExceptions[0]); @@ -113,11 +109,7 @@ @Test public void AccessClassInPackageSELF() throws Exception { - System.out.println("AccessClassInPackageSELF"); - System.err.println("AccessClassInPackageSELF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[1]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[1]); testShouldNOTFail(pr, badExceptions[1]); @@ -125,11 +117,7 @@ @Test public void AccessClassInPackageNETSF() throws Exception { - System.out.println("AccessClassInPackageNETSF"); - System.err.println("AccessClassInPackageNETSF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[2]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldFail(pr, badExceptions[2]); testShouldNOTPass(pr, pass[2]); @@ -137,11 +125,7 @@ @Test public void AccessClassInPackageSUNSEC() throws Exception { - System.out.println("AccessClassInPackageSUNSEC"); - System.err.println("AccessClassInPackageSUNSEC"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[3]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); commonPitfall(pr); testShouldFail(pr, badExceptions[3]); @@ -151,11 +135,7 @@ //now signed vaiants @Test public void AccessClassInPackageSignedJAVAXJNLP() throws Exception { - System.out.println("AccessClassInPackageSignedJAVAXJNLP"); - System.err.println("AccessClassInPackageSignedJAVAXJNLP"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[0]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[0]); testShouldNOTFail(pr, badExceptions[0]); @@ -163,11 +143,7 @@ @Test public void AccessClassInPackageSignedSELF() throws Exception { - System.out.println("AccessClassInPackageSignedSELF"); - System.err.println("AccessClassInPackageSignedSELF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[1]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[1]); testShouldNOTFail(pr, badExceptions[1]); @@ -175,11 +151,7 @@ @Test public void AccessClassInPackageSignedNETSF() throws Exception { - System.out.println("AccessClassInPackageSignedNETSF"); - System.err.println("AccessClassInPackageSignedNETSF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[2]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[2]); testShouldNOTFail(pr, badExceptions[2]); @@ -187,11 +159,7 @@ @Test public void AccessClassInPackageSignedSUNSEC() throws Exception { - System.out.println("AccessClassInPackageSignedSUNSEC"); - System.err.println("AccessClassInPackageSignedSUNSEC"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[3]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[3]); testShouldNOTFail(pr, badExceptions[3]); diff -r 2c84a314c411 tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java --- a/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Fri May 25 14:36:05 2012 +0200 @@ -46,11 +46,7 @@ @Test public void AddShutdownHookTestLunch1() throws Exception { - System.out.println("connecting AddShutdownHook request"); - System.err.println("connecting AddShutdownHook request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/AddShutdownHook.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "shutdownHooks" + ".*"; Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java --- a/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Fri May 25 14:36:05 2012 +0200 @@ -48,11 +48,7 @@ @Test public void AllStackTracesTest1() throws Exception { - System.out.println("connecting AllStackTraces request"); - System.err.println("connecting AllStackTraces request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/AllStackTraces.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String c = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "getStackTrace" + ".*"; Assert.assertTrue("stderr should match `"+c+"`, but didn't ",pr.stderr.matches(c)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java --- a/tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java Fri May 25 14:36:05 2012 +0200 @@ -47,11 +47,7 @@ @Test public void AppletTest() throws Exception { - System.out.println("connecting AppletTest request"); - System.err.println("connecting AppletTest request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/AppletTest.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); evaluateApplet(pr); Assert.assertFalse(pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); @@ -78,13 +74,9 @@ @Test public void AppletInFirefoxTest() throws Exception { - System.out.println("connecting AppletInFirefoxTest request"); - System.err.println("connecting AppletInFirefoxTest request"); server.PROCESS_TIMEOUT = 30 * 1000; try { ServerAccess.ProcessResult pr = server.executeBrowser("/appletAutoTests.html"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); pr.process.destroy(); evaluateApplet(pr); Assert.assertTrue(pr.wasTerminated); diff -r 2c84a314c411 tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java --- a/tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java Fri May 25 14:36:05 2012 +0200 @@ -47,11 +47,7 @@ @Test public void CheckServices() throws Exception { - System.out.println("connecting CheckServices request"); - System.err.println("connecting CheckServices request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/CheckServices.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s0 = "Codebase for applet was found in constructor"; Assert.assertTrue("CheckServices stdout should contain `" + s0 + "' bud didn't.", pr.stdout.contains(s0)); String s1 = "Codebase for applet was found in init()"; diff -r 2c84a314c411 tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java --- a/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Fri May 25 14:36:05 2012 +0200 @@ -46,11 +46,7 @@ @Test public void CreateClassLoaderLunch1() throws Exception { - System.out.println("connecting CreateClassLoader request"); - System.err.println("connecting CreateClassLoader request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/CreateClassLoader.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "createClassLoader" + ".*"; Assert.assertTrue("Stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java --- a/tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java Fri May 25 14:36:05 2012 +0200 @@ -45,11 +45,7 @@ private static ServerAccess server = new ServerAccess(); public void runTest(String jnlpName, String exceptionMessage) throws Exception { - System.out.println("connecting InformationTitleVendorParser request, testing " + jnlpName); - System.err.println("connecting InformationTitleVendorParser request, testing " + jnlpName); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/" + jnlpName + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s1 = "Good simple javaws exapmle"; Assert.assertFalse("test" + jnlpName + " stdout should not contain " + s1 + " but did.", pr.stdout.contains(s1)); // Looking for "Could not read or parse the JNLP file. (${DESCRIPTION})" diff -r 2c84a314c411 tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java --- a/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java Fri May 25 14:36:05 2012 +0200 @@ -85,11 +85,7 @@ */ public void manifestedJar1nothing2nothingNoAppDesc() throws Exception { String id = "ManifestedJar-1nothing2nothingNoAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar1(id, pr); assertNotDead(id, pr); } @@ -101,11 +97,7 @@ @Test public void manifestedJar1noAppDesc() throws Exception { String id = "ManifestedJar-1noAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar1(id, pr); assertNotDead(id, pr); } @@ -117,11 +109,7 @@ @Test public void manifestedJar1mainNoAppDesc() throws Exception { String id = "ManifestedJar-1mainNoAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar1(id, pr); assertNotDead(id, pr); } @@ -133,11 +121,7 @@ @Test public void ManifestedJar1mainHaveAppDesc() throws Exception { String id = "ManifestedJar-1mainHaveAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar2(id, pr); assertNotDead(id, pr); } @@ -149,11 +133,7 @@ @Test public void ManifestedJar1main2nothingNoAppDesc() throws Exception { String id = "ManifestedJar-1main2nothingNoAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar2(id, pr); assertNotDead(id, pr); } @@ -165,11 +145,7 @@ @Test public void manifestedJar1main2nothingNoAppDesc() throws Exception { String id = "ManifestedJar-1main2nothingNoAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar2(id, pr); assertNotDead(id, pr); } @@ -184,11 +160,7 @@ @Test public void manifestedJar1main2mainNoAppDesc() throws Exception { String id = "ManifestedJar-1main2mainNoAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertManifestedJar1(id, pr); assertNotDead(id, pr); } @@ -202,11 +174,7 @@ @Test public void manifestedJar1main2mainAppDesc() throws Exception { String id = "ManifestedJar-1main2mainAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertNotManifestedJar1(id, pr); assertNotManifestedJar2(id, pr); assertNotDead(id, pr); @@ -221,11 +189,7 @@ @Test public void manifestedJar1noAppDescAtAll() throws Exception { String id = "ManifestedJar-1noAppDescAtAll"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertNotManifestedJar1(id, pr); assertNotManifestedJar2(id, pr); assertAppError(id, pr); @@ -244,11 +208,7 @@ @Test public void manifestedJar1nothing2nothingAppDesc() throws Exception { String id = "ManifestedJar-1nothing2nothingAppDesc"; - System.out.println("connecting " + id + " request"); - System.err.println("connecting " + id + " request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertNotManifestedJar2(id, pr); assertNotManifestedJar1(id, pr); assertNotDead(id, pr); diff -r 2c84a314c411 tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java --- a/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Fri May 25 14:36:05 2012 +0200 @@ -46,11 +46,7 @@ @Test public void ReadEnvironmentLunch1() throws Exception { - System.out.println("connecting ReadEnvironment request"); - System.err.println("connecting ReadEnvironment request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReadEnvironment.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "getenv.USER" + ".*"; Assert.assertTrue("stderr should match"+s+"but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java --- a/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Fri May 25 14:36:05 2012 +0200 @@ -47,11 +47,7 @@ @Test public void ReadPropertiesLunch1() throws Exception { - System.out.println("connecting ReadProperties1 request"); - System.err.println("connecting ReadProperties1 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.name.{0,5}read" + ".*"; Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; @@ -63,11 +59,7 @@ @Test public void ReadPropertiesLunch2() throws Exception { - System.out.println("connecting ReadProperties2 request"); - System.err.println("connecting ReadProperties2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties2.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.util.PropertyPermission.{0,5}" + "user.home.{0,5}read" + ".*"; Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java --- a/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Fri May 25 14:36:05 2012 +0200 @@ -45,11 +45,7 @@ @Test public void RedirectStreamsTest1() throws Exception { - System.out.println("connecting RedirectStreams request"); - System.err.println("connecting RedirectStreams request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/RedirectStreams.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setIO" + ".*"; Assert.assertTrue("Stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Fri May 25 14:36:05 2012 +0200 @@ -45,11 +45,7 @@ @Test public void ReplaceSecurityManagerLunch1() throws Exception { - System.out.println("connecting ReplaceSecurityManager request"); - System.err.println("connecting ReplaceSecurityManager request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReplaceSecurityManager.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setSecurityManager" + ".*"; Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java --- a/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Fri May 25 14:36:05 2012 +0200 @@ -45,11 +45,7 @@ @Test public void SetContextClassLoader1() throws Exception { - System.out.println("connecting SetContextClassLoader request"); - System.err.println("connecting SetContextClassLoader request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SetContextClassLoader.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "(?s).*java.security.AccessControlException.{0,5}access denied.{0,5}java.lang.RuntimePermission.{0,5}" + "setContextClassLoader" + ".*"; Assert.assertTrue("stderr should match "+s+" but didn't",pr.stderr.matches(s)); String cc="ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java --- a/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java Fri May 25 14:36:05 2012 +0200 @@ -53,8 +53,6 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereLocalAppletTestsJnlp2() throws Exception { - System.out.println("connecting NotOnly spaces can kill ????? too.jnlp request"); - System.err.println("connecting NotOnly spaces can kill ????? too.jnlp request"); List commands=new ArrayList(1); commands.add(server.getJavawsLocation()); commands.add(server.getDir()+"/NotOnly spaces can kill ????? too.jnlp"); @@ -83,8 +81,6 @@ * only on ocal files, and probably only from test run - it can be ignored */ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -97,11 +93,7 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsJnlp2() throws Exception { - System.out.println("connecting NotOnly spaces can kill ????? too.jnlp request"); - System.err.println("connecting NotOnly spaces can kill ????? too.jnlp request"); ServerAccess.ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -113,11 +105,7 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsHtml2() throws Exception { - System.out.println("connecting spaces applet Tests.html request"); - System.err.println("connecting spaces applet Tests.html request"); ServerAccess.ProcessResult pr = server.executeBrowser("/spaces+applet+Tests.html"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -129,11 +117,7 @@ @Bug(id={"PR811","http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016144.html"}) @Test public void SpacesCanBeEverywhereRemoteTests1() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests1 request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests1 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "Good simple javaws exapmle"; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -145,11 +129,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -161,11 +141,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2_withQuery1() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp?test=10"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -178,11 +154,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2_withQuery2() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp?test%3D10"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -194,11 +166,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests3() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests3 request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests3 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SpacesCanBeEverywhere1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -211,15 +179,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests1() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests1 request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests1 request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere1.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "Good simple javaws exapmle"; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -231,15 +195,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests2() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests2 request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests2 request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere2.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -251,15 +211,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests4() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests2 request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests2 request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add(server.getDir()+"/Spaces can be everywhere2.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -271,15 +227,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests3() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests3 request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests3 request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("SpacesCanBeEverywhere1.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; diff -r 2c84a314c411 tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java --- a/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Fri May 25 14:36:05 2012 +0200 @@ -55,7 +55,7 @@ @BeforeClass public static void printJavas() throws Exception { - System.out.println("Currently runnng javas1 " + countJavaInstances()); + ServerAccess.logO("Currently runnng javas1 " + countJavaInstances()); } @@ -71,15 +71,11 @@ public void testDeadLockTestTerminatedBody(String jnlp) throws Exception { List before = countJavaInstances(); - System.out.println("java1 "+jnlp+" : " + before.size()); - System.out.println("connecting " + jnlp + " request"); - System.err.println("connecting " + jnlp + " request"); + ServerAccess.logO("java1 "+jnlp+" : " + before.size()); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, jnlp); - System.out.println(pr.stdout); - System.err.println(pr.stderr); assertDeadlockTestLaunched(pr); List after = countJavaInstances(); - System.out.println("java2 "+jnlp+" : " + after.size()); + ServerAccess.logO("java2 "+jnlp+" : " + after.size()); String ss="This process is hanging more than 30s. Should be killed"; Assert.assertFalse("stdout shoud not contains: "+ss+", but did",pr.stdout.contains(ss)); // Assert.assertTrue(pr.stderr.contains("xception"));, exception is thrown by engine,not by application @@ -87,7 +83,7 @@ Assert.assertEquals(null, pr.returnValue);//killed process have no value killDiff(before, after); List afterKill = countJavaInstances(); - System.out.println("java3 "+jnlp+" : " + afterKill.size()); + ServerAccess.logO("java3 "+jnlp+" : " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); } @@ -99,25 +95,21 @@ @Test public void testSimpletest1lunchFork() throws Exception { - System.out.println("connecting " + deadlocktest_1 + " request"); - System.err.println("connecting " + deadlocktest_1 + " request"); List before = countJavaInstances(); - System.out.println("java4: " + before.size()); + ServerAccess.logO("java4: " + before.size()); BackgroundDeadlock bd = new BackgroundDeadlock(deadlocktest_1, null); bd.start(); Thread.sleep(ServerAccess.PROCESS_TIMEOUT * 2 / 3); List during = countJavaInstances(); - System.out.println("java5: " + during.size()); + ServerAccess.logO("java5: " + during.size()); waitForBackgroundDeadlock(bd); List after = countJavaInstances(); - System.out.println("java6: " + after.size()); + ServerAccess.logO("java6: " + after.size()); Assert.assertNotNull("proces inside background deadlock cant be null. It was.", bd.getPr()); - System.out.println(bd.getPr().stdout); - System.err.println(bd.getPr().stderr); assertDeadlockTestLaunched(bd.getPr()); killDiff(before, during); List afterKill = countJavaInstances(); - System.out.println("java66: " + afterKill.size()); + ServerAccess.logO("java66: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()) / 2, 2, (during.size() - before.size()) / 2); @@ -125,25 +117,21 @@ @Test public void testSimpletest1lunchNoFork() throws Exception { - System.out.println("connecting " + deadlocktest_1 + " Xnofork request"); - System.err.println("connecting " + deadlocktest_1 + " Xnofork request"); List before = countJavaInstances(); - System.out.println("java7: " + before.size()); + ServerAccess.logO("java7: " + before.size()); BackgroundDeadlock bd = new BackgroundDeadlock(deadlocktest_1, Arrays.asList(new String[]{"-Xnofork"})); bd.start(); Thread.sleep(ServerAccess.PROCESS_TIMEOUT * 2 / 3); List during = countJavaInstances(); - System.out.println("java8: " + during.size()); + ServerAccess.logO("java8: " + during.size()); waitForBackgroundDeadlock(bd); List after = countJavaInstances(); - System.out.println("java9: " + after.size()); + ServerAccess.logO("java9: " + after.size()); Assert.assertNotNull("proces inside background deadlock cant be null. It was.", bd.getPr()); - System.out.println(bd.getPr().stdout); - System.err.println(bd.getPr().stderr); assertDeadlockTestLaunched(bd.getPr()); killDiff(before, during); List afterKill = countJavaInstances(); - System.out.println("java99: " + afterKill.size()); + ServerAccess.logO("java99: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()) / 2, 1, (during.size() - before.size()) / 2); @@ -168,12 +156,15 @@ if (old.contains(string)) { continue; } - System.out.println("Killing " + string); - ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"kill", "-9", string})); + ServerAccess.logO("Killing " + string); + ServerAccess.PROCES_LOG = false; + try { + ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"kill", "-9", string})); + } finally { + ServerAccess.PROCES_LOG = true; + } result.add(string); - //System.out.println(pr.stdout); - // System.err.println(pr.stderr); - System.out.println("Killed " + string); + ServerAccess.logO("Killed " + string); } return result; } @@ -181,23 +172,26 @@ private static List countJavaInstances() throws Exception { ensureLinux(); List result = new ArrayList(); - ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"ps", "-eo", "pid,ppid,stat,fname"})); - Matcher m = Pattern.compile("\\s*\\d+\\s+\\d+ .+ java\\s*").matcher(pr.stdout); - //System.out.println(pr.stdout); - //System.err.println(pr.stderr); + ServerAccess.PROCES_LOG = false; + try { + ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"ps", "-eo", "pid,ppid,stat,fname"})); + Matcher m = Pattern.compile("\\s*\\d+\\s+\\d+ .+ java\\s*").matcher(pr.stdout); int i = 0; while (m.find()) { i++; String ss = m.group(); - //System.out.println(i+": "+ss); + //ServerAccess.logO(i+": "+ss); result.add(ss.trim().split("\\s+")[0]); } + } finally { + ServerAccess.PROCES_LOG = true; + } return result; } public static void main(String[] args) throws Exception { - System.out.println(countJavaInstances()); + ServerAccess.logO(""+countJavaInstances()); } private void assertDeadlockTestLaunched(ProcessResult pr) { diff -r 2c84a314c411 tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java --- a/tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java Fri May 25 14:36:05 2012 +0200 @@ -49,11 +49,7 @@ @Test public void testSimpletest1lunchOk() throws Exception { - System.out.println("connecting simpletest1 request"); - System.err.println("connecting simpletest1 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/simpletest1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Good simple javaws exapmle"; Assert.assertTrue("testSimpletest1lunchOk stdout should contains "+s+" bud didn't",pr.stdout.contains(s)); String ss="xception"; @@ -62,8 +58,4 @@ Assert.assertEquals((Integer)0, pr.returnValue); } - - - - - } + } diff -r 2c84a314c411 tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java --- a/tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java Fri May 25 14:36:05 2012 +0200 @@ -47,11 +47,7 @@ @Test public void testSimpletest2lunchException() throws Exception { - System.out.println("connecting simpletest2 request"); - System.err.println("connecting simpletest2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/simpletest2.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertTrue("stdout should be < 1 , but was "+pr.stdout.trim().length(),pr.stdout.trim().length() < 1); String s="Correct exception"; Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); diff -r 2c84a314c411 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Thu May 24 15:37:30 2012 -0400 +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Fri May 25 14:36:05 2012 +0200 @@ -116,6 +116,10 @@ * all terminated processes are stored here. As wee need to 'wait' to termination to be finished. */ private static Set terminated = new HashSet(); + /** + * this flag is indicating whether ooutput of executeProcess should be logged. By default true. + */ + public static boolean PROCES_LOG=true; /** * main method of this class prints out random free port @@ -720,9 +724,72 @@ return executeProcess(args, dir, null, null); } - public static ProcessResult executeProcess(final List args,File dir,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - ThreadedProcess t = new ThreadedProcess(args,dir); + private static String createConnectionMessage(ThreadedProcess t) { + return "Connecting " + t.getCommandLine(); + } + + public static void logE(String s) { + log(s, false, true); + } + + public static void logO(String s) { + log(s, true, false); + } + + private static void log(String message, boolean out, boolean err) { + String idded; + StackTraceElement ste = getTestMethod(); + String fullId=ste.getClassName()+"."+ste.getMethodName(); + if (message.contains("\n")) { + idded = fullId + ": \n" + message+"\n"+fullId+" ---"; + } else { + idded = fullId + ": " + message; + + } + if (out) { + System.out.println(idded); + } + if (err) { + System.err.println(idded); + } + } + + private static StackTraceElement getTestMethod() { + return getTestMethod(Thread.currentThread().getStackTrace()); + } + + private static StackTraceElement getTestMethod(StackTraceElement[] stack) { + //0 is always thread + //1 is net.sourceforge.jnlp.ServerAccess + StackTraceElement result = stack[1]; + String baseClass = stack[1].getClassName(); + int i = 2; + for (; i < stack.length; i++) { + result = stack[i];//at least moving up + if (!baseClass.equals(stack[i].getClassName())) { + break; + } + } + //now we are out of net.sourceforge.jnlp.ServerAccess + //method we need (the test) is highest from following class + baseClass = stack[i].getClassName(); + for (; i < stack.length; i++) { + if (!baseClass.equals(stack[i].getClassName())) { + break; + } + result = stack[i]; + } + + return result; + } + + public static ProcessResult executeProcess(final List args, File dir, ContentReaderListener stdoutl, ContentReaderListener stderrl) throws Exception { + ThreadedProcess t = new ThreadedProcess(args, dir); + if (PROCES_LOG) { + String connectionMesaage = createConnectionMessage(t); + log(connectionMesaage, true, true); + } ProcessAssasin pa = new ProcessAssasin(t, PROCESS_TIMEOUT); pa.start(); t.start(); @@ -753,7 +820,12 @@ pa.setCanRun(false); // System.out.println(t.getP().exitValue()); when process is killed, this throws exception - return new ProcessResult(crs.getContent(), cre.getContent(), t.getP(), pa.wasTerminated(), t.getExitCode(), null); + ProcessResult pr=new ProcessResult(crs.getContent(), cre.getContent(), t.getP(), pa.wasTerminated(), t.getExitCode(), null); + if (PROCES_LOG) { + log(pr.stdout, true, false); + log(pr.stderr, false, true); + } + return pr; } /** From andrew at icedtea.classpath.org Fri May 25 06:05:11 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 25 May 2012 13:05:11 +0000 Subject: /hg/icedtea7: Bump to OpenJDK7u6 b10. Message-ID: changeset 2c3c929e038c in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=2c3c929e038c author: Andrew John Hughes date: Fri May 25 14:04:55 2012 +0100 Bump to OpenJDK7u6 b10. 2012-05-25 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to b10. (JDK_UPDATE_VERSION): Bump to u6. (CORBA_CHANGESET): Update to IcedTea7 forest head. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (STRIP_POLICY): Changed from ALT_STRIP_POLICY due to upstream changes. * patches/boot/ecj-diamond.patch: Recreated, new case added in java.io.FileDescriptor. * patches/boot/ecj-trywithresources.patch: New case added (also in java.io.FileDescriptor). * patches/boot/hotspot-jdk-dependency.patch: Recreated. * patches/boot/use_target_6_for_bootstrap_classes.patch, Added new case in sun.security.action (caused timezone generation application to fail, presumably due to variable moving from private to package-private). diffstat: ChangeLog | 30 + Makefile.am | 34 +- patches/boot/ecj-diamond.patch | 1016 ++++++++-------- patches/boot/ecj-trywithresources.patch | 190 +- patches/boot/hotspot-jdk-dependency.patch | 12 +- patches/boot/use_target_6_for_bootstrap_classes.patch | 13 + 6 files changed, 683 insertions(+), 612 deletions(-) diffs (truncated from 3375 to 500 lines): diff -r 9d852f22c417 -r 2c3c929e038c ChangeLog --- a/ChangeLog Wed May 23 20:07:09 2012 +0100 +++ b/ChangeLog Fri May 25 14:04:55 2012 +0100 @@ -1,3 +1,33 @@ +2012-05-25 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to b10. + (JDK_UPDATE_VERSION): Bump to u6. + (CORBA_CHANGESET): Update to IcedTea7 forest head. + (HOTSPOT_CHANGESET): Likewise. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (STRIP_POLICY): Changed from ALT_STRIP_POLICY + due to upstream changes. + * patches/boot/ecj-diamond.patch: + Recreated, new case added in java.io.FileDescriptor. + * patches/boot/ecj-trywithresources.patch: + New case added (also in java.io.FileDescriptor). + * patches/boot/hotspot-jdk-dependency.patch: + Recreated. + * patches/boot/use_target_6_for_bootstrap_classes.patch, + Added new case in sun.security.action (caused timezone + generation application to fail, presumably due to variable + moving from private to package-private). + 2012-05-23 Andrew John Hughes * Makefile.am: diff -r 9d852f22c417 -r 2c3c929e038c Makefile.am --- a/Makefile.am Wed May 23 20:07:09 2012 +0100 +++ b/Makefile.am Fri May 25 14:04:55 2012 +0100 @@ -1,24 +1,24 @@ # Dependencies -OPENJDK_VERSION = b13 -JDK_UPDATE_VERSION = 04 +OPENJDK_VERSION = b10 +JDK_UPDATE_VERSION = 06 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = 139542079986 -HOTSPOT_CHANGESET = 5be91de8b779 -JAXP_CHANGESET = 10808c0ac008 -JAXWS_CHANGESET = 06cd92271215 -JDK_CHANGESET = bba3b86618d0 -LANGTOOLS_CHANGESET = 8634c8f95ff7 -OPENJDK_CHANGESET = 6670fad22684 +CORBA_CHANGESET = f60db5e849b2 +HOTSPOT_CHANGESET = 09d95d97bb19 +JAXP_CHANGESET = ac8bf0b8bd4a +JAXWS_CHANGESET = 2d41be955e9b +JDK_CHANGESET = 3f748460de83 +LANGTOOLS_CHANGESET = 93e9eae30c44 +OPENJDK_CHANGESET = f51ab5aecdc8 -CORBA_SHA256SUM = ebc23393b46ae9bcbf0b231ce0b6e58dfb94a82861c5c52d6189c936328614cd -HOTSPOT_SHA256SUM = babb11cf54c6299fe2f0730968316958b71a1dd5e7c2d5d698ac7d905bfc2ccc -JAXP_SHA256SUM = a8c600e3419d8586acb3f7f444bea399aac174d58f2127cb4c0a3ffd3cffdd17 -JAXWS_SHA256SUM = f896fbc4dd9eeb68015afe0378638fc646b9b08047cf9c382a33542f44454def -JDK_SHA256SUM = 63a5b6f565ca793371ebc9f46026e978bc7eee36d1849e61a2b9d470b0add300 -LANGTOOLS_SHA256SUM = bad80067828740510fe8f7c430dfb90d1ec1c895a93fa56b16d8223a8c757bd3 -OPENJDK_SHA256SUM = 5256c8e7c9144ff8a23e83574a82a42874c4c7722057e8194ceb70fe15a5de06 +CORBA_SHA256SUM = b850b59422c9b73bc99df5f3457bdff71358b9ff7064adb84f13f2f3ee2df708 +HOTSPOT_SHA256SUM = e4fe84a920df0971babfbab338faaa0db447d173099f4333c24f92f4a65410f0 +JAXP_SHA256SUM = 4c0b3377556674b52fa6e9ddbd20e60426bf8e65806b8bbce5104f90a445b8e6 +JAXWS_SHA256SUM = c013e3311af9858016f348e38e84d727222b0097fe9737320f57d1ea7269331a +JDK_SHA256SUM = 67f7f4042e7008753acf4dd5f482b84ef0b5b8f0538aff3fe5670da47e49b32b +LANGTOOLS_SHA256SUM = fc7d8adf15de321622153732a81d2e37fd89d3aa0b44986898e8fcdceac85b85 +OPENJDK_SHA256SUM = e53301a75d5ce44dbb7a3e3202c797f155755f6d688d0dde4ed6e9d8e87855c8 CACAO_VERSION = a567bcb7f589 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9 @@ -437,7 +437,7 @@ USE_SYSTEM_CUPS="true" \ CUPS_LIBS="${CUPS_LIBS}" \ CUPS_CFLAGS="${CUPS_CFLAGS}" \ - ALT_STRIP_POLICY=no_strip + STRIP_POLICY=no_strip if ENABLE_CACAO ICEDTEA_ENV += \ diff -r 9d852f22c417 -r 2c3c929e038c patches/boot/ecj-diamond.patch --- a/patches/boot/ecj-diamond.patch Wed May 23 20:07:09 2012 +0100 +++ b/patches/boot/ecj-diamond.patch Fri May 25 14:04:55 2012 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-03-22 11:28:14.027881166 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2012-05-23 22:43:01.731314647 +0100 @@ -103,9 +103,9 @@ return this.def.compareTo(that.def); } @@ -72,8 +72,8 @@ for (int i = 0; i < layout.length(); i++) { if (layout.charAt(i++) != '[') diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-03-22 11:18:05.190037791 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-05-23 22:28:08.716575342 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2012-05-23 22:43:01.743314841 +0100 @@ -257,7 +257,7 @@ assert(basicCodings[_meta_default] == null); assert(basicCodings[_meta_canon_min] != null); @@ -142,8 +142,8 @@ return true; } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-03-22 11:18:05.066035805 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-05-23 22:28:08.596573363 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2012-05-23 22:43:01.743314841 +0100 @@ -466,7 +466,7 @@ void readInnerClasses(Class cls) throws IOException { @@ -154,8 +154,8 @@ InnerClass ic = new InnerClass(readClassRef(), diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2012-05-23 22:43:01.747314905 +0100 @@ -743,9 +743,9 @@ // Steps 1/2/3 are interdependent, and may be iterated. // Steps 4 and 5 may be decided independently afterward. @@ -192,8 +192,8 @@ if (popset.add(values[i])) popvals.add(values[i]); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2012-05-23 22:43:01.747314905 +0100 @@ -402,7 +402,7 @@ private static Map codeMap; @@ -204,8 +204,8 @@ Coding x1 = codeMap.get(x0); if (x1 == null) codeMap.put(x0, x1 = x0); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2012-05-23 22:43:01.747314905 +0100 @@ -915,7 +915,7 @@ public static Index[] partition(Index ix, int[] keys) { @@ -234,8 +234,8 @@ Entry e = work.previous(); work.remove(); // pop stack diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-03-22 11:18:05.190037791 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-05-23 22:28:08.716575342 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2012-05-23 22:43:01.747314905 +0100 @@ -59,7 +59,7 @@ ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource"); @@ -273,8 +273,8 @@ for (String optline : options.split("\n")) { String[] words = optline.split("\\p{Space}+"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-03-22 11:28:14.047881492 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2012-05-23 22:43:01.747314905 +0100 @@ -45,7 +45,7 @@ private final ArrayList flist; @@ -285,8 +285,8 @@ for (int i = 0 ; i < capacity ; i++) { flist.add(null); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java 2012-05-23 22:43:01.747314905 +0100 @@ -126,11 +126,11 @@ public void setBytes(byte[] newBytes) { if (bytes == newBytes) return; @@ -311,8 +311,8 @@ static final int LOC_SHIFT = 1; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-03-22 11:18:05.070035870 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-05-23 22:28:08.600573429 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2012-05-23 22:43:01.747314905 +0100 @@ -112,7 +112,7 @@ public static final Attribute.Layout attrSourceFileSpecial; public static final Map attrDefs; @@ -477,8 +477,8 @@ // Add to the end of ths list: if (!fileSet.contains(cls.file)) diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-05-23 22:28:08.716575342 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2012-05-23 22:43:01.747314905 +0100 @@ -686,7 +686,7 @@ cp_Signature_classes.expectLength(getIntTotal(numSigClasses)); cp_Signature_classes.readFrom(in); @@ -592,8 +592,8 @@ ClassEntry thisClass = curClass.thisClass; ClassEntry superClass = curClass.superClass; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-05-23 22:28:08.724575474 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2012-05-23 22:43:01.747314905 +0100 @@ -116,7 +116,7 @@ int[][] attrCounts; // count attr. occurences @@ -649,8 +649,8 @@ for (Class cls : pkg.classes) { if (!cls.hasInnerClasses()) continue; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2012-05-23 22:43:01.747314905 +0100 @@ -181,8 +181,8 @@ final Map attrDefs; final Map attrCommands; @@ -681,8 +681,8 @@ for (JarEntry je : Collections.list(jf.entries())) { InFile inFile = new InFile(jf, je); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2012-05-23 22:43:01.747314905 +0100 @@ -309,7 +309,7 @@ // As each new value is added, we assert that the value // was not already in the set. @@ -693,8 +693,8 @@ maxForDebug += fillp; int min = Integer.MIN_VALUE; // farthest from the center diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-05-23 22:28:08.724575474 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2012-05-23 22:43:01.747314905 +0100 @@ -47,8 +47,8 @@ */ @@ -716,8 +716,8 @@ while (res.remove(null)); return res; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2012-05-23 22:43:01.747314905 +0100 @@ -58,12 +58,12 @@ private final Map memberEntries; @@ -738,8 +738,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-05-23 22:28:08.724575474 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2012-05-23 22:43:01.747314905 +0100 @@ -232,7 +232,7 @@ props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50"); pkg.ensureAllClassFiles(); @@ -750,8 +750,8 @@ String name = file.nameString; JarEntry je = new JarEntry(Utils.getJarEntryName(name)); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-03-22 11:18:05.194037856 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-03-22 11:28:14.051881557 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-05-23 22:28:08.724575474 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2012-05-23 22:43:01.747314905 +0100 @@ -132,7 +132,7 @@ // Keep a TLS point to the global data and environment. // This makes it simpler to supply environmental options @@ -762,8 +762,8 @@ // convenience methods to access the TL globals static TLGlobals getTLGlobals() { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2012-05-23 22:43:01.751314972 +0100 @@ -1284,7 +1284,7 @@ */ public Collection toCollection() throws SQLException { @@ -783,8 +783,8 @@ // create a copy CachedRowSetImpl crsTemp; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2012-05-23 22:43:01.751314972 +0100 @@ -222,7 +222,7 @@ // either of the setter methods have been set. if(boolColId){ @@ -795,8 +795,8 @@ if( (strMatchKey = (cRowset.getMatchColumnNames())[i]) != null) { iMatchKey = cRowset.findColumn(strMatchKey); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java 2012-05-23 22:43:01.751314972 +0100 @@ -99,10 +99,10 @@ throws UnsupportedCallbackException { @@ -811,8 +811,8 @@ ConfirmationInfo confirmation = new ConfirmationInfo(); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java 2012-05-23 22:43:01.751314972 +0100 @@ -152,7 +152,7 @@ // new configuration @@ -841,8 +841,8 @@ String value; while (peek(";") == false) { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java 2012-05-23 22:43:01.751314972 +0100 @@ -184,7 +184,7 @@ private UnixNumericUserPrincipal UIDPrincipal; private UnixNumericGroupPrincipal GIDPrincipal; @@ -853,8 +853,8 @@ // initial state private Subject subject; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java 2012-05-23 22:43:01.751314972 +0100 @@ -658,7 +658,7 @@ throw new FailedLoginException( "Unable to find X.509 certificate chain in keystore"); @@ -865,8 +865,8 @@ certList.add(fromKeyStore[i]); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java 2012-05-23 22:43:01.751314972 +0100 @@ -76,7 +76,7 @@ private SolarisNumericUserPrincipal UIDPrincipal; private SolarisNumericGroupPrincipal GIDPrincipal; @@ -877,8 +877,8 @@ /** * Initialize this LoginModule. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java 2012-05-23 22:43:01.751314972 +0100 @@ -70,7 +70,7 @@ private UnixNumericUserPrincipal UIDPrincipal; private UnixNumericGroupPrincipal GIDPrincipal; @@ -889,8 +889,8 @@ /** * Initialize this LoginModule. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java 2012-05-23 22:43:01.751314972 +0100 @@ -1180,7 +1180,7 @@ // Done return certs; @@ -901,8 +901,8 @@ while (i < certs.length) { userCertList.add(certs[i]); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java 2012-05-23 22:43:01.755315042 +0100 @@ -59,7 +59,7 @@ // Maps ThreadReference to ThreadTrace instances @@ -913,8 +913,8 @@ EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) { super("event-handler"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java ---- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java 2012-05-23 22:43:01.755315042 +0100 @@ -95,7 +95,7 @@ public final static int IGNORE_ALL_BEANINFO = 3; @@ -925,8 +925,8 @@ private Class beanClass; private BeanInfo explicitBeanInfo; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java ---- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java 2012-05-23 22:43:01.755315042 +0100 @@ -42,7 +42,7 @@ */ final class ThreadGroupContext { @@ -946,8 +946,8 @@ return this.beanInfoCache.put(type, info); } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-03-22 11:28:14.055881623 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java 2012-05-23 22:43:01.755315042 +0100 @@ -34,7 +34,7 @@ */ @@ -966,21 +966,9 @@ // reverse the list to maintain previous jdk deletion order. // Last in first deleted. -diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java 2012-03-22 11:28:14.059881688 +0000 -@@ -57,7 +57,7 @@ - private volatile boolean closed = false; - - private static final ThreadLocal runningFinalize = -- new ThreadLocal<>(); -+ new ThreadLocal(); - - private static boolean isRunningFinalize() { - Boolean val; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/File.java openjdk-boot/jdk/src/share/classes/java/io/File.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/File.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/File.java 2012-05-23 22:43:01.755315042 +0100 @@ -1082,7 +1082,7 @@ if ((names == null) || (filter == null)) { return names; @@ -1008,21 +996,9 @@ for (String s : ss) { File f = new File(s, this); if ((filter == null) || filter.accept(f)) -diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java 2012-03-22 11:28:14.059881688 +0000 -@@ -70,7 +70,7 @@ - private final Object closeLock = new Object(); - private volatile boolean closed = false; - private static final ThreadLocal runningFinalize = -- new ThreadLocal<>(); -+ new ThreadLocal(); - - private static boolean isRunningFinalize() { - Boolean val; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java 2012-05-23 22:43:01.755315042 +0100 @@ -725,7 +725,7 @@ */ @@ -1051,8 +1027,8 @@ } } diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java 2012-05-23 22:43:01.755315042 +0100 @@ -213,7 +213,7 @@ /** table mapping primitive type names to corresponding class objects */ @@ -1077,8 +1053,8 @@ /** filter stream for handling block data conversion */ diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java ---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-03-21 17:09:55.000000000 +0000 -+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-03-22 11:28:14.059881688 +0000 +--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-05-23 20:38:09.000000000 +0100 ++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java 2012-05-23 22:43:01.755315042 +0100 @@ -165,11 +165,11 @@ From adomurad at redhat.com Fri May 25 06:56:22 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 25 May 2012 09:56:22 -0400 Subject: [rfc][icedtea-web] Simple for-each loop style patch Message-ID: <1337954182.13666.5.camel@voip-10-15-18-79.yyz.redhat.com> Hey all. I find the for-each syntax that Java 1.5 to be pretty clear in intent when it comes to data structure iteration. I went through the code and changed some occurrences of explicit index/iterator loops to for-each. OK for HEAD ? (Ran with run-netx-dist-tests with 21/104 failures) Changelog: 2012-05-25 Adam Domurad Changed for-loops over iterators and indices to for-each loops if they were sufficient and clearer. *netx/net/sourceforge/jnlp/JNLPFile.java: Changed for-loops that could be expressed more clearly as for-each loops. *netx/net/sourceforge/jnlp/PluginBridge.java: Same *netx/net/sourceforge/jnlp/ResourcesDesc.java: Same *netx/net/sourceforge/jnlp/cache/CacheUtil.java: Same *netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: Same *netx/net/sourceforge/jnlp/cache/Resource.java: Same *netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Same *netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: Same *netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Same *plugin/icedteanp/java/netscape/javascript/JSObject.java: Same *plugin/icedteanp/java/sun/applet/JavaConsole.java: Same *plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Same -------------- next part -------------- A non-text attachment was scrubbed... Name: foreach-usage.patch Type: text/x-patch Size: 18306 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120525/91420de0/foreach-usage.patch From ptisnovs at redhat.com Fri May 25 07:28:06 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 25 May 2012 16:28:06 +0200 Subject: [rfc][icedtea-web] Removal of 'magic' numbers and more consistent buffer sizes in C++ side of plugin In-Reply-To: <1337871558.29231.17.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337871558.29231.17.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FBF96F6.8010504@redhat.com> Hi Adam, it looks good. Thank you, Pavel Adam Domurad wrote: > Hey all. This is a response to comments from Pavel on a patch that I > created earlier. I decided to re-post with [rfc] in the name to be > clear. This addresses the issue of magic numbers being used for the > buffer sizes, and the somewhat unclear 'sizeof' usage (that I originally > used) to get the buffer size. As well it avoids using snprintf for > emptying a string, opting for the somewhat clearer strcpy. > > Changelog: > 2012-05-23 Adam Domurad > Removed instances of snprintf where buffer size was not known. > Added > buffer size constant for allocating buffers for numeric > conversions. > * plugin/icedteanp/IcedTeaNPPlugin.cc: Removed usage of snprintf > for > simple blanking of strings. Buffer size was misguided > previously. > Used NUM_STR_BUFFER_SIZE constant to replace magic numbers. > * plugin/icedteanp/IcedTeaPluginUtils.cc: Made > NPVariantToString(NPVariant variant, std::string* result) use > space > indentation. Used NUM_STR_BUFFER_SIZE constant to replace magic > numbers. > * plugin/icedteanp/IcedTeaPluginUtils.h: Added constant, > NUM_STR_BUFFER_SIZE. > > > > > > > From ddadacha at icedtea.classpath.org Fri May 25 07:35:06 2012 From: ddadacha at icedtea.classpath.org (ddadacha at icedtea.classpath.org) Date: Fri, 25 May 2012 14:35:06 +0000 Subject: /hg/icedtea-web: Fix whitelisting to use src dir instead of buil... Message-ID: changeset 9d422db340b8 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9d422db340b8 author: Danesh Dadachanji date: Fri May 25 10:34:24 2012 -0400 Fix whitelisting to use src dir instead of build dir. diffstat: ChangeLog | 6 ++++++ Makefile.am | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) diffs (25 lines): diff -r 2c84a314c411 -r 9d422db340b8 ChangeLog --- a/ChangeLog Thu May 24 15:37:30 2012 -0400 +++ b/ChangeLog Fri May 25 10:34:24 2012 -0400 @@ -1,3 +1,9 @@ +2012-05-24 Danesh Dadachanji + + Fix use of src dir instead of build dir when whitelisting. + * Makefile.am (REPRODUCERS_CLASS_WHITELIST): Use abs_top_srcdir + instead of abs_top_builddir. + 2012-05-23 Martin Olsson * plugin/icedteanp/IcedTeaPluginUtils.cc: diff -r 2c84a314c411 -r 9d422db340b8 Makefile.am --- a/Makefile.am Thu May 24 15:37:30 2012 -0400 +++ b/Makefile.am Fri May 25 10:34:24 2012 -0400 @@ -32,7 +32,7 @@ JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar UNIT_CLASS_NAMES = $(abs_top_builddir)/unit_class_names REPRODUCERS_CLASS_NAMES = $(abs_top_builddir)/reproducers_class_names -REPRODUCERS_CLASS_WHITELIST = $(abs_top_builddir)/netx-dist-tests-whitelist +REPRODUCERS_CLASS_WHITELIST = $(abs_top_srcdir)/netx-dist-tests-whitelist EMMA_JAVA_ARGS=-Xmx2G META_MANIFEST = META-INF/MANIFEST.MF From ddadacha at redhat.com Fri May 25 07:39:11 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Fri, 25 May 2012 10:39:11 -0400 Subject: [rfc][icedtea-web] improvements to reproducers engine In-Reply-To: <4FBF3AD1.20306@redhat.com> References: <4FB8FD2B.2050907@redhat.com> <4FBBE1E6.8050502@redhat.com> <4FBCC740.9080000@redhat.com> <4FBD3AFC.6090907@redhat.com> <4FBE774C.1020501@redhat.com> <4FBE8EC2.5010103@redhat.com> <4FBF3AD1.20306@redhat.com> Message-ID: <4FBF998F.2070906@redhat.com> On 25/05/12 03:54 AM, Jiri Vanek wrote: > On 05/24/2012 09:40 PM, Danesh Dadachanji wrote: >> >> >> On 24/05/12 02:00 PM, Jiri Vanek wrote: >>> On 05/23/2012 09:31 PM, Danesh Dadachanji wrote: >>>> On 23/05/12 07:17 AM, Jiri Vanek wrote: >>>>> On 05/22/2012 08:58 PM, Danesh Dadachanji wrote: >>>>>> Hi Jiri, >>>>>> >>>>>> On 20/05/12 10:18 AM, Jiri Vanek wrote: >>>>>>> Hi! >>>>>>> >>>>>>> During last week I was asked by Danesh and Saad to introduce more hierarchical server and >>>>>>> whitelist for reproducers. >>>>>>> The following patches should add those features. Can you guys (requesters:) mind to review if >>>>>>> they >>>>>>> match yours needs? >>>>>>> During the writing i found one bug in current implementation - redundant quotes. I fixed this in >>>>>>> third changeset. >>>>>>> Zipped attachment is example of source and result. >>>>>>> >>>>>> >>>>>> Thank you very much for doing this! Greatly appreciated! >>>>> >>>>> hhmmhmh. I'm still little bit unsure about usefulness (probably only because of lack of ideas >>>>> (except sub dirs (and so lost pacakges in >>>>> jars))... So I'm glad to hear that appreciated it ;) >>>>> >>>> >>>> Definitely, I plan to use it as soon as it goes in! >>>> >>>> [snip] >>>> >>>>>>> >>>>>>> *smallEnchancemtnsToreproducers-whiteList.diff* >>>>>>> >>>>>> >>>>>> Any thoughts on reproducers that depend on other ones' jars? For example, the spaces test and the >>>>>> info/title/vendor tests use simpletest1.jar to run. If simpletest1 is not whitelisted then the >>>>>> engine will throw failures when running them. Are we expecting testers to know which jars >>>>>> depend on >>>>>> which? If this "dependency" is not going to be checked by the Makefile, then we should definitely >>>>>> add a note to the wiki page stating the various dependencies. >>>>> >>>>> I had this on mind when I wrote it. Whitelist just filter runs, not compilation and preparation. >>>>> All reproducers (simple, signed and in >>>>> future also special) are compiled (,signed) , deployed , resources copied, testcases compiled. >>>>> But to the final list for runinning are >>>>> included just those who match the regexes in list >>>>> >>>>> I would really like to avoid some descriptions or checks in reproducers(dependences)! They can >>>>> make the engine to heavyweight. >>>> >>>> >>>> Oh my apologies for the noise, I did not realize this was just a runtime whitelist. Awesome then >>>> I am perfectly happy with the >>>> change. Feel free to push! >>>> >>>> [snip] >>>> >>>>> smallEnchancemtnsToreproducers-jarsInDirs2.diff >>>>> >>>>> >>>>> diff -r c74bf4aa138c Makefile.am >>>>> --- a/Makefile.am Wed May 23 10:42:45 2012 +0200 >>>>> +++ b/Makefile.am Wed May 23 13:06:33 2012 +0200 >>>>> @@ -544,8 +544,40 @@ >>>>> mkdir -p stamps&& \ >>>>> touch $@ >>>>> >>>>> +stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp >>>>> + pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ >>>>> + types=(simple signed); \ >>>>> + for which in "$${types[@]}" ; do \ >>>>> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >>>>> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ >>>>> + IFS="$$IFS_BACKUP" ; \ >>>>> + for dir in "$${simpleReproducers[@]}" ; do \ >>>>> + if test "$${dir:0:1}" = "." ; then \ >>>>> + echo "reproducer $$dir starts with dot. It is forbidden" ; \ >>>>> + exit 5; \ >>>>> + fi; \ >>>>> + if test "$${dir:(-1)}" = "." ; then \ >>>>> + echo "reproducer $$dir ends with dot. It is forbidden" ; \ >>>>> + exit 5; \ >>>>> + fi; \ >>>> >>>>> + q=`expr index "$$dir" .`; \ >>>>> + r=$$? ; \ >>>>> + if [ $$r = 0 ]; then \ >>>> >>>> I don't think this if-clause is needed anymore, basename/dirname are smart enough to account for >>>> this. Let's say dir="MyAwesomeTest", >>>> then path="." and file="MyAwesomeTest". Feel free to keep it there as a sanity check but I don't >>>> think it's necessary. No need to >>>> repost a patch if you just remove the if (unless other issues arise). >>> I had let it in. I think there is no need to walk through the block and copy itself to itself when >>> there is no dot. >>>> >>>>> + slashed_dir="./$${dir//.//}" ; \ >>>>> + path="`dirname $$slashed_dir`" ; \ >>>>> + file="`basename $$slashed_dir`.jar" ; \ >>>>> + echo "copying $$dir.jar to $$path as $$file" ; \ >>>>> + mkdir --parents $$path ; \ >>>>> + cp $$dir".jar" "$$path"/"$$file" ; \ >>>>> + fi ; \ >>>>> + done ; \ >>>>> + done ; \ >>>>> + popd ; \ >>>>> + mkdir -p stamps&& \ >>>>> + touch $@ >>>>> + >>>>> #this always tries to remove previous testcert >>>>> -$(EXPORTED_TEST_CERT): stamps/netx-dist-tests-sign-some-reproducers.stamp >>>>> netx-dist-tests-remove-cert-from-public >>>>> +$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public >>>>> keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass >>>>> $(PRIVATE_KEYSTORE_PASS) -keystore >>>>> $(PRIVATE_KEYSTORE_NAME) >>>>> >>>>> stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) >>>>> @@ -955,6 +987,7 @@ >>>>> rm -f stamps/netx-dist-tests-prepare-reproducers.stamp >>>>> rm -f stamps/netx-dist-tests-compile-testcases.stamp >>>>> rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp >>>>> + rm -f stamps/change-dots-to-paths.stamp >>>>> rm -f junit-jnlp-dist-simple.txt >>>>> rm -f junit-jnlp-dist-signed.txt >>>>> rm -f $(REPRODUCERS_CLASS_NAMES) >>>>> >>>> >>>> Great stuff, thanks again for doing all of this! Feel free to push to HEAD >>>> >>>> Cheers, >>>> Danesh >>> >>> Tahnx a lot! Both pushed. Custom makefiles soon unless you will be first;) >>> >> >> Tried building this again with --prefix but it failed. I missed picking up on this before, thanks >> Omair for pointing it out! >> >> diff --git a/ChangeLog b/ChangeLog >> --- a/ChangeLog >> +++ b/ChangeLog >> @@ -1,3 +1,9 @@ >> +2012-05-24 Danesh Dadachanji >> + >> + Fix use of src dir instead of build dir when whitelisting. >> + * Makefile.am (REPRODUCERS_CLASS_WHITELIST): Use abs_top_builddir instead >> + of abs_top_srcdir. >> + >> 2012-05-23 Martin Olsson >> >> * plugin/icedteanp/IcedTeaPluginUtils.cc: >> >> Okay for HEAD? > > Sure. Sorry. No problem =) Pushed: http://icedtea.classpath.org/hg/icedtea-web/rev/9d422db340b8 Cheers, Danesh From adinn at redhat.com Fri May 25 07:40:39 2012 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 25 May 2012 15:40:39 +0100 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <4FB53B33.8090505@redhat.com> References: <201003111123.o2BBNT7J010860@mint.camswl.com> <4FB53B33.8090505@redhat.com> Message-ID: <4FBF99E7.8030603@redhat.com> On 17/05/12 18:53, Andrew Haley wrote: > This is the big patch from Mar 2010: > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008662.html > merged into the HS22 codebase. I've done basic testing on it, and this > includes a bootstrap build. I'm sorry it's so big, but it's not really > possible to separate things. Ok, so this has been reviewed by eyeballing the patch and by building it and running SpecJVM. >From inspection the code seems to be ok (in so far as one can assess such a thing by eye) modulo one tiny error in thumb2.cpp at line 6141 (that's post patch) @@ -6558,7 +6137,7 @@ r = JSTACK_REG(jstack); PUSH(jstack, r); if (tos_type == btos) - ldrsb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); + ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); else if (tos_type == ctos) ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); else if (tos_type == stos) For some reason the byte load has been changed to unsigned but it really ought to be signed. Running SpecJVM unearthed an error which appears to have been there all along and so is only being made manifest by the patch, viz that stacked return values are not copied through from old to new (nursery) space if we enter a garbage collect at a return point in either compiled /or/ interpreted code. They need to be written back to the frame before a safepoint is entered. Other than this the tests manifested no errors. The patch improve some SpecJVM scores buut not to any great degree. Whether this indicates something about the weakness of benchmarks or the lack of benefit provided by the patch is an open question. Given the above results (and modulo a fix to the code indicated above) I suggest pushing this patch into 7.2.1 regards, Andrew Dinn ----------- From martin at minimum.se Wed May 23 07:45:06 2012 From: martin at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 16:45:06 +0200 (CEST) Subject: which package do I need to avoid: "package org.junit does not exist" Message-ID: When I try to run tests using: rm -rf ~/ice mkdir ~/ice ./autogen.sh ./configure --prefix=/home/molsson/ice --with-jdk-home=/usr/lib/jvm/java-6-openjdk-amd64 make make check make install make run-netx-dist-tests Then I get this error: tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java:42: package org.junit does not exist Full error: http://pastebin.com/4MTg03ni ...I assume I need to install some missing package (junit?), any ideas on which one? I'm on Ubuntu 12.04 From martin at minimum.se Wed May 23 07:46:58 2012 From: martin at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 16:46:58 +0200 (CEST) Subject: [PATCH] fix mutex related crash + cleanup .hgignore Message-ID: Two patches for icedtea-web attached. -------------- next part -------------- A non-text attachment was scrubbed... Name: iced_hgignore.patch Type: application/octet-stream Size: 1034 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/6c4cbb83/iced_hgignore.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: g_mutex_free.patch Type: application/octet-stream Size: 1347 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120523/6c4cbb83/g_mutex_free.patch From martin at minimum.se Wed May 23 07:50:19 2012 From: martin at minimum.se (Martin Olsson) Date: Wed, 23 May 2012 16:50:19 +0200 (CEST) Subject: vm_start_mutex use in IcedTeaNPPlugin.cc looks fishy Message-ID: <4a36b63f52f37fb4a236cb388418ea49.squirrel@webmail.minimum.se> The usage of "vm_start_mutex" in IcedTeaNPPlugin.cc looks buggy to me. Won't each thread just create and lock it's own mutex, thereby voiding the raison d'?tre of the mutex? Martin From martin at minimum.se Thu May 24 11:43:55 2012 From: martin at minimum.se (Martin Olsson) Date: Thu, 24 May 2012 20:43:55 +0200 Subject: /hg/icedtea-web: 3 new changesets In-Reply-To: <1337870434.29231.10.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337870434.29231.10.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FBE816B.4080107@minimum.se> dont_free_stack_var.patch is still not merged. Martin On 05/24/2012 04:40 PM, Adam Domurad wrote: > I hope sincerely I properly backed-out and re-applied. Everything looks > good when I do hg diff -r392:f6eddd071004 to me. Sorry for the mess! At > least I learned some stuff about mercurial in the process. > > > On Thu, 2012-05-24 at 14:34 +0000, adomurad at icedtea.classpath.org wrote: >> changeset f19299dd8144 in /hg/icedtea-web >> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f19299dd8144 >> author: Adam Domurad >> date: Thu May 24 10:21:14 2012 -0400 >> >> Backed out changeset 43a78616b1dd >> >> >> changeset bb68413d52fb in /hg/icedtea-web >> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=bb68413d52fb >> author: Adam Domurad >> date: Thu May 24 10:28:47 2012 -0400 >> >> Finished commit rollbacks. >> >> >> changeset 2c4154754aef in /hg/icedtea-web >> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2c4154754aef >> author: Adam Domurad >> date: Thu May 24 10:31:44 2012 -0400 >> >> Reapplied the patches, sorry for the mess! >> >> >> diffstat: >> >> ChangeLog | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- >> 1 files changed, 49 insertions(+), 9 deletions(-) >> >> diffs (75 lines): >> >> diff -r 43a78616b1dd -r 2c4154754aef ChangeLog >> --- a/ChangeLog Thu May 24 09:12:38 2012 -0400 >> +++ b/ChangeLog Thu May 24 10:31:44 2012 -0400 >> @@ -2,6 +2,46 @@ >> * plugin/icedteanp/IcedTeaPluginUtils.cc: >> Fix two typos. >> >> +2012-05-23 Deepak Bhole >> + >> + * AUTHORS: Added Martin Olsson to list. >> + >> +2012-05-23 Martin Olsson >> + >> + * plugin/icedteanp/IcedTeaNPPlugin.cc: >> + Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes >> + crash). >> + >> +2012-05-23 Deepak Bhole >> + >> + * ChangeLog: Converted spaces to tabs in an older entry >> + >> +2012-05-23 Jiri Vanek >> + >> + * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error >> + in PBadNonrelativeUrl >> + >> +2012-05-23 Jiri Vanek >> + >> + Added more debugging outputs >> + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: >> + (getCodeSourceSecurity): added output message when no SecurityDesc is found >> + for some url/resource >> + * netx/net/sourceforge/jnlp/resources/Messages.properties: added LNoSecInstance >> + and LCertFoundIn values >> + * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): >> + new method, able to search for file used for creating of KeyStore if possible >> + * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) >> + using getPathToKeystore for debug output >> + >> +2012-05-23 Jiri Vanek >> + >> + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): >> + Any exception from this method is consumed somewhere. I have cough exception, >> + reprint it in debug mode and re-throw (to be lost). Main condition in this >> + method had several possible NullPointer exceptions. Separated and thrown before >> + this condition. >> + >> 2012-05-23 Jiri Vanek >> >> Enhanced about dialog >> @@ -22,15 +62,15 @@ >> >> 2012-05-22 Adam Domurad >> >> - Changed allocation of small, fixed-size buffers to stack-based >> - allocations. Changed occurences of sprintf to the safer function >> - snprintf, added buffer information. While unlikely to change >> - functionality, snprintf adds an extra check to prevent buffer >> - overflows. >> - * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers >> - using malloc changed to stack allocation& changed sprintf calls to >> - buffer-size aware snprintf calls. >> - * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. >> + Changed allocation of small, fixed-size buffers to stack-based >> + allocations. Changed occurences of sprintf to the safer function >> + snprintf, added buffer information. While unlikely to change >> + functionality, snprintf adds an extra check to prevent buffer >> + overflows. >> + * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers >> + using malloc changed to stack allocation& changed sprintf calls to >> + buffer-size aware snprintf calls. >> + * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. >> >> 2012-05-22 Jiri Vanek >> > > > From ptisnovs at redhat.com Fri May 25 08:25:14 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 25 May 2012 17:25:14 +0200 Subject: [rfc][icedtea-web] Simple for-each loop style patch In-Reply-To: <1337954182.13666.5.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337954182.13666.5.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FBFA45A.1030307@redhat.com> Adam Domurad wrote: > Hey all. I find the for-each syntax that Java 1.5 to be pretty clear in > intent when it comes to data structure iteration. I went through the > code and changed some occurrences of explicit index/iterator loops to > for-each. Hi Adam, your changes are correct, ok for HEAD. Cheers, Pavel > > OK for HEAD ? (Ran with run-netx-dist-tests with 21/104 failures) > > Changelog: > 2012-05-25 Adam Domurad > > Changed for-loops over iterators and indices to for-each loops if they > were sufficient and clearer. > *netx/net/sourceforge/jnlp/JNLPFile.java: Changed for-loops that could > be expressed more clearly as for-each loops. > *netx/net/sourceforge/jnlp/PluginBridge.java: Same > *netx/net/sourceforge/jnlp/ResourcesDesc.java: Same > *netx/net/sourceforge/jnlp/cache/CacheUtil.java: Same > *netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: Same > *netx/net/sourceforge/jnlp/cache/Resource.java: Same > *netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Same > *netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: Same > *netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Same > *plugin/icedteanp/java/netscape/javascript/JSObject.java: Same > *plugin/icedteanp/java/sun/applet/JavaConsole.java: Same > *plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Same > > > > > From adomurad at icedtea.classpath.org Fri May 25 08:24:26 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Fri, 25 May 2012 15:24:26 +0000 Subject: /hg/icedtea-web: Introduced constant NUM_STR_BUFFER_SIZE to repl... Message-ID: changeset 082f04822f12 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=082f04822f12 author: Adam Domurad date: Fri May 25 11:23:47 2012 -0400 Introduced constant NUM_STR_BUFFER_SIZE to replace magic constants. Clarified some uses of snprintf. diffstat: ChangeLog | 13 ++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +- plugin/icedteanp/IcedTeaPluginUtils.cc | 106 +++++++++++++++----------------- plugin/icedteanp/IcedTeaPluginUtils.h | 4 + 4 files changed, 71 insertions(+), 58 deletions(-) diffs (199 lines): diff -r 9d422db340b8 -r 082f04822f12 ChangeLog --- a/ChangeLog Fri May 25 10:34:24 2012 -0400 +++ b/ChangeLog Fri May 25 11:23:47 2012 -0400 @@ -1,3 +1,16 @@ +2012-05-23 Adam Domurad + Removed instances of snprintf where buffer size was not known. Added + buffer size constant for allocating buffers for numeric conversions. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Removed usage of snprintf for + simple blanking of strings. Buffer size was misguided previously. + Used NUM_STR_BUFFER_SIZE constant to replace magic numbers/ + * plugin/icedteanp/IcedTeaPluginUtils.cc: Made + NPVariantToString(NPVariant variant, std::string* result) use two + space indentation. Used NUM_STR_BUFFER_SIZE constant to replace magic + numbers. + * plugin/icedteanp/IcedTeaPluginUtils.h: Added constant, + NUM_STR_BUFFER_SIZE. + 2012-05-24 Danesh Dadachanji Fix use of src dir instead of build dir when whitelisting. diff -r 9d422db340b8 -r 082f04822f12 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri May 25 10:34:24 2012 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri May 25 11:23:47 2012 -0400 @@ -1227,9 +1227,9 @@ { // clear the "instance X status" parts - snprintf(parts[0], sizeof(""), ""); - snprintf(parts[1], sizeof(""), ""); - snprintf(parts[2], sizeof(""), ""); + strcpy(parts[0], ""); + strcpy(parts[1], ""); + strcpy(parts[2], ""); // join the rest gchar* status_message = g_strjoinv(" ", parts); diff -r 9d422db340b8 -r 082f04822f12 plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Fri May 25 10:34:24 2012 -0400 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Fri May 25 11:23:47 2012 -0400 @@ -146,16 +146,15 @@ void IcedTeaPluginUtilities::JSIDToString(void* id, std::string* result) { - - char id_str[20]; // max = long long = 8446744073709551615 == 19 chars + char id_str[NUM_STR_BUFFER_SIZE]; if (sizeof(void*) == sizeof(long long)) { - snprintf(id_str, sizeof(id_str), "%llu", id); + snprintf(id_str, NUM_STR_BUFFER_SIZE, "%llu", id); } else { - snprintf(id_str, sizeof(id_str), "%lu", id); // else use long + snprintf(id_str, NUM_STR_BUFFER_SIZE, "%lu", id); // else use long } result->append(id_str); @@ -256,9 +255,8 @@ void IcedTeaPluginUtilities::itoa(int i, std::string* result) { - // largest possible integer is 10 digits long - char int_str[11]; - snprintf(int_str, sizeof(int_str), "%d", i); + char int_str[NUM_STR_BUFFER_SIZE]; + snprintf(int_str, NUM_STR_BUFFER_SIZE, "%d", i); result->append(int_str); } @@ -368,12 +366,11 @@ ostream << length; - // UTF-8 characters are 4-bytes max + space + '\0' - char hex_value[10]; + char hex_value[NUM_STR_BUFFER_SIZE]; for (int i = 0; i < str->length(); i++) { - snprintf(hex_value, sizeof(hex_value)," %hx", str->at(i)); + snprintf(hex_value, NUM_STR_BUFFER_SIZE," %hx", str->at(i)); ostream << hex_value; } @@ -679,54 +676,53 @@ void IcedTeaPluginUtilities::NPVariantToString(NPVariant variant, std::string* result) { - char str[32]; // enough for everything except string - char* largestr = NULL; - - if (NPVARIANT_IS_VOID(variant)) - { - snprintf(str, sizeof(str), "%p", variant); - } - else if (NPVARIANT_IS_NULL(variant)) - { - snprintf(str, sizeof(str), "NULL"); - } - else if (NPVARIANT_IS_BOOLEAN(variant)) - { - if (NPVARIANT_TO_BOOLEAN(variant)) - snprintf(str, sizeof(str), "true"); - else - snprintf(str, sizeof(str), "false"); - } - else if (NPVARIANT_IS_INT32(variant)) - { - snprintf(str, sizeof(str), "%d", NPVARIANT_TO_INT32(variant)); - } - else if (NPVARIANT_IS_DOUBLE(variant)) - { - snprintf(str, sizeof(str), "%f", NPVARIANT_TO_DOUBLE(variant));; - } - else if (NPVARIANT_IS_STRING(variant)) - { + char str[NUM_STR_BUFFER_SIZE]; // enough for everything except string + char* largestr = NULL; + if (NPVARIANT_IS_VOID(variant)) + { + snprintf(str, NUM_STR_BUFFER_SIZE, "%p", variant); + } + else if (NPVARIANT_IS_NULL(variant)) + { + snprintf(str, NUM_STR_BUFFER_SIZE, "NULL"); + } + else if (NPVARIANT_IS_BOOLEAN(variant)) + { + if (NPVARIANT_TO_BOOLEAN(variant)) + snprintf(str, NUM_STR_BUFFER_SIZE, "true"); + else + snprintf(str, NUM_STR_BUFFER_SIZE, "false"); + } + else if (NPVARIANT_IS_INT32(variant)) + { + snprintf(str, NUM_STR_BUFFER_SIZE, "%d", NPVARIANT_TO_INT32(variant)); + } + else if (NPVARIANT_IS_DOUBLE(variant)) + { + snprintf(str, NUM_STR_BUFFER_SIZE, "%f", NPVARIANT_TO_DOUBLE(variant)); + } + else if (NPVARIANT_IS_STRING(variant)) + { #if MOZILLA_VERSION_COLLAPSED < 1090200 - size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length; - largestr = (char*) malloc(buffersize); - snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).utf8characters); + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).utf8length; + largestr = (char*) malloc(buffersize); + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).utf8characters); #else - size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length; - largestr = (char*) malloc(buffersize); - snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); + size_t buffersize = sizeof(char)*NPVARIANT_TO_STRING(variant).UTF8Length; + largestr = (char*) malloc(buffersize); + snprintf(str, buffersize, "%s", NPVARIANT_TO_STRING(variant).UTF8Characters); #endif - } - else - { - snprintf(str, sizeof(str), "[Object %p]", variant); - } - if (largestr != NULL){ - result->append(largestr); - free(largestr); - } else { - result->append(str); - } + } + else + { + snprintf(str, NUM_STR_BUFFER_SIZE, "[Object %p]", variant); + } + if (largestr != NULL){ + result->append(largestr); + free(largestr); + } else { + result->append(str); + } } bool diff -r 9d422db340b8 -r 082f04822f12 plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Fri May 25 10:34:24 2012 -0400 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Fri May 25 11:23:47 2012 -0400 @@ -96,6 +96,10 @@ (*c >= 'a' && *c <= 'f') || \ (*c >= 'A' && *c <= 'F')) +//long long max ~ 19 chars + terminator +//leave some room for converting strings like " = %d" +const size_t NUM_STR_BUFFER_SIZE = 32; + /* * This struct holds data specific to a Java operation requested by the plugin */ From adomurad at icedtea.classpath.org Fri May 25 08:44:55 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Fri, 25 May 2012 15:44:55 +0000 Subject: /hg/icedtea-web: Changed for-loops over iterators and indices to... Message-ID: changeset 6df151bb5320 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6df151bb5320 author: Adam Domurad date: Fri May 25 11:44:13 2012 -0400 Changed for-loops over iterators and indices to for-each loops if they were sufficient and clearer. diffstat: ChangeLog | 18 ++++ netx/net/sourceforge/jnlp/JNLPFile.java | 4 +- netx/net/sourceforge/jnlp/PluginBridge.java | 4 +- netx/net/sourceforge/jnlp/ResourcesDesc.java | 17 ++-- netx/net/sourceforge/jnlp/cache/CacheUtil.java | 31 ++++---- netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 8 +- netx/net/sourceforge/jnlp/cache/Resource.java | 3 +- netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 37 ++++----- netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 4 +- netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 7 +- plugin/icedteanp/java/netscape/javascript/JSObject.java | 11 +- plugin/icedteanp/java/sun/applet/JavaConsole.java | 4 +- plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 4 +- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 22 ++-- 14 files changed, 94 insertions(+), 80 deletions(-) diffs (422 lines): diff -r 082f04822f12 -r 6df151bb5320 ChangeLog --- a/ChangeLog Fri May 25 11:23:47 2012 -0400 +++ b/ChangeLog Fri May 25 11:44:13 2012 -0400 @@ -1,3 +1,21 @@ +2012-05-25 Adam Domurad + + Changed for-loops over iterators and indices to for-each loops if they + were sufficient and clearer. + * netx/net/sourceforge/jnlp/JNLPFile.java: Changed for-loops that could + be expressed more clearly as for-each loops. + * netx/net/sourceforge/jnlp/PluginBridge.java: Same + * netx/net/sourceforge/jnlp/ResourcesDesc.java: Same + * netx/net/sourceforge/jnlp/cache/CacheUtil.java: Same + * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: Same + * netx/net/sourceforge/jnlp/cache/Resource.java: Same + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Same + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: Same + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Same + * plugin/icedteanp/java/netscape/javascript/JSObject.java: Same + * plugin/icedteanp/java/sun/applet/JavaConsole.java: Same + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Same + 2012-05-23 Adam Domurad Removed instances of snprintf where buffer size was not known. Added buffer size constant for allocating buffers for numeric conversions. diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Fri May 25 11:44:13 2012 -0400 @@ -396,9 +396,7 @@ public List getResources(Class launchType) { List result = new ArrayList(); - for (int i = 0; i < resources.size(); i++) { - ResourcesDesc rescDesc = resources.get(i); - + for (ResourcesDesc rescDesc : resources) { if (localMatches(locale, rescDesc.getLocales()) && stringMatches(os, rescDesc.getOS()) && stringMatches(arch, rescDesc.getArch())) diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/PluginBridge.java --- a/netx/net/sourceforge/jnlp/PluginBridge.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/PluginBridge.java Fri May 25 11:44:13 2012 -0400 @@ -204,9 +204,7 @@ List jarDescs = new ArrayList(); jarDescs.addAll(sharedResources.getResources(JARDesc.class)); - Iterator it = jars.iterator(); - while(it.hasNext()) { - String name = it.next(); + for (String name : jars) { if (name.length() > 0) jarDescs.add(new JARDesc(new URL(codeBase, name), null, null, false, true, false, true)); diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/ResourcesDesc.java --- a/netx/net/sourceforge/jnlp/ResourcesDesc.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/ResourcesDesc.java Fri May 25 11:44:13 2012 -0400 @@ -75,9 +75,10 @@ public JARDesc getMainJAR() { JARDesc jars[] = getJARs(); - for (int i = 0; i < jars.length; i++) - if (jars[i].isMain()) - return jars[i]; + for (JARDesc jar : jars) { + if (jar.isMain()) + return jar; + } if (jars.length > 0) return jars[0]; @@ -160,8 +161,7 @@ public Map getPropertiesMap() { Map properties = new HashMap(); List resources = getResources(PropertyDesc.class); - for (int i = 0; i < resources.size(); i++) { - PropertyDesc prop = resources.get(i); + for (PropertyDesc prop : resources) { properties.put(prop.getKey(), prop.getValue()); } @@ -205,9 +205,10 @@ public List getResources(Class type) { List result = new ArrayList(); - for (int i = 0; i < resources.size(); i++) - if (type.isAssignableFrom(resources.get(i).getClass())) - result.add(type.cast(resources.get(i))); + for (Object resource : resources) { + if (type.isAssignableFrom(resource.getClass())) + result.add(type.cast(resource)); + } return result; } diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri May 25 11:44:13 2012 -0400 @@ -500,9 +500,9 @@ // only resources not starting out downloaded are displayed List urlList = new ArrayList(); - for (int i = 0; i < resources.length; i++) { - if (!tracker.checkResource(resources[i])) - urlList.add(resources[i]); + for (URL url : resources) { + if (!tracker.checkResource(url)) + urlList.add(url); } URL undownloaded[] = urlList.toArray(new URL[urlList.size()]); @@ -512,28 +512,29 @@ long read = 0; long total = 0; - for (int i = 0; i < undownloaded.length; i++) { + for (URL url : undownloaded) { // add in any -1's; they're insignificant - total += tracker.getTotalSize(undownloaded[i]); - read += tracker.getAmountRead(undownloaded[i]); + total += tracker.getTotalSize(url); + read += tracker.getAmountRead(url); } int percent = (int) ((100 * read) / Math.max(1, total)); - for (int i = 0; i < undownloaded.length; i++) - listener.progress(undownloaded[i], "version", - tracker.getAmountRead(undownloaded[i]), - tracker.getTotalSize(undownloaded[i]), + for (URL url : undownloaded) { + listener.progress(url, "version", + tracker.getAmountRead(url), + tracker.getTotalSize(url), percent); + } } while (!tracker.waitForResources(resources, indicator.getUpdateRate())); // make sure they read 100% until indicator closes - for (int i = 0; i < undownloaded.length; i++) - listener.progress(undownloaded[i], "version", - tracker.getTotalSize(undownloaded[i]), - tracker.getTotalSize(undownloaded[i]), + for (URL url : undownloaded) { + listener.progress(url, "version", + tracker.getTotalSize(url), + tracker.getTotalSize(url), 100); - + } } catch (InterruptedException ex) { if (JNLPRuntime.isDebug()) ex.printStackTrace(); diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java --- a/netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java Fri May 25 11:44:13 2012 -0400 @@ -106,9 +106,11 @@ frame.getContentPane().setLayout(new GridBagLayout()); } - if (resources != null) - for (int i = 0; i < resources.length; i++) - result.addProgressPanel(resources[i], null); + if (resources != null) { + for (URL url : resources) { + result.addProgressPanel(url, null); + } + } frame.getContentPane().add(result, vertical); frame.pack(); diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/cache/Resource.java --- a/netx/net/sourceforge/jnlp/cache/Resource.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/Resource.java Fri May 25 11:44:13 2012 -0400 @@ -272,8 +272,7 @@ send = trackers.hardList(); } - for (int i = 0; i < send.size(); i++) { - ResourceTracker rt = send.get(i); + for (ResourceTracker rt : send) { rt.fireDownloadEvent(this); } } diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Fri May 25 11:44:13 2012 -0400 @@ -331,13 +331,13 @@ } DownloadEvent event = new DownloadEvent(this, resource); - for (int i = 0; i < l.length; i++) { + for (DownloadListener dl : l) { if (0 != ((ERROR | DOWNLOADED) & status)) - l[i].downloadCompleted(event); + dl.downloadCompleted(event); else if (0 != (DOWNLOADING & status)) - l[i].downloadStarted(event); + dl.downloadStarted(event); else if (0 != (CONNECTING & status)) - l[i].updateStarted(event); + dl.updateStarted(event); } } @@ -449,8 +449,9 @@ synchronized (resources) { // keep the lock so getResource doesn't have to aquire it each time - for (int i = 0; i < urls.length; i++) + for (int i = 0; i < urls.length; i++) { resources[i] = getResource(urls[i]); + } } if (resources.length > 0) @@ -868,8 +869,7 @@ resource.toString() + " : " + urls); } URL bestUrl = null; - for (int i = 0; i < urls.size(); i++) { - URL url = urls.get(i); + for (URL url : urls) { try { URLConnection connection = url.openConnection(); connection.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip"); @@ -999,8 +999,7 @@ Resource result = null; int score = Integer.MAX_VALUE; - for (int i = 0; i < source.size(); i++) { - Resource resource = source.get(i); + for (Resource resource : source) { boolean selectable = false; synchronized (resource) { @@ -1011,9 +1010,10 @@ if (selectable) { int activeCount = 0; - for (int j = 0; j < active.size(); j++) - if (active.get(j) == resource.getTracker()) + for (ResourceTracker rt : active) { + if (rt == resource.getTracker()) activeCount++; + } // try to spread out the downloads so that a slow host // won't monopolize the downloads @@ -1034,9 +1034,7 @@ */ private Resource getResource(URL location) { synchronized (resources) { - for (int i = 0; i < resources.size(); i++) { - Resource resource = resources.get(i); - + for (Resource resource : resources) { if (CacheUtil.urlEquals(resource.location, location)) return resource; } @@ -1058,8 +1056,9 @@ long startTime = System.currentTimeMillis(); // start them downloading / connecting in background - for (int i = 0; i < resources.length; i++) - startResource(resources[i]); + for (Resource resource : resources) { + startResource(resource); + } // wait for completion while (true) { @@ -1067,11 +1066,11 @@ synchronized (lock) { // check for completion - for (int i = 0; i < resources.length; i++) { + for (Resource resource : resources) { //NetX Deadlocking may be solved by removing this //synch block. - synchronized (resources[i]) { - if (!resources[i].isSet(DOWNLOADED | ERROR)) { + synchronized (resource) { + if (!resource.isSet(DOWNLOADED | ERROR)) { finished = false; break; } diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java --- a/netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java Fri May 25 11:44:13 2012 -0400 @@ -116,8 +116,8 @@ destroyed = true; List clips = weakClips.hardList(); - for (int i = 0; i < clips.size(); i++) { - clips.get(i).dispose(); + for (AppletAudioClip clip : clips) { + clip.dispose(); } } diff -r 082f04822f12 -r 6df151bb5320 netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java --- a/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Fri May 25 11:23:47 2012 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java Fri May 25 11:44:13 2012 -0400 @@ -231,8 +231,8 @@ PrivilegedAction installProps = new PrivilegedAction() { public Object run() { - for (int i = 0; i < props.length; i++) { - System.setProperty(props[i].getKey(), props[i].getValue()); + for (PropertyDesc propDesc : props) { + System.setProperty(propDesc.getKey(), propDesc.getValue()); } return null; @@ -272,8 +272,7 @@ try { // destroy resources - for (int i = 0; i < weakWindows.size(); i++) { - Window w = weakWindows.get(i); + for (Window w : weakWindows) { if (w != null) w.dispose(); } diff -r 082f04822f12 -r 6df151bb5320 plugin/icedteanp/java/netscape/javascript/JSObject.java --- a/plugin/icedteanp/java/netscape/javascript/JSObject.java Fri May 25 11:23:47 2012 -0400 +++ b/plugin/icedteanp/java/netscape/javascript/JSObject.java Fri May 25 11:44:13 2012 -0400 @@ -130,9 +130,9 @@ StackTraceElement[] stack = Thread.currentThread().getStackTrace(); boolean mayProceed = false; - for (int i = 0; i < stack.length; i++) { - if (stack[i].getClassName().equals("netscape.javascript.JSObject") && - stack[i].getMethodName().equals("getWindow")) { + for (StackTraceElement element : stack) { + if (element.getClassName().equals("netscape.javascript.JSObject") && + element.getMethodName().equals("getWindow")) { mayProceed = true; } } @@ -209,8 +209,9 @@ args = new Object[0]; PluginDebug.debug("JSObject.call ", methodName); - for (int i = 0; i < args.length; i++) - PluginDebug.debug(" ", args[i]); + for (Object arg : args) { + PluginDebug.debug(" ", arg); + } PluginDebug.debug(""); return PluginAppletViewer.call(internal, methodName, args); } diff -r 082f04822f12 -r 6df151bb5320 plugin/icedteanp/java/sun/applet/JavaConsole.java --- a/plugin/icedteanp/java/sun/applet/JavaConsole.java Fri May 25 11:23:47 2012 -0400 +++ b/plugin/icedteanp/java/sun/applet/JavaConsole.java Fri May 25 11:44:13 2012 -0400 @@ -308,8 +308,8 @@ boolean toShowConsole = false; - for (int i = 0; i < args.length; i++) { - if (args[i] == "--show-console") { + for (String arg : args) { + if ("--show-console".equals(arg)) { toShowConsole = true; } } diff -r 082f04822f12 -r 6df151bb5320 plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java Fri May 25 11:23:47 2012 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java Fri May 25 11:44:13 2012 -0400 @@ -1295,9 +1295,7 @@ Permissions grantedPermissions = new Permissions(); - for (int i = 0; i < nsPrivilegeList.length; i++) { - String privilege = nsPrivilegeList[i]; - + for (String privilege : nsPrivilegeList) { if (privilege.equals("UniversalBrowserRead")) { BrowserReadPermission bp = new BrowserReadPermission(); grantedPermissions.add(bp); diff -r 082f04822f12 -r 6df151bb5320 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri May 25 11:23:47 2012 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri May 25 11:44:13 2012 -0400 @@ -237,27 +237,27 @@ // ","-separated list. No error-checking will be done on the list. String[] events = eventList.split(","); - for (int i = 0; i < events.length; i++) { - PluginDebug.debug("Adding event to queue: ", events[i]); - if (events[i].equals("dispose")) + for (String event : events) { + PluginDebug.debug("Adding event to queue: ", event); + if ("dispose".equals(event)) panel.sendEvent(AppletPanel.APPLET_DISPOSE); - else if (events[i].equals("load")) + else if ("load".equals(event)) panel.sendEvent(AppletPanel.APPLET_LOAD); - else if (events[i].equals("init")) + else if ("init".equals(event)) panel.sendEvent(AppletPanel.APPLET_INIT); - else if (events[i].equals("start")) + else if ("start".equals(event)) panel.sendEvent(AppletPanel.APPLET_START); - else if (events[i].equals("stop")) + else if ("stop".equals(event)) panel.sendEvent(AppletPanel.APPLET_STOP); - else if (events[i].equals("destroy")) + else if ("destroy".equals(event)) panel.sendEvent(AppletPanel.APPLET_DESTROY); - else if (events[i].equals("quit")) + else if ("quit".equals(event)) panel.sendEvent(AppletPanel.APPLET_QUIT); - else if (events[i].equals("error")) + else if ("error".equals(event)) panel.sendEvent(AppletPanel.APPLET_ERROR); else // non-fatal error if we get an unrecognized event - PluginDebug.debug("Unrecognized event name: ", events[i]); + PluginDebug.debug("Unrecognized event name: ", event); } while (!panel.emptyEventQueue()) From ddadacha at redhat.com Fri May 25 12:08:46 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Fri, 25 May 2012 15:08:46 -0400 Subject: [rfc] [icedtea-web] get rid of repated sout/serr in reproducers testcases In-Reply-To: <4FBF8140.3000705@redhat.com> References: <4FBF8140.3000705@redhat.com> Message-ID: <4FBFD8BE.1060806@redhat.com> On 25/05/12 08:55 AM, Jiri Vanek wrote: > Hi! > > I would like to get rid of repeating std out/err reprint in reproducers by moving this into ServerAccess class. This patch is adding > simple loging interface for stdout/err and (mainly) is hiding reprinting (logging since now:-) of processes out/err and "connectng: " > message into executeProcess. > > My goal in longer term is to have html file (generated from logged xml file probably) which I will be able to link (anchor inlcuded) > from current test results html files.And so I will be able to quickly find whats wrong. Now it is becoming little bit painfull. >(Both > stdou/err of processes and searching in looong output file) > > Saad, Danesh - you have number of reproducers in development. Please count with this change. > > Thanks for letting us know. I have some comments below. Could you also add a ChangeLog entry? > diff -r 2c84a314c411 tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java > --- a/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Thu May 24 15:37:30 2012 -0400 > +++ b/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Fri May 25 14:36:05 2012 +0200 > @@ -168,12 +156,15 @@ > if (old.contains(string)) { > continue; > } > - System.out.println("Killing " + string); > - ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"kill", "-9", string})); > + ServerAccess.logO("Killing " + string); Add a space for indenting please! (Surprised I caught this even, guess it just happened to stand :/ ) [snip] > @@ -181,23 +172,26 @@ > private static List countJavaInstances() throws Exception { > ensureLinux(); > List result = new ArrayList(); > - ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"ps", "-eo", "pid,ppid,stat,fname"})); > - Matcher m = Pattern.compile("\\s*\\d+\\s+\\d+ .+ java\\s*").matcher(pr.stdout); > - //System.out.println(pr.stdout); > - //System.err.println(pr.stderr); > + ServerAccess.PROCES_LOG = false; > + try { > + ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"ps", "-eo", "pid,ppid,stat,fname"})); > + Matcher m = Pattern.compile("\\s*\\d+\\s+\\d+ .+ java\\s*").matcher(pr.stdout); > int i = 0; > while (m.find()) { > i++; > String ss = m.group(); > - //System.out.println(i+": "+ss); > + //ServerAccess.logO(i+": "+ss); > result.add(ss.trim().split("\\s+")[0]); > } > + } finally { > + ServerAccess.PROCES_LOG = true; > + } Indentation of this chunk looks a bit off, could you double check it? [snip] > diff -r 2c84a314c411 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java > --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Thu May 24 15:37:30 2012 -0400 > +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Fri May 25 14:36:05 2012 +0200 > @@ -116,6 +116,10 @@ > * all terminated processes are stored here. As wee need to 'wait' to termination to be finished. > */ > private static Set terminated = new HashSet(); > + /** > + * this flag is indicating whether ooutput of executeProcess should be logged. By default true. > + */ s/ooutput/output/ I think also for style, we use single lined comments for class vars - /** + public static boolean PROCES_LOG=true; > Could you refactor this so that it's s/PROCES/PROCESS/ Also, there are lots of missing spaces in this patch, e.g. around the '=' above. Could you please space correctly, thanks! > /** > * main method of this class prints out random free port > @@ -720,9 +724,72 @@ > return executeProcess(args, dir, null, null); > } > > - public static ProcessResult executeProcess(final List args,File dir,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { > > - ThreadedProcess t = new ThreadedProcess(args,dir); > + private static String createConnectionMessage(ThreadedProcess t) { > + return "Connecting " + t.getCommandLine(); > + } > + > + public static void logE(String s) { > + log(s, false, true); > + } > + > + public static void logO(String s) { > + log(s, true, false); > + } > + Could you name these logStdErr and logStdOut instead? Either that or add javadoc please. Seeing these outside of this class may throw some newcomers off. > + private static void log(String message, boolean out, boolean err) { > + String idded; > + StackTraceElement ste = getTestMethod(); > + String fullId=ste.getClassName()+"."+ste.getMethodName(); > + if (message.contains("\n")) { > + idded = fullId + ": \n" + message+"\n"+fullId+" ---"; > + } else { > + idded = fullId + ": " + message; > + > + } > + if (out) { > + System.out.println(idded); > + } > + if (err) { > + System.err.println(idded); > + } > + } > + Again, could you name the bools printToOut and printToErr? Thanks for doing this! Cheers, Danesh From adomurad at redhat.com Fri May 25 12:17:48 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 25 May 2012 15:17:48 -0400 Subject: [rfc][icedtea-web] Ignore invalid .jar files specified for plugin Message-ID: <1337973468.323.4.camel@voip-10-15-18-79.yyz.redhat.com> So, first patch that isn't something trivial, I'll definitely need people to weigh in on this one. The proprietary plug-in seems to just skip over any malformed .jar files and carry on loading. This patch emulates that behaviour. This alleviates some of the symptoms of http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 However, the plugin should still parse folders differently and look for resources in folders like the proprietary plug-in does. ChangeLog: 2012-05-25 Adam Domurad Ignore invalid jar files, like the oracle plugin does. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Added extra possible verification result, INVALID_JAR. This value occurs if the .jar file could not be properly loaded. The .jar file is then ignored. -------------- next part -------------- A non-text attachment was scrubbed... Name: ignore-invalid-jars.patch Type: text/x-patch Size: 4634 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120525/6ba98cdf/ignore-invalid-jars.patch From adomurad at redhat.com Fri May 25 12:54:46 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 25 May 2012 15:54:46 -0400 Subject: [rfc][icedtea-web] Ignore invalid .jar files specified for plugin In-Reply-To: <1337973468.323.4.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337973468.323.4.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <1337975686.323.6.camel@voip-10-15-18-79.yyz.redhat.com> So, I realize after some thought that this probably shouldn't be in JarCertVerifier. However this is where the .jar files are uncompressed and thus the location where the ZipException could be caught and dealt with. Suggestions ? To be sure the .jar files are valid they must be unzipped first, via new JarFile(...). On Fri, 2012-05-25 at 15:17 -0400, Adam Domurad wrote: > So, first patch that isn't something trivial, I'll definitely need > people to weigh in on this one. > > The proprietary plug-in seems to just skip over any malformed .jar files > and carry on loading. This patch emulates that behaviour. > This alleviates some of the symptoms of > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 > However, the plugin should still parse folders differently and look for > resources in folders like the proprietary plug-in does. > > ChangeLog: > 2012-05-25 Adam Domurad > > Ignore invalid jar files, like the oracle plugin does. > * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Added extra > possible verification result, INVALID_JAR. This value occurs if the > .jar file could not be properly loaded. The .jar file is then ignored. From thomas at m3y3r.de Fri May 25 14:06:37 2012 From: thomas at m3y3r.de (Thomas Meyer) Date: Fri, 25 May 2012 23:06:37 +0200 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <4FBE3A89.9000203@redhat.com> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> <4FBE3A89.9000203@redhat.com> Message-ID: <1337979997.3239.3.camel@localhost.localdomain> Am Donnerstag, den 24.05.2012, 15:41 +0200 schrieb Jiri Vanek: > On 05/23/2012 05:45 PM, Jiri Vanek wrote: > > On 05/23/2012 05:36 PM, Omair Majid wrote: > >> On 05/23/2012 10:22 AM, Deepak Bhole wrote: > >>> * Jiri Vanek [2012-05-03 08:21]: > >>>> This patch is fixing > >>>> https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in > >>>> [rfc][icedtea-web] reproducer for RH816592 > >>>> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) > >>>> > >>>> This patch have small (one output message) overleap with [rfc] > >>>> [icedtea-web] providing little bit more debug outputs for few > >>>> methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) > >>>> > >>> > >>> This patch tries to manually add an entry to the security map. However it should not > >>> be needed. Whatever is adding the jar should add an entry to the map -- > >>> the bug should be fixed there IMO. > > > > Hmmm. I Believe that there is reflection used to inject the jar into classlaoder. So if I will > > overwrite addUrl method (which is the best place to do this) this can be still walked around. Thats > > why I have chosen this place.. > > > > But I admit my originalpatch must be improved for not searching again for already searched resources. > >> > > I elaborated little bit above sources of jmol (http://jmol.sourceforge.net/demo/atoms/) and I have > NOT FOUND where they are injecting theirs jars :-/ > > So I have prepared testing fix (the WRONG one) which was checkigg if somebody is using addURL by > reflection (which I consider as best way to do and I have used in my reproducer - > (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html). However it appeared > that not jmol nor geogebra are using this approach. > > Today I have traversed through jmol code and have not find how tehy are getting the sources in:-/ > They are using for preloading Class.forName in few first lines of app, but in thsi time there IS > already requested jar which is not declared on classpath of applet (well.. object generated > byjavascript :-/) tag. > But it can be anything. Even direct reflection to field holding urls in UrlClassLaoder or some JS as > it looks like in jmol.... In this case everything hook upon any method is in vain. But My original > solution WILL work for all this cases O:) > > > J. > > The improved patch is fixing possible exception thrown and repeated reloading of resources in case > of failure. > > 2012-05-24 Jiri Vanek > > Fix for RH816592 > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (getCodeSourceSecurity): will now try to download and verify resource > which was downloaded outside of netx. > (alreadyTried) set for memory of once tried resources to not try again > > >> This is an implementation-specific behaviour of the proprietary javaws > >> that some programs seem to rely on. We have other bugs caused by the > >> same issue too: PR568 [1] and PR839. > > > > Yap. As I already wrote it is brutal:) > >> > >> Cheers, > >> Omair > >> > >> [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=568 > >> [2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=839 > > > Hi, is this the same as PR858? I mailed this patch to fix it: http://old.nabble.com/Re%3A--RFC--PR858-p33525848.html with kind regards thomas From ddadacha at redhat.com Fri May 25 14:19:28 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Fri, 25 May 2012 17:19:28 -0400 Subject: [rfc][icedtea-web] Ignore invalid .jar files specified for plugin In-Reply-To: <1337973468.323.4.camel@voip-10-15-18-79.yyz.redhat.com> References: <1337973468.323.4.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FBFF760.2050207@redhat.com> Hi Adam, On 25/05/12 03:17 PM, Adam Domurad wrote: > So, first patch that isn't something trivial, I'll definitely need > people to weigh in on this one. > > The proprietary plug-in seems to just skip over any malformed .jar files > and carry on loading. This patch emulates that behaviour. > This alleviates some of the symptoms of > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 > However, the plugin should still parse folders differently and look for > resources in folders like the proprietary plug-in does. > Just to summarize what we discussed on IRC, these changes do not belong in JCV. IMO, IcedTea-Web should never think of this extra dir as a jar. Going through the stack trace, the verification call happens in JNLPClassLoader#initializeResources. The first line of that method (eventually) points to where the change should be, in grabbing the resources from the HTML page. IMO these changes are more suited for PluginBridge#getResources[1], right before the names passed into the archive attribute are turned into JARDescs. Keep in mind CodeBaseClassLoader for adding things that are actually in the specified dir. Thanks Omair for pointing this out! Remember to watch out for the plugin being called using jnlp_href, these dirs should not be accepted then. There are a few more comments below. > ChangeLog: > 2012-05-25 Adam Domurad > It went from one space to no spaces! :O 2 > Ignore invalid jar files, like the oracle plugin does. > * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Added extra > possible verification result, INVALID_JAR. This value occurs if the > .jar file could not be properly loaded. The .jar file is then ignored. > > > > ignore-invalid-jars.patch > > > diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > --- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > @@ -183,9 +185,7 @@ public class JarCertVerifier implements > verifiedJars = new ArrayList(); > unverifiedJars = new ArrayList(); > > - for (int i = 0; i< jars.size(); i++) { > - > - JARDesc jar = jars.get(i); > + for (JARDesc jar : jars) { > > try { > In general, I would prefer things like refactoring that aren't directly related to your changes to be in separate patches. Especially for such a sensitive class like JCV. =) Please feel free to pull these chunks out into a different changeset though! Cheers, Danesh [1] http://icedtea.classpath.org/hg/icedtea-web/file/6df151bb5320/netx/net/sourceforge/jnlp/PluginBridge.java#l209 From bugzilla-daemon at icedtea.classpath.org Sat May 26 09:17:24 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 26 May 2012 16:17:24 +0000 Subject: [Bug 1013] New: Icedtea Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 Priority: P3 Bug ID: 1013 CC: unassigned at icedtea.classpath.org Assignee: xerxes at zafena.se Summary: Icedtea Severity: critical Classification: Unclassified OS: Linux Reporter: imc.coder at gmail.com Hardware: x86 Status: NEW Version: 7-1.0 Component: JamVM Product: IcedTea # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb2c9aa1d, pid=6694, tid=3000683376 # # JRE version: 7.0_03-b147 # Java VM: OpenJDK Client VM (22.0-b10 mixed mode, sharing linux-x86 ) # Derivative: IcedTea7 2.1.1pre # Distribution: Debian GNU/Linux unstable (sid), package 7~u3-2.1.1~pre1-2 # Problematic frame: # C [liblcms2.so.2+0x12a1d] cmsSaveProfileToIOhandler+0x2d # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x0a236800): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=6714, stack(0xb2d5c000,0xb2dad000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000 Registers: EAX=0xb2da9c6c, EBX=0xb2cd12c4, ECX=0x000002d9, EDX=0x0a236800 ESP=0xb2da9c40, EBP=0x00000000, ESI=0x00000000, EDI=0xb2da9c6c EIP=0xb2c9aa1d, EFLAGS=0x00210292, CR2=0x00000000 Top of Stack: (sp=0xb2da9c40) 0xb2da9c40: 0a1efec8 0a1eead8 0000000e b2c995cf 0xb2da9c50: 0a1ed650 b2da9c6c b2cd12c4 b2c92b98 0xb2da9c60: 00000000 0a1efec8 00000000 00000000 0xb2da9c70: 0a1ee710 0a1ed650 b2cd12c4 b2c9930a 0xb2da9c80: 00000000 0a1efec8 b2da9cec b2cc2850 0xb2da9c90: 00000000 b2cd12c4 b2daa850 b2c99dd0 0xb2da9ca0: 0a1efec8 00000004 b770e80e b2cd12c4 0xb2da9cb0: 0a1ee954 00000011 0a1ee710 b2c9abc6 Instructions: (pc=0xb2c9aa1d) 0xb2c9a9fd: 00 00 8b ac 24 b0 0b 00 00 8d 44 24 2c e8 78 60 0xb2c9aa0d: ff ff 81 c3 b5 68 03 00 89 c7 89 44 24 14 89 ee 0xb2c9aa1d: f3 a5 89 2c 24 e8 49 4c ff ff 89 04 24 e8 61 47 0xb2c9aa2d: ff ff c7 44 24 1c 00 00 00 00 85 c0 89 44 24 18 Register to memory mapping: EAX=0xb2da9c6c is pointing into the stack for thread: 0x0a236800 EBX=0xb2cd12c4: in /usr/lib/liblcms2.so.2 at 0xb2c88000 ECX=0x000002d9 is an unknown value EDX=0x0a236800 is a thread ESP=0xb2da9c40 is pointing into the stack for thread: 0x0a236800 EBP=0x00000000 is an unknown value ESI=0x00000000 is an unknown value EDI=0xb2da9c6c is pointing into the stack for thread: 0x0a236800 Stack: [0xb2d5c000,0xb2dad000], sp=0xb2da9c40, free space=311k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [liblcms2.so.2+0x12a1d] cmsSaveProfileToIOhandler+0x2d [error occurred during error reporting (printing native stack), id 0xb] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.java2d.cmm.lcms.LCMS.getTagData(JI[B)V+0 j java.awt.color.ICC_Profile.getData(JI)[B+26 j java.awt.color.ICC_Profile.getData(I)[B+14 j java.awt.color.ICC_Profile.getNumComponents()I+18 j sun.java2d.cmm.lcms.LCMSTransform.(Ljava/awt/color/ICC_Profile;II)V+83 j sun.java2d.cmm.lcms.LCMS.createTransform(Ljava/awt/color/ICC_Profile;II)Lsun/java2d/cmm/ColorTransform;+7 j java.awt.color.ICC_ColorSpace.fromRGB([F)[F+37 j com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(IIIII[B)V+158 v ~StubRoutines::call_stub j com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(JZZ)Z+0 j com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(Z)Z+12 j com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly()V+92 j com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(I)V+41 j com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(IZ)V+2 j com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(ILjavax/imageio/ImageReadParam;Z)Ljava/awt/image/Raster;+3 j com.sun.imageio.plugins.jpeg.JPEGImageReader.read(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;+8 j javax.imageio.ImageIO.read(Ljavax/imageio/stream/ImageInputStream;)Ljava/awt/image/BufferedImage;+55 j javax.imageio.ImageIO.read(Ljava/io/File;)Ljava/awt/image/BufferedImage;+51 j Abrir.(LPanelDibujo;)V+72 j Menu$1.actionPerformed(Ljava/awt/event/ActionEvent;)V+10 j javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84 j javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5 j javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35 j javax.swing.DefaultButtonModel.setPressed(Z)V+117 j javax.swing.AbstractButton.doClick(I)V+64 j javax.swing.plaf.basic.BasicMenuItemUI.doClick(Ljavax/swing/MenuSelectionManager;)V+53 j javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Ljava/awt/event/MouseEvent;)V+76 j java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64 j javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23 j java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+81 j java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18 j java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+581 J java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V J java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V j java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+139 j java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50 J java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V j java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19 j java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2 j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+41 j java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3 j java.awt.EventQueue$3.run()Ljava/lang/Void;+12 j java.awt.EventQueue$3.run()Ljava/lang/Object;+1 v ~StubRoutines::call_stub J java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; J java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object; j java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+6 j java.awt.EventQueue$4.run()Ljava/lang/Void;+11 j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 v ~StubRoutines::call_stub J java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; J java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object; j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+73 J java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 j java.awt.EventDispatchThread.run()V+9 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0xb290a400 JavaThread "TimerQueue" daemon [_thread_blocked, id=6723, stack(0xb2af9000,0xb2b4a000)] 0x0a031400 JavaThread "Image Fetcher 2" daemon [_thread_blocked, id=6718, stack(0xb2bec000,0xb2c3d000)] 0x0a030c00 JavaThread "Image Fetcher 1" daemon [_thread_blocked, id=6717, stack(0xb2e7b000,0xb2ecc000)] 0x0a030400 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=6716, stack(0xb2dfe000,0xb2e4f000)] 0x09fc2000 JavaThread "DestroyJavaVM" [_thread_blocked, id=6698, stack(0xb6b54000,0xb6ba5000)] =>0x0a236800 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=6714, stack(0xb2d5c000,0xb2dad000)] 0x0a235400 JavaThread "AWT-Shutdown" [_thread_blocked, id=6713, stack(0xb2dad000,0xb2dfe000)] 0x0a122800 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=6710, stack(0xb2ecc000,0xb2f1d000)] 0x0a112400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=6709, stack(0xb2f1d000,0xb2f6e000)] 0x09ffec00 JavaThread "Service Thread" daemon [_thread_blocked, id=6705, stack(0xb42a3000,0xb42f4000)] 0x09ffcc00 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=6704, stack(0xb42f4000,0xb4375000)] 0x09ffb000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6703, stack(0xb4375000,0xb43c6000)] 0x09fe9c00 JavaThread "Finalizer" daemon [_thread_blocked, id=6702, stack(0xb453d000,0xb458e000)] 0x09fe8400 JavaThread "Reference Handler" daemon [_thread_blocked, id=6701, stack(0xb458e000,0xb45df000)] Other Threads: 0x09fe6c00 VMThread [stack: 0xb45df000,0xb4660000] [id=6700] 0x0a009c00 WatcherThread [stack: 0xb4222000,0xb42a3000] [id=6706] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 4864K, used 4073K [0x6f260000, 0x6f7a0000, 0x79b00000) eden space 4352K, 92% used [0x6f260000, 0x6f64f418, 0x6f6a0000) from space 512K, 8% used [0x6f6a0000, 0x6f6ab058, 0x6f720000) to space 512K, 0% used [0x6f720000, 0x6f720000, 0x6f7a0000) tenured generation total 10816K, used 2401K [0x79b00000, 0x7a590000, 0x8ec60000) the space 10816K, 22% used [0x79b00000, 0x79d584e8, 0x79d58600, 0x7a590000) compacting perm gen total 12288K, used 1796K [0x8ec60000, 0x8f860000, 0x92c60000) the space 12288K, 14% used [0x8ec60000, 0x8ee21148, 0x8ee21200, 0x8f860000) ro space 10240K, 60% used [0x92c60000, 0x9326ebe8, 0x9326ec00, 0x93660000) rw space 12288K, 61% used [0x93660000, 0x93dc4ae8, 0x93dc4c00, 0x94260000) Code Cache [0xb4ad1000, 0xb4c19000, 0xb6ad1000) total_blobs=775 nmethods=515 adapters=195 free_code_cache=31485Kb largest_free_block=32239552 Dynamic libraries: 08048000-08049000 r-xp 00000000 08:06 342368 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 08049000-0804a000 r--p 00000000 08:06 342368 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 0804a000-0804b000 rw-p 00001000 08:06 342368 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 09fbb000-0a32a000 rw-p 00000000 00:00 0 [heap] 6f260000-6f7a0000 rw-p 00000000 00:00 0 6f7a0000-79b00000 rw-p 00000000 00:00 0 79b00000-7a590000 rw-p 00000000 00:00 0 7a590000-8ec60000 rw-p 00000000 00:00 0 8ec60000-8f860000 rw-p 00000000 00:00 0 8f860000-92c60000 rw-p 00000000 00:00 0 92c60000-9326f000 r--s 00001000 08:06 342647 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa 9326f000-93660000 rw-p 00000000 00:00 0 93660000-93dc5000 rw-p 00610000 08:06 342647 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa 93dc5000-94260000 rw-p 00000000 00:00 0 94260000-94575000 rw-p 00d75000 08:06 342647 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa 94575000-94660000 rw-p 00000000 00:00 0 94660000-94669000 r-xs 0108a000 08:06 342647 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa 94669000-94a60000 rw-p 00000000 00:00 0 b2700000-b2721000 rw-p 00000000 00:00 0 b2721000-b2800000 ---p 00000000 00:00 0 b2900000-b2959000 rw-p 00000000 00:00 0 b2959000-b2a00000 ---p 00000000 00:00 0 b2a46000-b2af9000 rw-s 00000000 00:04 21889036 /SYSV00000000 (deleted) b2af9000-b2afc000 ---p 00000000 00:00 0 b2afc000-b2b4a000 rw-p 00000000 00:00 0 b2b4a000-b2b4d000 ---p 00000000 00:00 0 b2b4d000-b2b9b000 rw-p 00000000 00:00 0 b2b9b000-b2b9e000 ---p 00000000 00:00 0 b2b9e000-b2bec000 rw-p 00000000 00:00 0 b2bec000-b2bef000 ---p 00000000 00:00 0 b2bef000-b2c3d000 rw-p 00000000 00:00 0 b2c88000-b2cd1000 r-xp 00000000 08:06 143081 /usr/lib/liblcms2.so.2.0.2 b2cd1000-b2cd5000 rw-p 00049000 08:06 143081 /usr/lib/liblcms2.so.2.0.2 b2cd5000-b2d0d000 r-xp 00000000 08:06 143256 /usr/lib/i386-linux-gnu/libjpeg.so.8.4.0 b2d0d000-b2d0e000 rw-p 00037000 08:06 143256 /usr/lib/i386-linux-gnu/libjpeg.so.8.4.0 b2d20000-b2d5a000 r-xp 00000000 08:06 334051 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libfontmanager.so b2d5a000-b2d5b000 r--p 0003a000 08:06 334051 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libfontmanager.so b2d5b000-b2d5c000 rw-p 0003b000 08:06 334051 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libfontmanager.so b2d5c000-b2d5f000 ---p 00000000 00:00 0 b2d5f000-b2dad000 rw-p 00000000 00:00 0 b2dad000-b2db0000 ---p 00000000 00:00 0 b2db0000-b2dfe000 rw-p 00000000 00:00 0 b2dfe000-b2e01000 ---p 00000000 00:00 0 b2e01000-b2e4f000 rw-p 00000000 00:00 0 b2e4f000-b2e66000 r-xp 00000000 08:06 334050 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnet.so b2e66000-b2e67000 r--p 00016000 08:06 334050 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnet.so b2e67000-b2e68000 rw-p 00017000 08:06 334050 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnet.so b2e68000-b2e79000 r-xp 00000000 08:06 334152 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnio.so b2e79000-b2e7a000 r--p 00010000 08:06 334152 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnio.so b2e7a000-b2e7b000 rw-p 00011000 08:06 334152 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnio.so b2e7b000-b2e7e000 ---p 00000000 00:00 0 b2e7e000-b2ecc000 rw-p 00000000 00:00 0 b2ecc000-b2ecf000 ---p 00000000 00:00 0 b2ecf000-b2f1d000 rw-p 00000000 00:00 0 b2f1d000-b2f20000 ---p 00000000 00:00 0 b2f20000-b2f6e000 rw-p 00000000 00:00 0 b2f6e000-b2f6f000 r-xp 00000000 08:06 8833 /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so b2f6f000-b2f70000 r--p 00001000 08:06 8833 /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so b2f70000-b2f71000 rw-p 00002000 08:06 8833 /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so b2f71000-b2f78000 r--s 00000000 08:06 8983 /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache b2f78000-b2f96000 r--p 00000000 08:06 141567 /usr/share/locale/es/LC_MESSAGES/libc.mo b2f96000-b2fdf000 r-xp 00000000 08:06 369198 /lib/i386-linux-gnu/libdbus-1.so.3.7.0 b2fdf000-b2fe0000 r--p 00049000 08:06 369198 /lib/i386-linux-gnu/libdbus-1.so.3.7.0 b2fe0000-b2fe1000 rw-p 0004a000 08:06 369198 /lib/i386-linux-gnu/libdbus-1.so.3.7.0 b2fe1000-b2fe4000 r-xp 00000000 08:06 366796 /lib/i386-linux-gnu/libgpg-error.so.0.8.0 b2fe4000-b2fe5000 rw-p 00002000 08:06 366796 /lib/i386-linux-gnu/libgpg-error.so.0.8.0 b2fe5000-b2ff5000 r-xp 00000000 08:06 142853 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 b2ff5000-b2ff6000 r--p 00010000 08:06 142853 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 b2ff6000-b2ff7000 rw-p 00011000 08:06 142853 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 b2ff7000-b3007000 r-xp 00000000 08:06 141276 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.15 b3007000-b3008000 r--p 0000f000 08:06 141276 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.15 b3008000-b3009000 rw-p 00010000 08:06 141276 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.15 b3009000-b300c000 r-xp 00000000 08:06 366557 /lib/i386-linux-gnu/libkeyutils.so.1.4 b300c000-b300d000 r--p 00002000 08:06 366557 /lib/i386-linux-gnu/libkeyutils.so.1.4 b300d000-b300e000 rw-p 00003000 08:06 366557 /lib/i386-linux-gnu/libkeyutils.so.1.4 b300e000-b3015000 r-xp 00000000 08:06 143038 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 b3015000-b3016000 r--p 00006000 08:06 143038 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 b3016000-b3017000 rw-p 00007000 08:06 143038 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 b3017000-b301c000 r-xp 00000000 08:06 145810 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 b301c000-b301d000 rw-p 00004000 08:06 145810 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 b301d000-b301f000 r-xp 00000000 08:06 145167 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 b301f000-b3020000 rw-p 00001000 08:06 145167 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 b3020000-b3030000 r-xp 00000000 08:06 143232 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 b3030000-b3031000 ---p 00010000 08:06 143232 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 b3031000-b3032000 r--p 00010000 08:06 143232 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 b3032000-b3033000 rw-p 00011000 08:06 143232 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 b3033000-b303f000 r-xp 00000000 08:06 143229 /usr/lib/i386-linux-gnu/libavahi-common.so.3.5.3 b303f000-b3040000 r--p 0000b000 08:06 143229 /usr/lib/i386-linux-gnu/libavahi-common.so.3.5.3 b3040000-b3041000 rw-p 0000c000 08:06 143229 /usr/lib/i386-linux-gnu/libavahi-common.so.3.5.3 b3041000-b30c3000 r-xp 00000000 08:06 366632 /lib/i386-linux-gnu/libgcrypt.so.11.7.0 b30c3000-b30c6000 rw-p 00081000 08:06 366632 /lib/i386-linux-gnu/libgcrypt.so.11.7.0 b30c6000-b3189000 r-xp 00000000 08:06 272 /usr/lib/i386-linux-gnu/libgnutls.so.26.22.3 b3189000-b318d000 r--p 000c2000 08:06 272 /usr/lib/i386-linux-gnu/libgnutls.so.26.22.3 b318d000-b318e000 rw-p 000c6000 08:06 272 /usr/lib/i386-linux-gnu/libgnutls.so.26.22.3 b318e000-b318f000 rw-p 00000000 00:00 0 b318f000-b3192000 r-xp 00000000 08:06 366678 /lib/i386-linux-gnu/libcom_err.so.2.1 b3192000-b3193000 r--p 00002000 08:06 366678 /lib/i386-linux-gnu/libcom_err.so.2.1 b3193000-b3194000 rw-p 00003000 08:06 366678 /lib/i386-linux-gnu/libcom_err.so.2.1 b3194000-b31ba000 r-xp 00000000 08:06 143040 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 b31ba000-b31bb000 ---p 00026000 08:06 143040 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 b31bb000-b31bc000 r--p 00026000 08:06 143040 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 b31bc000-b31bd000 rw-p 00027000 08:06 143040 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 b31bd000-b31be000 rw-p 00000000 00:00 0 b31be000-b3289000 r-xp 00000000 08:06 143042 /usr/lib/i386-linux-gnu/libkrb5.so.3.3 b3289000-b328f000 r--p 000ca000 08:06 143042 /usr/lib/i386-linux-gnu/libkrb5.so.3.3 b328f000-b3290000 rw-p 000d0000 08:06 143042 /usr/lib/i386-linux-gnu/libkrb5.so.3.3 b3290000-b32cc000 r-xp 00000000 08:06 143045 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2 b32cc000-b32cd000 r--p 0003c000 08:06 143045 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2 b32cd000-b32ce000 rw-p 0003d000 08:06 143045 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2 b32ce000-b330b000 r-xp 00000000 08:06 366668 /lib/i386-linux-gnu/libpcre.so.3.13.1 b330b000-b330c000 rw-p 0003c000 08:06 366668 /lib/i386-linux-gnu/libpcre.so.3.13.1 b330c000-b3314000 r-xp 00000000 08:06 141966 /usr/lib/i386-linux-gnu/libffi.so.5.0.10 b3314000-b3315000 rw-p 00008000 08:06 141966 /usr/lib/i386-linux-gnu/libffi.so.5.0.10 b3315000-b333b000 r-xp 00000000 08:06 366516 /lib/i386-linux-gnu/libexpat.so.1.6.0 b333b000-b333c000 ---p 00026000 08:06 366516 /lib/i386-linux-gnu/libexpat.so.1.6.0 b333c000-b333e000 r--p 00026000 08:06 366516 /lib/i386-linux-gnu/libexpat.so.1.6.0 b333e000-b333f000 rw-p 00028000 08:06 366516 /lib/i386-linux-gnu/libexpat.so.1.6.0 b333f000-b3348000 r-xp 00000000 08:06 143450 /usr/lib/i386-linux-gnu/libxcb-render.so.0.0.0 b3348000-b3349000 r--p 00008000 08:06 143450 /usr/lib/i386-linux-gnu/libxcb-render.so.0.0.0 b3349000-b334a000 rw-p 00009000 08:06 143450 /usr/lib/i386-linux-gnu/libxcb-render.so.0.0.0 b334a000-b334c000 r-xp 00000000 08:06 143452 /usr/lib/i386-linux-gnu/libxcb-shm.so.0.0.0 b334c000-b334d000 r--p 00001000 08:06 143452 /usr/lib/i386-linux-gnu/libxcb-shm.so.0.0.0 b334d000-b334e000 rw-p 00002000 08:06 143452 /usr/lib/i386-linux-gnu/libxcb-shm.so.0.0.0 b334e000-b33e1000 r-xp 00000000 08:06 142092 /usr/lib/i386-linux-gnu/libpixman-1.so.0.24.4 b33e1000-b33e5000 rw-p 00093000 08:06 142092 /usr/lib/i386-linux-gnu/libpixman-1.so.0.24.4 b33e5000-b340d000 r-xp 00000000 08:06 366741 /lib/i386-linux-gnu/libpng12.so.0.49.0 b340d000-b340e000 r--p 00027000 08:06 366741 /lib/i386-linux-gnu/libpng12.so.0.49.0 b340e000-b340f000 rw-p 00028000 08:06 366741 /lib/i386-linux-gnu/libpng12.so.0.49.0 b340f000-b341f000 r-xp 00000000 08:06 190319 /lib/i386-linux-gnu/i686/cmov/libresolv-2.13.so b341f000-b3420000 r--p 00010000 08:06 190319 /lib/i386-linux-gnu/i686/cmov/libresolv-2.13.so b3420000-b3421000 rw-p 00011000 08:06 190319 /lib/i386-linux-gnu/i686/cmov/libresolv-2.13.so b3421000-b3423000 rw-p 00000000 00:00 0 b3423000-b3441000 r-xp 00000000 08:06 366489 /lib/i386-linux-gnu/libselinux.so.1 b3441000-b3442000 r--p 0001d000 08:06 366489 /lib/i386-linux-gnu/libselinux.so.1 b3442000-b3443000 rw-p 0001e000 08:06 366489 /lib/i386-linux-gnu/libselinux.so.1 b3443000-b344c000 r-xp 00000000 08:06 142128 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 b344c000-b344d000 rw-p 00009000 08:06 142128 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 b344d000-b3454000 r-xp 00000000 08:06 142150 /usr/lib/i386-linux-gnu/libXrandr.so.2.2.0 b3454000-b3455000 rw-p 00006000 08:06 142150 /usr/lib/i386-linux-gnu/libXrandr.so.2.2.0 b3455000-b3457000 r-xp 00000000 08:06 142743 /usr/lib/i386-linux-gnu/libXinerama.so.1.0.0 b3457000-b3458000 rw-p 00001000 08:06 142743 /usr/lib/i386-linux-gnu/libXinerama.so.1.0.0 b3458000-b345b000 r-xp 00000000 08:06 138733 /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.3200.2 b345b000-b345c000 r--p 00002000 08:06 138733 /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.3200.2 b345c000-b345d000 rw-p 00003000 08:06 138733 /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.3200.2 b345d000-b3462000 r-xp 00000000 08:06 141985 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 b3462000-b3463000 rw-p 00004000 08:06 141985 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 b3463000-b3465000 r-xp 00000000 08:06 141987 /usr/lib/i386-linux-gnu/libXdamage.so.1.1.0 b3465000-b3466000 rw-p 00001000 08:06 141987 /usr/lib/i386-linux-gnu/libXdamage.so.1.1.0 b3466000-b3468000 r-xp 00000000 08:06 142135 /usr/lib/i386-linux-gnu/libXcomposite.so.1.0.0 b3468000-b3469000 rw-p 00001000 08:06 142135 /usr/lib/i386-linux-gnu/libXcomposite.so.1.0.0 b3469000-b348a000 r-xp 00000000 08:06 141978 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 b348a000-b348b000 r--p 00020000 08:06 141978 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 b348b000-b348c000 rw-p 00021000 08:06 141978 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 b348c000-b34dd000 r-xp 00000000 08:06 143668 /usr/lib/i386-linux-gnu/libcups.so.2 b34dd000-b34de000 ---p 00051000 08:06 143668 /usr/lib/i386-linux-gnu/libcups.so.2 b34de000-b34e1000 r--p 00051000 08:06 143668 /usr/lib/i386-linux-gnu/libcups.so.2 b34e1000-b34e2000 rw-p 00054000 08:06 143668 /usr/lib/i386-linux-gnu/libcups.so.2 b34e2000-b35dc000 r-xp 00000000 08:06 366676 /lib/i386-linux-gnu/libglib-2.0.so.0.3200.2 b35dc000-b35dd000 r--p 000f9000 08:06 366676 /lib/i386-linux-gnu/libglib-2.0.so.0.3200.2 b35dd000-b35de000 rw-p 000fa000 08:06 366676 /lib/i386-linux-gnu/libglib-2.0.so.0.3200.2 b35de000-b35df000 r-xp 00000000 08:06 138731 /usr/lib/i386-linux-gnu/libgthread-2.0.so.0.3200.2 b35df000-b35e0000 r--p 00000000 08:06 138731 /usr/lib/i386-linux-gnu/libgthread-2.0.so.0.3200.2 b35e0000-b35e1000 rw-p 00001000 08:06 138731 /usr/lib/i386-linux-gnu/libgthread-2.0.so.0.3200.2 b35e1000-b3630000 r-xp 00000000 08:06 138729 /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3200.2 b3630000-b3631000 r--p 0004f000 08:06 138729 /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3200.2 b3631000-b3632000 rw-p 00050000 08:06 138729 /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3200.2 b3632000-b3666000 r-xp 00000000 08:06 138496 /usr/lib/i386-linux-gnu/libfontconfig.so.1.5.0 b3666000-b3667000 r--p 00034000 08:06 138496 /usr/lib/i386-linux-gnu/libfontconfig.so.1.5.0 b3667000-b3668000 rw-p 00035000 08:06 138496 /usr/lib/i386-linux-gnu/libfontconfig.so.1.5.0 b3668000-b36ff000 r-xp 00000000 08:06 263 /usr/lib/i386-linux-gnu/libfreetype.so.6.8.1 b36ff000-b3703000 r--p 00096000 08:06 263 /usr/lib/i386-linux-gnu/libfreetype.so.6.8.1 b3703000-b3704000 rw-p 0009a000 08:06 263 /usr/lib/i386-linux-gnu/libfreetype.so.6.8.1 b3704000-b374e000 r-xp 00000000 08:06 143676 /usr/lib/i386-linux-gnu/libpango-1.0.so.0.3000.0 b374e000-b374f000 r--p 0004a000 08:06 143676 /usr/lib/i386-linux-gnu/libpango-1.0.so.0.3000.0 b374f000-b3750000 rw-p 0004b000 08:06 143676 /usr/lib/i386-linux-gnu/libpango-1.0.so.0.3000.0 b3750000-b385a000 r-xp 00000000 08:06 138514 /usr/lib/i386-linux-gnu/libcairo.so.2.11200.2 b385a000-b385c000 r--p 0010a000 08:06 138514 /usr/lib/i386-linux-gnu/libcairo.so.2.11200.2 b385c000-b385d000 rw-p 0010c000 08:06 138514 /usr/lib/i386-linux-gnu/libcairo.so.2.11200.2 b385d000-b385e000 rw-p 00000000 00:00 0 b385e000-b387e000 r-xp 00000000 08:06 143476 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1 b387e000-b387f000 r--p 0001f000 08:06 143476 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1 b387f000-b3880000 rw-p 00020000 08:06 143476 /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1 b3880000-b388b000 r-xp 00000000 08:06 143675 /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0.3000.0 b388b000-b388c000 r--p 0000b000 08:06 143675 /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0.3000.0 b388c000-b388d000 rw-p 0000c000 08:06 143675 /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0.3000.0 b388d000-b38b9000 r-xp 00000000 08:06 143673 /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0.3000.0 b38b9000-b38ba000 r--p 0002b000 08:06 143673 /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0.3000.0 b38ba000-b38bb000 rw-p 0002c000 08:06 143673 /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0.3000.0 b38bb000-b3a13000 r-xp 00000000 08:06 138727 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3200.2 b3a13000-b3a14000 ---p 00158000 08:06 138727 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3200.2 b3a14000-b3a16000 r--p 00158000 08:06 138727 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3200.2 b3a16000-b3a17000 rw-p 0015a000 08:06 138727 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3200.2 b3a17000-b3a18000 rw-p 00000000 00:00 0 b3a18000-b3a37000 r-xp 00000000 08:06 139505 /usr/lib/i386-linux-gnu/libatk-1.0.so.0.20409.1 b3a37000-b3a39000 r--p 0001e000 08:06 139505 /usr/lib/i386-linux-gnu/libatk-1.0.so.0.20409.1 b3a39000-b3a3a000 rw-p 00020000 08:06 139505 /usr/lib/i386-linux-gnu/libatk-1.0.so.0.20409.1 b3a3a000-b3ae8000 r-xp 00000000 08:06 144960 /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0.2400.10 b3ae8000-b3aeb000 rw-p 000ad000 08:06 144960 /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0.2400.10 b3aeb000-b3f57000 r-xp 00000000 08:06 144961 /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.10 b3f57000-b3f5d000 rw-p 0046c000 08:06 144961 /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.10 b3f5d000-b3f5e000 rw-p 00000000 00:00 0 b3f5e000-b3f6c000 r-xp 00000000 08:06 142104 /usr/lib/i386-linux-gnu/libXi.so.6.1.0 b3f6c000-b3f6d000 rw-p 0000d000 08:06 142104 /usr/lib/i386-linux-gnu/libXi.so.6.1.0 b3f6d000-b3f72000 r-xp 00000000 08:06 142001 /usr/lib/i386-linux-gnu/libXtst.so.6.1.0 b3f72000-b3f73000 rw-p 00004000 08:06 142001 /usr/lib/i386-linux-gnu/libXtst.so.6.1.0 b3f73000-b3f7b000 r-xp 00000000 08:06 138508 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 b3f7b000-b3f7c000 rw-p 00008000 08:06 138508 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 b3f7c000-b40b1000 r-xp 00000000 08:06 138505 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 b40b1000-b40b5000 rw-p 00134000 08:06 138505 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 b40b5000-b40c6000 r-xp 00000000 08:06 141274 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 b40c6000-b40c7000 rw-p 00010000 08:06 141274 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 b40c8000-b40cc000 r-xp 00000000 08:06 334042 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjavalcms.so b40cc000-b40cd000 r--p 00003000 08:06 334042 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjavalcms.so b40cd000-b40ce000 rw-p 00004000 08:06 334042 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjavalcms.so b40ce000-b40d7000 r-xp 00000000 08:06 334128 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjavajpeg.so b40d7000-b40d8000 r--p 00008000 08:06 334128 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjavajpeg.so b40d8000-b40d9000 rw-p 00009000 08:06 334128 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjavajpeg.so b40d9000-b412d000 r-xp 00000000 08:06 342270 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so b412d000-b412e000 r--p 00053000 08:06 342270 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so b412e000-b4130000 rw-p 00054000 08:06 342270 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so b4130000-b4131000 rw-p 00000000 00:00 0 b4131000-b41cd000 r-xp 00000000 08:06 334133 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libawt.so b41cd000-b41ce000 r--p 0009b000 08:06 334133 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libawt.so b41ce000-b41d5000 rw-p 0009c000 08:06 334133 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libawt.so b41d5000-b41f9000 rw-p 00000000 00:00 0 b41f9000-b4203000 r--s 0038d000 08:06 173484 /usr/lib/jvm/java-7-openjdk-common/jre/lib/charsets.jar b4203000-b420c000 r--s 00263000 08:06 173803 /usr/lib/jvm/java-7-openjdk-common/jre/lib/resources.jar b420c000-b4216000 r--s 0038d000 08:06 173484 /usr/lib/jvm/java-7-openjdk-common/jre/lib/charsets.jar b4216000-b4219000 r--s 00085000 08:06 173480 /usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/localedata.jar b4219000-b421a000 r--s 00007000 08:06 114070 /usr/share/java/java-atk-wrapper.jar b421a000-b421d000 r--s 0000f000 08:06 173478 /usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/pulse-java.jar b421d000-b4220000 r--s 00032000 08:06 173479 /usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/sunjce_provider.jar b4220000-b4222000 r--s 00012000 08:06 171405 /usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/zipfs.jar b4222000-b4223000 ---p 00000000 00:00 0 b4223000-b42a3000 rw-p 00000000 00:00 0 b42a3000-b42a6000 ---p 00000000 00:00 0 b42a6000-b42f4000 rw-p 00000000 00:00 0 b42f4000-b42f7000 ---p 00000000 00:00 0 b42f7000-b4375000 rw-p 00000000 00:00 0 b4375000-b4378000 ---p 00000000 00:00 0 b4378000-b43c6000 rw-p 00000000 00:00 0 b43c6000-b453d000 r--p 00000000 08:06 139561 /usr/lib/locale/locale-archive b453d000-b4540000 ---p 00000000 00:00 0 b4540000-b458e000 rw-p 00000000 00:00 0 b458e000-b4591000 ---p 00000000 00:00 0 b4591000-b45df000 rw-p 00000000 00:00 0 b45df000-b45e0000 ---p 00000000 00:00 0 b45e0000-b46a8000 rw-p 00000000 00:00 0 b46a8000-b4857000 r--s 03e91000 08:06 311184 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar b4857000-b4865000 rw-p 00000000 00:00 0 b4865000-b487f000 rw-p 00000000 00:00 0 b487f000-b4885000 rw-p 00000000 00:00 0 b4885000-b4928000 rw-p 00000000 00:00 0 b4928000-b492b000 rw-p 00000000 00:00 0 b492b000-b497c000 rw-p 00000000 00:00 0 b497c000-b4982000 rw-p 00000000 00:00 0 b4982000-b4a25000 rw-p 00000000 00:00 0 b4a25000-b4a2b000 rw-p 00000000 00:00 0 b4a2b000-b4a45000 rw-p 00000000 00:00 0 b4a45000-b4a57000 rw-p 00000000 00:00 0 b4a57000-b4ad1000 rw-p 00000000 00:00 0 b4ad1000-b4c19000 rwxp 00000000 00:00 0 b4c19000-b6ad1000 rw-p 00000000 00:00 0 b6ad1000-b6ada000 r-xp 00000000 08:06 334045 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libzip.so b6ada000-b6adb000 r--p 00008000 08:06 334045 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libzip.so b6adb000-b6adc000 rw-p 00009000 08:06 334045 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libzip.so b6adc000-b6ae6000 r-xp 00000000 08:06 190349 /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so b6ae6000-b6ae7000 r--p 00009000 08:06 190349 /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so b6ae7000-b6ae8000 rw-p 0000a000 08:06 190349 /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so b6ae8000-b6af1000 r-xp 00000000 08:06 190273 /lib/i386-linux-gnu/i686/cmov/libnss_nis-2.13.so b6af1000-b6af2000 r--p 00008000 08:06 190273 /lib/i386-linux-gnu/i686/cmov/libnss_nis-2.13.so b6af2000-b6af3000 rw-p 00009000 08:06 190273 /lib/i386-linux-gnu/i686/cmov/libnss_nis-2.13.so b6af3000-b6b06000 r-xp 00000000 08:06 190322 /lib/i386-linux-gnu/i686/cmov/libnsl-2.13.so b6b06000-b6b07000 r--p 00012000 08:06 190322 /lib/i386-linux-gnu/i686/cmov/libnsl-2.13.so b6b07000-b6b08000 rw-p 00013000 08:06 190322 /lib/i386-linux-gnu/i686/cmov/libnsl-2.13.so b6b08000-b6b0a000 rw-p 00000000 00:00 0 b6b0a000-b6b10000 r-xp 00000000 08:06 190320 /lib/i386-linux-gnu/i686/cmov/libnss_compat-2.13.so b6b10000-b6b11000 r--p 00005000 08:06 190320 /lib/i386-linux-gnu/i686/cmov/libnss_compat-2.13.so b6b11000-b6b12000 rw-p 00006000 08:06 190320 /lib/i386-linux-gnu/i686/cmov/libnss_compat-2.13.so b6b13000-b6b16000 r--s 0003c000 08:06 173477 /usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/sunpkcs11.jar b6b16000-b6b1c000 rw-p 00000000 00:00 0 b6b1c000-b6b24000 rw-s 00000000 00:11 162324 /tmp/hsperfdata_israel/6694 b6b24000-b6b49000 r-xp 00000000 08:06 334138 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so b6b49000-b6b4a000 r--p 00024000 08:06 334138 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so b6b4a000-b6b4b000 rw-p 00025000 08:06 334138 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so b6b4b000-b6b52000 r-xp 00000000 08:06 190366 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so b6b52000-b6b53000 r--p 00006000 08:06 190366 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so b6b53000-b6b54000 rw-p 00007000 08:06 190366 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so b6b54000-b6b57000 ---p 00000000 00:00 0 b6b57000-b6ba5000 rw-p 00000000 00:00 0 b6ba5000-b6bc1000 r-xp 00000000 08:06 366487 /lib/i386-linux-gnu/libgcc_s.so.1 b6bc1000-b6bc2000 rw-p 0001b000 08:06 366487 /lib/i386-linux-gnu/libgcc_s.so.1 b6bc2000-b6be6000 r-xp 00000000 08:06 190321 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so b6be6000-b6be7000 r--p 00023000 08:06 190321 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so b6be7000-b6be8000 rw-p 00024000 08:06 190321 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so b6be8000-b6cc8000 r-xp 00000000 08:06 138695 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 b6cc8000-b6ccc000 r--p 000e0000 08:06 138695 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 b6ccc000-b6ccd000 rw-p 000e4000 08:06 138695 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 b6ccd000-b6cd4000 rw-p 00000000 00:00 0 b6cd4000-b725e000 r-xp 00000000 08:06 342376 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so b725e000-b7274000 r--p 00589000 08:06 342376 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so b7274000-b7283000 rw-p 0059f000 08:06 342376 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so b7283000-b769e000 rw-p 00000000 00:00 0 b769e000-b77f4000 r-xp 00000000 08:06 190348 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b77f4000-b77f5000 ---p 00156000 08:06 190348 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b77f5000-b77f7000 r--p 00156000 08:06 190348 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b77f7000-b77f8000 rw-p 00158000 08:06 190348 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so b77f8000-b77fb000 rw-p 00000000 00:00 0 b77fb000-b77fd000 r-xp 00000000 08:06 190314 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so b77fd000-b77fe000 r--p 00001000 08:06 190314 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so b77fe000-b77ff000 rw-p 00002000 08:06 190314 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so b77ff000-b7815000 r-xp 00000000 08:06 138697 /usr/lib/i386-linux-gnu/libz.so.1.2.7 b7815000-b7816000 rw-p 00015000 08:06 138697 /usr/lib/i386-linux-gnu/libz.so.1.2.7 b7816000-b7822000 r-xp 00000000 08:06 81499 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/jli/libjli.so b7822000-b7823000 r--p 0000c000 08:06 81499 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/jli/libjli.so b7823000-b7824000 rw-p 0000d000 08:06 81499 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/jli/libjli.so b7824000-b7825000 rw-p 00000000 00:00 0 b7825000-b783a000 r-xp 00000000 08:06 190279 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so b783a000-b783b000 r--p 00014000 08:06 190279 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so b783b000-b783c000 rw-p 00015000 08:06 190279 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so b783c000-b783e000 rw-p 00000000 00:00 0 b783e000-b783f000 r--s 00002000 08:06 171404 /usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/dnsns.jar b783f000-b7840000 rw-p 00000000 00:00 0 b7840000-b7841000 r--p 00000000 00:00 0 b7841000-b784e000 r-xp 00000000 08:06 334135 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libverify.so b784e000-b784f000 r--p 0000d000 08:06 334135 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libverify.so b784f000-b7850000 rw-p 0000e000 08:06 334135 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libverify.so b7850000-b7852000 rw-p 00000000 00:00 0 b7852000-b7853000 r-xp 00000000 00:00 0 [vdso] b7853000-b786e000 r-xp 00000000 08:06 439850 /lib/i386-linux-gnu/ld-2.13.so b786e000-b786f000 r--p 0001b000 08:06 439850 /lib/i386-linux-gnu/ld-2.13.so b786f000-b7870000 rw-p 0001c000 08:06 439850 /lib/i386-linux-gnu/ld-2.13.so bfad8000-bfaf9000 rw-p 00000000 00:00 0 [stack] VM Arguments: jvm_args: -Dfile.encoding=UTF-8 java_command: Prueba Launcher Type: SUN_STANDARD Environment Variables: PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386: SHELL=/bin/bash DISPLAY=:0.0 Signal Handlers: SIGSEGV: [libjvm.so+0x4582c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x4582c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x365c00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x365c00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x365c00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x365c00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x365aa0], sa_mask[0]=0x00000004, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x365ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x365ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x365ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x365ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:wheezy/sid uname:Linux 3.0.0-1-486 #1 Sat Aug 27 15:56:48 UTC 2011 i686 libc:glibc 2.13 NPTL 2.13 rlimit: STACK 8192k, CORE 0k, NPROC 8005, NOFILE 4096, AS infinity load average:0,10 0,12 0,14 /proc/meminfo: MemTotal: 1034476 kB MemFree: 172032 kB Buffers: 18760 kB Cached: 414272 kB SwapCached: 0 kB Active: 508340 kB Inactive: 306100 kB Active(anon): 381772 kB Inactive(anon): 4112 kB Active(file): 126568 kB Inactive(file): 301988 kB Unevictable: 0 kB Mlocked: 0 kB HighTotal: 139016 kB HighFree: 276 kB LowTotal: 895460 kB LowFree: 171756 kB SwapTotal: 1073148 kB SwapFree: 1073148 kB Dirty: 132 kB Writeback: 0 kB AnonPages: 381416 kB Mapped: 111296 kB Shmem: 4468 kB Slab: 16680 kB SReclaimable: 9512 kB SUnreclaim: 7168 kB KernelStack: 2072 kB PageTables: 2976 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1590384 kB Committed_AS: 1147664 kB VmallocTotal: 122880 kB VmallocUsed: 15840 kB VmallocChunk: 105972 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 4096 kB DirectMap4k: 45048 kB DirectMap4M: 864256 kB CPU:total 1 (1 cores per cpu, 2 threads per core) family 15 model 6 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ht /proc/cpuinfo: processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 6 model name : Intel(R) Pentium(R) 4 CPU 3.00GHz stepping : 5 cpu MHz : 2993.945 cache size : 2048 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pebs bts pni dtes64 monitor ds_cpl est tm2 cid cx16 xtpr pdcm lahf_lm bogomips : 5987.89 clflush size : 64 cache_alignment : 128 address sizes : 36 bits physical, 48 bits virtual power management: Memory: 4k page, physical 1034476k(172032k free), swap 1073148k(1073148k free) vm_info: OpenJDK Client VM (22.0-b10) for linux-x86 JRE (1.7.0_03-b147), built on May 4 2012 12:28:07 by "buildd" with gcc 4.7.0 time: Sat May 26 11:03:17 2012 elapsed time: 17 seconds -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120526/42fb8672/attachment.html From jvanek at redhat.com Sat May 26 12:39:32 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Sat, 26 May 2012 21:39:32 +0200 Subject: [rfc] [icedtea-web] reproducers with custom makefile Message-ID: <4FC13174.705@redhat.com> Hi! We have been speaking with Danes that although current reproducers compilation and signing mechanism is very powerful, sometimes it really can not cover some extraordinary case. For this purpose we ahve come with idea to have special class of reproducers (next to signed and simple) - in this patch called custom - which will have its own makefile and will take care for itself. This is implementation of this idea. What do you think? both for idea and implementation :) One think I do not like on this change - exporting of variables. In plain Makefile I would use "export". It looks like in Automake this is not possible. (I suspect comaptibility issues gnu x normal make), so I have exported most crucial variables manually. When I saw result Makefile I was wandering that the makefile is still working.... Well loks like was working correctly. Any hint welcomed! J. * Makefile.am: Most crucial variables exported to be used by custom Makefiles (junit-jnlp-dist-custom.txt): new target scanning for directories in jnlp_tests/custom and saving them as list for future purposes. (stamps/process-custom-reproducers.stamp): new target for iterating by junit-jnlp-dist-custom.txt through jnlp_tests/custom/* and launching make prepare-reproducer in each (clean-custom-reproducers): same as above but launching make clean-reproducer (run-netx-dist-tests) now depends on stamps/process-custom-reproducers.stamp (clean-netx-dist-tests): now depends on clean-custom-reproducers * tests/jnlp_tests/README: described this mechanism a bit -------------- next part -------------- A non-text attachment was scrubbed... Name: customMakefiles.diff Type: text/x-patch Size: 11512 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120526/f6560f71/customMakefiles.diff From jvanek at redhat.com Sat May 26 12:56:02 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Sat, 26 May 2012 21:56:02 +0200 Subject: [rfc][icedtea-web] handling of multiple testing certificates in bulk Message-ID: <4FC13552.6090606@redhat.com> Hi! There come an need to test applications consisted from several jars, each signed by different certificate. Also there is need to work with diferent certificates in custom-makefiles reproducers. This changeset is introducing unlimited number of certificates for future purposes. Even if this multiple certs will never be used, I'm for put it in, because it is gathering copy pasted code to variables. J. * Makefile.am: EXPORTED_TEST_CERT by EXPORTED_TEST_CERT_PREFIX and EXPORTED_TEST_CERT_SUFIX for further composition SIGNED_REPRODUCERS new variable for iterating through signed reproducers SIMPLE_REPRODUCERS new variable for iterating through simple reproducers ALL_REPRODUCER new variable for iterating through all reproducers (junit-jnlp-dist-signed.txt) replaced by (stamps/junit-jnlp-dist-signed.stamp) which generates junit-jnlp-dist-signedX.txt for each directory with signed reproducers (stamps/netx-dist-tests-prepare-reproducers.stamp) (stamps/change-dots-to-paths.stamp) (stamps/netx-dist-tests-compile-testcases.stamp) (run-netx-dist-codecoverage): extracted variables (clean-netx-dist-tests): iterates through all the list and removes them (stamps/netx-dist-tests-sign-some-reproducers.stamp): now iterate through SIGNED_REPRODUCERS and creates special certificate for each member. Each jar from this directory is then signed by corresponding certificate (netx-dist-tests-remove-cert-from-public): iterates through all certificates (stamps/netx-dist-tests-import-cert-to-public): exports each certificate created during tests preparations ($(EXPORTED_TEST_CERT)) replaced by stamps/exported-test-certs.stamp which create for each of SIGNED_REPRODUCERS individual certificate (tests/jnlp_tests/README): mentioned possibility of multiple certificates -------------- next part -------------- A non-text attachment was scrubbed... Name: multipleCertificates.diff Type: text/x-patch Size: 8398 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120526/e7c6d21e/multipleCertificates.diff From bugzilla-daemon at icedtea.classpath.org Sun May 27 06:21:33 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 27 May 2012 13:21:33 +0000 Subject: [Bug 1014] New: eclipse crach Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1014 Priority: P3 Bug ID: 1014 Assignee: unassigned at icedtea.classpath.org Summary: eclipse crach Severity: normal Classification: Unclassified OS: Linux Reporter: offan at list.ru Hardware: x86_64 Status: NEW Version: unspecified Component: IcedTea Product: IcedTea Created attachment 695 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=695&action=edit An error report file eclipse--import--git-url # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f9052537e00, pid=18530, tid=140257736439552 # # JRE version: 6.0_24-b24 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.11.1 # Distribution: Debian GNU/Linux unstable (sid), package 6b24-1.11.1-6 # Problematic frame: # V [libjvm.so+0x478e00] PhaseIFG::re_insert(unsigned int)+0xf0 # # An error report file with more information is saved as: # /tmp/hs_err_pid18530.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120527/3b06353f/attachment.html From jvanek at redhat.com Mon May 28 02:07:04 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 28 May 2012 11:07:04 +0200 Subject: [rfc] [icedtea-web] get rid of repated sout/serr in reproducers testcases In-Reply-To: <4FBFD8BE.1060806@redhat.com> References: <4FBF8140.3000705@redhat.com> <4FBFD8BE.1060806@redhat.com> Message-ID: <4FC34038.4000200@redhat.com> On 05/25/2012 09:08 PM, Danesh Dadachanji wrote: > On 25/05/12 08:55 AM, Jiri Vanek wrote: >> Hi! >> >> I would like to get rid of repeating std out/err reprint in reproducers by moving this into >> ServerAccess class. This patch is adding >> simple loging interface for stdout/err and (mainly) is hiding reprinting (logging since now:-) of >> processes out/err and "connectng: " >> message into executeProcess. >> >> My goal in longer term is to have html file (generated from logged xml file probably) which I will >> be able to link (anchor inlcuded) >> from current test results html files.And so I will be able to quickly find whats wrong. Now it is >> becoming little bit painfull. >(Both >> stdou/err of processes and searching in looong output file) >> >> Saad, Danesh - you have number of reproducers in development. Please count with this change. >> >> > > Thanks for letting us know. I have some comments below. Could you also add a ChangeLog entry? > All issues should be fixed. Except renaming - i Renamed it little bit differently: logErrorReprint and logOutputReprint. Thats because I would like chars before auto-completion finish it for me as short as possible:) Sorry of changelog inside patch, but I accidentally make some work in same branch before sending to you. > >> diff -r 2c84a314c411 tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java >> --- a/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Thu May 24 15:37:30 >> 2012 -0400 >> +++ b/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Fri May 25 14:36:05 >> 2012 +0200 > >> @@ -168,12 +156,15 @@ >> if (old.contains(string)) { >> continue; >> } >> - System.out.println("Killing " + string); >> - ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"kill", >> "-9", string})); >> + ServerAccess.logO("Killing " + string); > > Add a space for indenting please! (Surprised I caught this even, guess it just happened to stand :/ ) > > [snip] > >> @@ -181,23 +172,26 @@ >> private static List countJavaInstances() throws Exception { >> ensureLinux(); >> List result = new ArrayList(); >> - ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"ps", >> "-eo", "pid,ppid,stat,fname"})); >> - Matcher m = Pattern.compile("\\s*\\d+\\s+\\d+ .+ java\\s*").matcher(pr.stdout); >> - //System.out.println(pr.stdout); >> - //System.err.println(pr.stderr); >> + ServerAccess.PROCES_LOG = false; >> + try { >> + ServerAccess.ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{"ps", >> "-eo", "pid,ppid,stat,fname"})); >> + Matcher m = Pattern.compile("\\s*\\d+\\s+\\d+ .+ java\\s*").matcher(pr.stdout); >> int i = 0; >> while (m.find()) { >> i++; >> String ss = m.group(); >> - //System.out.println(i+": "+ss); >> + //ServerAccess.logO(i+": "+ss); >> result.add(ss.trim().split("\\s+")[0]); >> } >> + } finally { >> + ServerAccess.PROCES_LOG = true; >> + } > > Indentation of this chunk looks a bit off, could you double check it? > > [snip] > >> diff -r 2c84a314c411 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java >> --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Thu May 24 15:37:30 2012 >> -0400 >> +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Fri May 25 14:36:05 2012 >> +0200 >> @@ -116,6 +116,10 @@ >> * all terminated processes are stored here. As wee need to 'wait' to termination to be finished. >> */ >> private static Set terminated = new HashSet(); >> + /** >> + * this flag is indicating whether ooutput of executeProcess should be logged. By default true. >> + */ > > s/ooutput/output/ > I think also for style, we use single lined comments for class vars - /** >> + public static boolean PROCES_LOG=true; >> > > Could you refactor this so that it's s/PROCES/PROCESS/ > > Also, there are lots of missing spaces in this patch, e.g. around the '=' above. Could you please > space correctly, thanks! > >> /** >> * main method of this class prints out random free port >> @@ -720,9 +724,72 @@ >> return executeProcess(args, dir, null, null); >> } >> >> - public static ProcessResult executeProcess(final List args,File >> dir,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { >> >> - ThreadedProcess t = new ThreadedProcess(args,dir); >> + private static String createConnectionMessage(ThreadedProcess t) { >> + return "Connecting " + t.getCommandLine(); >> + } >> + >> + public static void logE(String s) { >> + log(s, false, true); >> + } >> + >> + public static void logO(String s) { >> + log(s, true, false); >> + } >> + > > Could you name these logStdErr and logStdOut instead? Either that or add javadoc please. Seeing > these outside of this class may throw some newcomers off. > >> + private static void log(String message, boolean out, boolean err) { >> + String idded; >> + StackTraceElement ste = getTestMethod(); >> + String fullId=ste.getClassName()+"."+ste.getMethodName(); >> + if (message.contains("\n")) { >> + idded = fullId + ": \n" + message+"\n"+fullId+" ---"; >> + } else { >> + idded = fullId + ": " + message; >> + >> + } >> + if (out) { >> + System.out.println(idded); >> + } >> + if (err) { >> + System.err.println(idded); >> + } >> + } >> + > > Again, could you name the bools printToOut and printToErr? > > Thanks for doing this! > > Cheers, > Danesh -------------- next part -------------- A non-text attachment was scrubbed... Name: logingForProcesses2.diff Type: text/x-patch Size: 72970 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/dc40dc27/logingForProcesses2.diff From bugzilla-daemon at icedtea.classpath.org Mon May 28 02:34:24 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 09:34:24 +0000 Subject: [Bug 708] can't copy or paste text in the text areas In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=708 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jvanek at redhat.com --- Comment #6 from JiriVanek --- IMHO - we definitely can not allow the copy paste injection. But what about handling ctrl+c +ctrl-v manually in netx (for most common components like jtextfield, jtextarea, jeditorpane... it should be easy) ? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/c430bc5b/attachment.html From ptisnovs at icedtea.classpath.org Mon May 28 02:48:20 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 28 May 2012 09:48:20 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/PrintTestCircles.java: Message-ID: changeset 4fab4e61a60a in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=4fab4e61a60a author: Pavel Tisnovsky date: Mon May 28 11:20:35 2012 +0200 * src/org/gfxtest/testsuites/PrintTestCircles.java: Added nine new tests to this test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/PrintTestCircles.java | 378 +++++++++++++++++++++++ 2 files changed, 383 insertions(+), 0 deletions(-) diffs (400 lines): diff -r b56f62052e46 -r 4fab4e61a60a ChangeLog --- a/ChangeLog Fri May 25 12:07:03 2012 +0200 +++ b/ChangeLog Mon May 28 11:20:35 2012 +0200 @@ -1,3 +1,8 @@ +2012-05-28 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestCircles.java: + Added nine new tests to this test suite. + 2012-05-25 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestLines.java: diff -r b56f62052e46 -r 4fab4e61a60a src/org/gfxtest/testsuites/PrintTestCircles.java --- a/src/org/gfxtest/testsuites/PrintTestCircles.java Fri May 25 12:07:03 2012 +0200 +++ b/src/org/gfxtest/testsuites/PrintTestCircles.java Mon May 28 11:20:35 2012 +0200 @@ -288,6 +288,384 @@ /** * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_BUTT. + * Join style is set to bevel style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapButtJoinBevel(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_ROUND. + * Join style is set to bevel style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapRoundJoinBevel(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_SQUARE. + * Join style is set to bevel style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapSquareJoinBevel(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_BUTT. + * Join style is set to miter style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapButtJoinMiter(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_ROUND. + * Join style is set to miter style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapRoundJoinMiter(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_SQUARE. + * Join style is set to miter style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapSquareJoinMiter(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_BUTT. + * Join style is set to round style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapButtJoinRound(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_ROUND. + * Join style is set to round style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapRoundJoinRound(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). + * Circles are rendered with various width and end caps set to CAP_SQUARE. + * Join style is set to round style. + * Color of all rendered circles are set to black. + * + * @param image + * image to which circles are to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testDrawCircleChangeWidthCapSquareJoinRound(TestImage image, Graphics2D graphics2d) + { + drawCircle(image, graphics2d, CIRCLE_RADIUS_STEP << 1, new CommonCircleDrawCallbacks() + { + private float strokeWidth = 0.0f; + + /** + * Callback function called before each circle is rendered. + */ + @Override + public void iterationCallBack(int x, int y, int radius, int maxRadius, int index) + { + this.graphics.setStroke(new BasicStroke(this.strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND)); + changeStrokeWidth(); + return; + } + + /** + * Changes stroke width. + */ + private void changeStrokeWidth() + { + this.strokeWidth = this.strokeWidth < MAX_STROKE_WIDTH ? this.strokeWidth + 0.5f : this.strokeWidth; + } + }); + + // test return value + return TestResult.PASSED; + } + + /** + * Test basic behavior of method Graphics.drawOval(). * Circles are rendered with various width and default end caps. * Color of all rendered circles are set to black. * From aph at redhat.com Mon May 28 05:00:12 2012 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 May 2012 13:00:12 +0100 Subject: ARM: a very small change. Message-ID: <4FC368CC.50901@redhat.com> atomic_copy64 is used by Object.clone(). It's used instead of memcpy() because otherwise a copy might be interrupted partway through copying a jlong. We were using the generic code on ARM, but we really should make sure we use an atomic load. This only really matters on multi-core ARMs; on others the 64-bit read is restarted after an interrupt. Andrew. 2012-05-28 Andrew Haley * os_linux_zero.hpp (atomic_copy64): Use ldrexd for atomic reads on ARMv7. diff -r 73a07d24174e src/os_cpu/linux_zero/vm/os_linux_zero.hpp --- a/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Thu May 17 13:45:50 2012 -0400 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Mon May 28 07:54:46 2012 -0400 @@ -48,6 +48,12 @@ "std %0, 0(%2)\n" : "=r"(tmp) : "a"(src), "a"(dst)); +#elif defined(__ARM_ARCH_7A__) + jlong tmp; + asm volatile ("ldrexd %0, [%1]\n" + : "=r"(tmp) + : "r"(src), "m"(src)); + *(jlong *) dst = tmp; #else *(jlong *) dst = *(jlong *) src; #endif From bugzilla-daemon at icedtea.classpath.org Mon May 28 05:31:36 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 12:31:36 +0000 Subject: [Bug 1015] New: Absolute codebase and download URL collission? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1015 Priority: P3 Bug ID: 1015 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: Absolute codebase and download URL collission? Severity: major Classification: Unclassified OS: Linux Reporter: yomo at fantasymail.de Hardware: x86 Status: NEW Version: unspecified Component: Plugin Product: IcedTea-Web The following code inside the web page leads to an IOException:
... ... leads to: Consumption (priority=true) completed by consumer thread 2 java.io.IOException: http://chat.knuddels.de/http://www.knuddels.de/applet.jnlp?appletversion=90amz&width=539&height=280 at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:255) why is the URL connected with the codebase entry in such a way? Is this an error inside the web page or in icedtea? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/4106f196/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 28 05:33:19 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 12:33:19 +0000 Subject: [Bug 1015] Absolute codebase and download URL collission? In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1015 --- Comment #1 from FLoh --- Forgot version: IcedTea-Web Plugin (using IcedTea-Web 1.1.1 (1.1.1-0ubuntu1~11.04.2)) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/6b408fe8/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 28 05:33:53 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 12:33:53 +0000 Subject: [Bug 1015] Absolute codebase and download URL collission? In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1015 FLoh changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.1.1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/30a1be20/attachment.html From aph at redhat.com Mon May 28 05:46:52 2012 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 May 2012 13:46:52 +0100 Subject: ARM: Fix occasional safepoint crash Message-ID: <4FC373BC.6070806@redhat.com> We have been seeing occasional crashes, sometimes in the garbage collector, on ARM. These tended to happen at times of high memory allocation and therefore lots of GC activity. With help from Andrew Dinn I found the problem. The frame walking code that finds roots during garbage collection wals the stack, so you have to make sure that the saved SP is correct. It wasn't: the C++ interpreter assumes that the TOS item is saved at sp[1], not sp[0]. That is to say, the code used to get the address of the top item is: inline intptr_t* frame::interpreter_frame_tos_address() const { return get_interpreterState()->_stack + 1; } It's easy enough to fix this: adjust the saved SP when we enter a safepoint. Andrew. diff -r f293db049783 src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Mon May 28 08:01:18 2012 -0400 +++ b/src/cpu/zero/vm/thumb2.cpp Mon May 28 08:39:18 2012 -0400 @@ -4244,6 +4244,15 @@ //if (offset != 0) { Thumb2_save_locals(jinfo, stackdepth); //} + + // The frame walking code used by the garbage collector + // (frame::interpreter_frame_tos_address()) assumes that the stack + // pointer points one word below the top item on the stack, so we + // have to adjust the SP saved in istate accordingly. If we don't, + // the value on TOS won't be seen by the GC and we will crash later. + sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); + store_istate(jinfo, ARM_R0, ISTATE_STACK, stackdepth); + mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); add_imm(jinfo->codebuf, ARM_R2, ISTATE_REG(jinfo), ISTATE_OFFSET(jinfo, stackdepth, 0)); From phatina at redhat.com Mon May 28 06:49:34 2012 From: phatina at redhat.com (Peter Hatina) Date: Mon, 28 May 2012 15:49:34 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac Message-ID: <1338212974-4333-1-git-send-email-phatina@redhat.com> Hi, I fixed few things Jiri Vanek suggested and send the patch for another review. Thanks, Peter Hatina EMEA ENG-Desktop Development Red Hat Czech, Brno --- ChangeLog | 8 ++++++++ NEWS | 1 + acinclude.m4 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 82c0feb..d6f7e0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-05-28 Peter Hatina + + Introduced configure option --with-gtk=2.0|3.0 to be able to compile + against different version of GTK+ (2.x or 3.x). + *NEWS: mentioned bug fix + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS + (GTK_CHECK) macro for checking GTK+ version + 2012-05-02 Jiri Vanek Introduced new annotations Bug (to connect test/reproducer with documentation) diff --git a/NEWS b/NEWS index 8397639..30eb055 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass * Common - PR918: java applet windows uses a low resulution black/white icon + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries New in release 1.2 (2011-XX-XX): * Security updates: diff --git a/acinclude.m4 b/acinclude.m4 index a330d0f..f3ed46f 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], AC_MSG_RESULT(${enable_plugin}) ]) +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], [ACTION-IF-NOT]) +AC_DEFUN([GTK_CHECK_VERSION], +[ + if pkg-config --modversion gtk+-$1 &> /dev/null; then + $2 + else + $3 + fi +]) + +dnl GTK_SET_CXX_VARS([gtk version]) +AC_DEFUN([GTK_SET_CXX_VARS], +[ + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` + GTK_LIBS=`pkg-config --libs gtk+-$1` +]) + +dnl GTK_CHECK([gtk version]) +AC_DEFUN([GTK_CHECK], +[ + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], + [ + case "$1" in + default) + GTK_CHECK_VERSION(["3.0"], + [echo -n "3.0" + GTK_SET_CXX_VARS(["3.0"])], + [GTK_CHECK_VERSION(["2.0"], + [echo -n "2.0" + GTK_SET_CXX_VARS(["2.0"])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([GTK+ not found])])]) + ;; + *) + GTK_CHECK_VERSION([$1], + [echo -n "$1" + GTK_SET_CXX_VARS([$1])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([GTK+ $1 not found])]) + ;; + esac + ]) +]) + AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], [ dnl Check for plugin support headers and libraries. dnl FIXME: use unstable AC_REQUIRE([IT_CHECK_PLUGIN]) if test "x${enable_plugin}" = "xyes" ; then - PKG_CHECK_MODULES(GTK, gtk+-2.0) + AC_ARG_WITH([gtk], + [AS_HELP_STRING([--with-gtk=2.0|3.0], + [the GTK+ version to use (default: 3.0)])], + [case "$with_gtk" in + 2.0|3.0) ;; + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; + esac], + [with_gtk=default]) + GTK_CHECK([$with_gtk]) PKG_CHECK_MODULES(GLIB, glib-2.0) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) -- 1.7.10.2 From adomurad at redhat.com Mon May 28 07:11:52 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 28 May 2012 10:11:52 -0400 Subject: [rfc][icedtea-web] Ignore invalid .jar files specified for plugin In-Reply-To: <4FBFF760.2050207@redhat.com> References: <1337973468.323.4.camel@voip-10-15-18-79.yyz.redhat.com> <4FBFF760.2050207@redhat.com> Message-ID: <1338214312.323.12.camel@voip-10-15-18-79.yyz.redhat.com> [Replying to list this time] Thanks for the informative reply & discussion ! If still relevant with your changes to JCV in the works, here's just the refactoring attached. On Fri, 2012-05-25 at 17:19 -0400, Danesh Dadachanji wrote: > Hi Adam, > > On 25/05/12 03:17 PM, Adam Domurad wrote: > > So, first patch that isn't something trivial, I'll definitely need > > people to weigh in on this one. > > > > The proprietary plug-in seems to just skip over any malformed .jar files > > and carry on loading. This patch emulates that behaviour. > > This alleviates some of the symptoms of > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 > > However, the plugin should still parse folders differently and look for > > resources in folders like the proprietary plug-in does. > > > > Just to summarize what we discussed on IRC, these changes do not belong in JCV. IMO, IcedTea-Web should never think of this extra dir > as a jar. Going through the stack trace, the verification call happens in JNLPClassLoader#initializeResources. The first line of that > method (eventually) points to where the change should be, in grabbing the resources from the HTML page. IMO these changes are more > suited for PluginBridge#getResources[1], right before the names passed into the archive attribute are turned into JARDescs. Keep in > mind CodeBaseClassLoader for adding things that are actually in the specified dir. Thanks Omair for pointing this out! > > Remember to watch out for the plugin being called using jnlp_href, these dirs should not be accepted then. > > There are a few more comments below. > > > ChangeLog: > > 2012-05-25 Adam Domurad > > > > It went from one space to no spaces! :O 2 > > > Ignore invalid jar files, like the oracle plugin does. > > * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Added extra > > possible verification result, INVALID_JAR. This value occurs if the > > .jar file could not be properly loaded. The .jar file is then ignored. > > > > > > > > ignore-invalid-jars.patch > > > > > > diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > > --- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > > > > +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java > > @@ -183,9 +185,7 @@ public class JarCertVerifier implements > > verifiedJars = new ArrayList(); > > unverifiedJars = new ArrayList(); > > > > - for (int i = 0; i< jars.size(); i++) { > > - > > - JARDesc jar = jars.get(i); > > + for (JARDesc jar : jars) { > > > > try { > > > > In general, I would prefer things like refactoring that aren't directly related to your changes to be in separate patches. Especially > for such a sensitive class like JCV. =) Please feel free to pull these chunks out into a different changeset though! > > Cheers, > Danesh > > > [1] http://icedtea.classpath.org/hg/icedtea-web/file/6df151bb5320/netx/net/sourceforge/jnlp/PluginBridge.java#l209 -------------- next part -------------- A non-text attachment was scrubbed... Name: refactoring-only.patch Type: text/x-patch Size: 2957 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/caba4c9b/refactoring-only.patch From ahughes at redhat.com Mon May 28 08:03:24 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Mon, 28 May 2012 11:03:24 -0400 (EDT) Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: <1338212974-4333-1-git-send-email-phatina@redhat.com> Message-ID: ----- Original Message ----- > Hi, > > I fixed few things Jiri Vanek suggested and send the patch for > another review. > > Thanks, > > Peter Hatina > EMEA ENG-Desktop Development > Red Hat Czech, Brno > > --- > ChangeLog | 8 ++++++++ > NEWS | 1 + > acinclude.m4 | 54 > +++++++++++++++++++++++++++++++++++++++++++++++++++++- > 3 files changed, 62 insertions(+), 1 deletion(-) > > diff --git a/ChangeLog b/ChangeLog > index 82c0feb..d6f7e0c 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,11 @@ > +2012-05-28 Peter Hatina > + > + Introduced configure option --with-gtk=2.0|3.0 to be able to > compile > + against different version of GTK+ (2.x or 3.x). > + *NEWS: mentioned bug fix > + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS > + (GTK_CHECK) macro for checking GTK+ version > + > 2012-05-02 Jiri Vanek > > Introduced new annotations Bug (to connect test/reproducer with > documentation) > diff --git a/NEWS b/NEWS > index 8397639..30eb055 100644 > --- a/NEWS > +++ b/NEWS > @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): > - PR895: IcedTea-Web searches for missing classes on each > loadClass or findClass > * Common > - PR918: java applet windows uses a low resulution black/white > icon > + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries > > New in release 1.2 (2011-XX-XX): > * Security updates: > diff --git a/acinclude.m4 b/acinclude.m4 > index a330d0f..f3ed46f 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], > AC_MSG_RESULT(${enable_plugin}) > ]) > > +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], > [ACTION-IF-NOT]) > +AC_DEFUN([GTK_CHECK_VERSION], > +[ > + if pkg-config --modversion gtk+-$1 &> /dev/null; then > + $2 > + else > + $3 > + fi > +]) > + > +dnl GTK_SET_CXX_VARS([gtk version]) > +AC_DEFUN([GTK_SET_CXX_VARS], > +[ > + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` > + GTK_LIBS=`pkg-config --libs gtk+-$1` > +]) > + > +dnl GTK_CHECK([gtk version]) > +AC_DEFUN([GTK_CHECK], > +[ > + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], > + [ > + case "$1" in > + default) > + GTK_CHECK_VERSION(["3.0"], > + [echo -n "3.0" > + GTK_SET_CXX_VARS(["3.0"])], > + [GTK_CHECK_VERSION(["2.0"], > + [echo -n "2.0" > + GTK_SET_CXX_VARS(["2.0"])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ not found])])]) > + ;; > + *) > + GTK_CHECK_VERSION([$1], > + [echo -n "$1" > + GTK_SET_CXX_VARS([$1])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ $1 not found])]) > + ;; > + esac > + ]) > +]) > + > AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], > [ > dnl Check for plugin support headers and libraries. > dnl FIXME: use unstable > AC_REQUIRE([IT_CHECK_PLUGIN]) > if test "x${enable_plugin}" = "xyes" ; then > - PKG_CHECK_MODULES(GTK, gtk+-2.0) > + AC_ARG_WITH([gtk], > + [AS_HELP_STRING([--with-gtk=2.0|3.0], > + [the GTK+ version to use (default: 3.0)])], > + [case "$with_gtk" in > + 2.0|3.0) ;; > + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; > + esac], > + [with_gtk=default]) > + GTK_CHECK([$with_gtk]) > PKG_CHECK_MODULES(GLIB, glib-2.0) > AC_SUBST(GLIB_CFLAGS) > AC_SUBST(GLIB_LIBS) > -- > 1.7.10.2 > > Thanks for the patch. Two main points and two minor ones. Main ones: 1. Why are we manually calling 'pkg-config' (hard-coded to rely on $PATH) rather than using the existing macros, as the code being replaced does. For example, these use $PKG_CONFIG and support $PKG_CONFIG_PATH. 2. The new macros should also have the ITW_ prefix in their name. (I presume CHECK_PLUGIN_DEPENDENCIES only has IT_ as it originates from IcedTea). Minor issues: 1. Why not just --with-gtk=2? Or better, --with-gtk-version=2? 2.0 is confusing because most people will have something like 2.24. 2. Shouldn't "default" be allowed through the case block in IT_CHECK_PLUGIN_DEPENDENCIES? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Mon May 28 08:04:56 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 15:04:56 +0000 Subject: [Bug 1015] Absolute codebase and download URL collission? In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1015 Danesh Dadachanji changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |ddadacha at redhat.com Assignee|dbhole at redhat.com |ddadacha at redhat.com --- Comment #2 from Danesh Dadachanji --- Thanks for reporting this! I had already taken a look at this a couple of months ago and posted a patch[1] for review. Once I've written a test for it, it will be pushed to IcedTea-Web HEAD. I will close this bug as resolved once it is pushed. [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017665.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/e07c6203/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 28 08:06:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 15:06:29 +0000 Subject: [Bug 880] Problem loading JogAmp 2.0 JOGL applets In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=880 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |1.2 --- Comment #5 from Xerxes R?nby --- Using IcedTea-web 1.2 and Ubuntu 12.04 all kinds of applet types, dual, N ans L applets worked fine for the signed jogl version applet: 2: signed jogl version applet 1: signed JOGL 0: signed GlueGen http://jogamp.org/deployment/jogamp-current/jogl-applet-version.html - OK dual (using Lapplet fallback) http://jogamp.org/deployment/jogamp-current/jogl-applet-version-lancheronly.html - OK Lapplet http://jogamp.org/deployment/jogamp-current/jogl-applet-version-napplet.html - OK Napplet http://jogamp.org/deployment/jogamp-current/jogl-application-version.jnlp - OK (javaws netx) IcedTea-web 1.2 is fixed and reports the JOGL certificate as valid. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/0cc9c947/attachment.html From adinn at redhat.com Mon May 28 08:11:54 2012 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 28 May 2012 16:11:54 +0100 Subject: ARM: Fix occasional safepoint crash In-Reply-To: <4FC373BC.6070806@redhat.com> References: <4FC373BC.6070806@redhat.com> Message-ID: <4FC395BA.1090107@redhat.com> On 28/05/12 13:46, Andrew Haley wrote: > We have been seeing occasional crashes, sometimes in the garbage > collector, on ARM. These tended to happen at times of high memory > allocation and therefore lots of GC activity. > > With help from Andrew Dinn I found the problem. The frame walking > code that finds roots during garbage collection wals the stack, so you > have to make sure that the saved SP is correct. It wasn't: the C++ > interpreter assumes that the TOS item is saved at sp[1], not sp[0]. > That is to say, the code used to get the address of the top item is: > > inline intptr_t* frame::interpreter_frame_tos_address() const { > return get_interpreterState()->_stack + 1; > } > > It's easy enough to fix this: adjust the saved SP when we enter a > safepoint. This patch certainly looks fine by eyeball. I have successfully rebuilt with this patch (I also included the previously posted patch which ensures 64 bit long copies are atomic) and the rerun the SpecJVM tests which previously manifested the failures -- specifically compiler.compiler and compiler.sunflow -- and did not see the previous SEGV errors. I also reran these same tests with the tweaked VM which forces regular and frequent garbage collections and once again no SEGV errors manifested. Although this is clearly conclusive proof that the problem is solved I think it is a good enough test to suggest that this patch should be committed. regards, Andrew Dinn ----------- From aph at icedtea.classpath.org Mon May 28 08:27:27 2012 From: aph at icedtea.classpath.org (aph at icedtea.classpath.org) Date: Mon, 28 May 2012 15:27:27 +0000 Subject: /hg/release/icedtea7-forest-2.1/hotspot: 3 new changesets Message-ID: changeset 73a07d24174e in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=73a07d24174e author: aph date: Thu May 17 13:45:50 2012 -0400 RTC Thumb2 JIT enhancements. 2012-05-16 Andrew Haley * src/cpu/zero/vm/thumb2.cpp: Throughout: T2EE_PRINT_* renamed to T2_PRINT_*. Route all debug info to stderr. We now do frameless compilation, so do all frame accesses relative to SP. Remove zombie detection pass. Remove dead code. Add OSPACE option. (H_LDC_W) (H_INVOKESTATIC_RESOLVED, H_INVOKESPECIAL_RESOLVED) (H_INVOKEVIRTUAL_RESOLVED, H_INVOKEVFINAL, H_MONITORENTER) (H_MONITOREXIT): New. (T2_* macros): Rename from T2EE_*. (SLOW_ENTRY_OFFSET, FAST_ENTRY_OFFSET): New. (THUMB2_CODEBUF_SIZE): Make this depend on PRODUCT. (H_GETSTATIC, H_PUTSTATIC, H_JSR, H_ZOMBIE, H_MONITOR): Delete. (H_DEADCODE, H_LDC_W, H_INVOKESTATIC_RESOLVED) (H_INVOKESPECIAL_RESOLVED, H_INVOKEVIRTUAL_RESOLVED) (H_INVOKEVFINAL): New. (DebugSwitch): New. (JAZ_V6): New local register. (Thumb2_pass1): Count reads and writes for register allocator. Delete zombie detection pass. (Thumb2_RegAlloc): New. (out_align, out_align_offset, nop_16, nop_32): New. (fullBarrier, storeBarrier): Chaeck for an MP OS. (load_local, store_local): Check for an istate reg. (load_istate, store_istate): New. (Thumb2_Load, Thumb2_LoadX2): Remove monitor stack adj. (Thumb2_Store, Thumb2_StoreX2): Likewise. (Debug): New. (Thumb2_save_locals, Thumb2_restore_locals, Thumb2_invoke_save) (Thumb2_invoke_restore, Thumb2_Exit): Remove monitor stackdepth adj. Move here from below. (Thumb2_Accessor): Rewrite for new method header layout. (Thumb2_Enter): Likewise. Do frameless setup. (Thumb2_load_long): Use a single ldrexd instruction. (Thumb2_codegen): Align branches. Call Debug if we're about to enter a synchronized method. (opc_jsr) Add handler. (opc_monitorenter, opc_monitorexit): Call handler instead of generating code. (Thumb2_Initialize): Disassmble ARM and Thumb code separately. * src/cpu/zero/vm/cppInterpreter_arm.S: Throughout: the thread pointer is now in a register, so use it everywhere. Set the thread pointer register at every entry point to the interpreter. Throughout: use the macros SLOW_ENTRY and FAST_ENTRY rather than ALIGN_CODE. Throughout: register tmp2 is no longer available, use other registers as appropriate. (T2JIT): Rename from THUMB2EE. (call_thumb2): Load all the thumb2 registers that have been allocated to locals. (accessor_entry): Check for stack overflow. (.fast_accessor_*): Delete dead code. (LOAD_FRAME): New. (Thumb2_invokevfinalresolved_stub) (Thumb2_invokevirtualresolved_stub): New. (Thumb2_invokestaticresolved_stub): New. (Thumb2_invokespecialresolved_stub): New. (Thumb2 stubs): Use FRAME_* rather than ISTATE_*; the frame pointer is no longer in a fixed register. (JAZ_REGSET, JAZ_*): Move delaration of JAZ registers here. (Thumb2_monitorenter): New. (normal_entry_synchronized): Rearrange so that we can load the thread pointer without exceeding the number of instructions that we can fit into the gap between SLOW_ENTRY and FAST_ENTRY. (normal_entry): Likewise. (MP_COMPILE_THRESHOLD, UP_COMPILE_THRESHOLD): Adjust. (TBIT): New. (FRAME_METHOD, FRAME_CONSTANTS, FRAME_BCP, FRAME_STACK_LIMIT) (FRAME_LOCALS, FRAME_STACK): New. (SLOW_ENTRY, FAST_ENTRY, SLOW_ENTRY_OFFSET, FAST_ENTRY_OFFSET): New. (LOAD_ISTATE): New. (DECACHE_STACK_USING_FRAME, DECACHE_JPC_USING_FRAME): New. (TRACE): Save and restore IP. Pass istate to my_trace(). (Opcode monitorenter): Remove all the assembler code and replace it with a call to Helper_monitorenter. * src/cpu/zero/vm/bytecodes_arm.def: Throughout: register tmp2 is no longer available, use other registers as appropriate. (lgetfield): Use ldrexd to load a jlong rather than an ldrexd/strexd loop. * src/cpu/zero/vm/asm_helper.cpp (ARCH_THUMB2): Renamed from ARCH_THUMBEE. (my_trace): New. (Helper_monitorenter): New. (Helper_monitorexit): New. changeset f293db049783 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=f293db049783 author: aph date: Mon May 28 08:01:18 2012 -0400 Use ldrexd for atomic reads on ARMv7. 2012-05-28 Andrew Haley * os_linux_zero.hpp (atomic_copy64): Use ldrexd for atomic reads on ARMv7. changeset 5b6a9a63a280 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=5b6a9a63a280 author: aph date: Mon May 28 08:48:42 2012 -0400 Adjust saved SP when safepointing. 2012-05-28 Andrew Haley * thumb2.cpp (Thumb2_Safepoint): Adjust saved SP when safepointing. diffstat: src/cpu/zero/vm/asm_helper.cpp | 116 +- src/cpu/zero/vm/bytecodes_arm.def | 1564 ++++++++++---------- src/cpu/zero/vm/cppInterpreter_arm.S | 2060 ++++++++++++++------------- src/cpu/zero/vm/thumb2.cpp | 2041 ++++++++++----------------- src/os_cpu/linux_zero/vm/os_linux_zero.hpp | 6 + 5 files changed, 2737 insertions(+), 3050 deletions(-) diffs (truncated from 10805 to 500 lines): diff -r 85de6921e39e -r 5b6a9a63a280 src/cpu/zero/vm/asm_helper.cpp --- a/src/cpu/zero/vm/asm_helper.cpp Wed May 16 11:21:07 2012 +0100 +++ b/src/cpu/zero/vm/asm_helper.cpp Mon May 28 08:48:42 2012 -0400 @@ -19,7 +19,7 @@ #ifdef __arm__ -#define ARCH_THUMBEE (1<<16) +#define ARCH_THUMB2 (1<<16) #define ARCH_VFP (1<<17) #define ARCH_CLZ (1<<18) @@ -50,6 +50,31 @@ #define VECBUFF_SIZE 64 +static char valuebuf[128]; + +// Return the name of the current method. Not multi-thread safe. +extern "C" char* +meth(interpreterState istate) { + istate->method()->name_and_sig_as_C_string(valuebuf, sizeof valuebuf); + char *p = valuebuf + strlen(valuebuf); + sprintf(p, ": " PTR_FORMAT " (bci %d)", + (intptr_t) istate->bcp(), + istate->method()->bci_from(istate->bcp())); + return valuebuf; +} + +// Used for debugging the interpreter. The macro TRACE in +// cppInterpreter_arm.S calls this routine, and you can trap on a +// particular method. +#define NAME1 "sun.nio.ch.FileChannelImpl$Unmapper.run()V" +#define EQ(S1, S2) (S1 && (strncmp(S1, S2, strlen(S2)) == 0)) +extern "C" void my_trace(void *jpc, void *istate) +{ + char *name = meth((interpreterState)istate); + if (EQ(name, NAME1)); + asm volatile("nop"); // Somewhere to put a breakpoint +} + extern "C" unsigned hwcap(void) { int fd; @@ -70,7 +95,7 @@ unsigned value = *p++; if (tag == 0) goto fini; if (tag == AT_HWCAP) { - if (value & HWCAP_THUMBEE) rc |= ARCH_THUMBEE; + if (value & HWCAP_THUMBEE) rc |= ARCH_THUMB2; if (value & HWCAP_VFP) rc |= ARCH_VFP; } else if (tag == AT_PLATFORM) { const char *s = (const char *)value; @@ -87,7 +112,7 @@ close(fd); // printf("arch = %d, rc = 0x%08x\n", arch, rc); if (arch >= 5) rc |= ARCH_CLZ; - if (arch >= 7) rc |= ARCH_THUMBEE; + if (arch >= 7) rc |= ARCH_THUMB2; return rc | (1<thread()->pending_exception(); } +extern "C" oop Helper_monitorenter(interpreterState istate, oop lockee) +{ + BasicObjectLock* limit = istate->monitor_base(); + BasicObjectLock* most_recent = (BasicObjectLock*) istate->stack_base(); + BasicObjectLock* entry = NULL; + markOop displaced; + JavaThread *thread = istate->thread(); + + if (lockee == NULL) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + goto handle_exception; + } + while (most_recent != limit ) { + if (most_recent->obj() == NULL) entry = most_recent; + else if (most_recent->obj() == lockee) break; + most_recent++; + } + if (entry == NULL) { + int monitor_words = frame::interpreter_frame_monitor_size(); + ZeroStack *stack = thread->zero_stack(); + + if (monitor_words > stack->available_words()) { + InterpreterRuntime::throw_StackOverflowError(thread); + goto handle_exception; + } else { + stack->alloc(monitor_words * wordSize); + + for (intptr_t *p = istate->stack() + 1; p < istate->stack_base(); p++) + *(p - monitor_words) = *p; + + istate->set_stack_limit(istate->stack_limit() - monitor_words); + istate->set_stack(istate->stack() - monitor_words); + istate->set_stack_base(istate->stack_base() - monitor_words); + + entry = (BasicObjectLock *) istate->stack_base(); + } + } + entry->set_obj(lockee); + displaced = lockee->mark()->set_unlocked(); + entry->lock()->set_displaced_header(displaced); + if (Atomic::cmpxchg_ptr(entry, lockee->mark_addr(), displaced) != displaced) { + // Is it simple recursive case? + if (thread->is_lock_owned((address) displaced->clear_lock_bits())) { + entry->lock()->set_displaced_header(NULL); + } else { + InterpreterRuntime::monitorenter(thread, entry); + } + } +handle_exception: + return thread->pending_exception(); +} + +extern "C" oop Helper_monitorexit(interpreterState istate, oop lockee) +{ + BasicObjectLock* limit = istate->monitor_base(); + BasicObjectLock* most_recent = (BasicObjectLock*) istate->stack_base(); + JavaThread *thread = istate->thread(); + + if (lockee == NULL) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + goto handle_exception; + } + while (most_recent != limit ) { + if ((most_recent)->obj() == lockee) { + BasicLock* lock = most_recent->lock(); + markOop header = lock->displaced_header(); + most_recent->set_obj(NULL); + if (header != NULL) { + if (Atomic::cmpxchg_ptr(header, lockee->mark_addr(), lock) != lock) { + // restore object for the slow case + most_recent->set_obj(lockee); + InterpreterRuntime::monitorexit(thread, most_recent); + } + } + return thread->pending_exception(); + } + most_recent++; + } + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); +handle_exception: + return thread->pending_exception(); +} + extern "C" oop Helper_aastore(interpreterState istate, oop value, int index, arrayOop arrayref) { if (arrayref == NULL) { @@ -512,7 +620,7 @@ int main(void) { print_def("ARCH_VFP", ARCH_VFP); - print_def("ARCH_THUMBEE", ARCH_THUMBEE); + print_def("ARCH_THUMB2", ARCH_THUMB2); print_def("ARCH_CLZ", ARCH_CLZ); nl(); print_def("JVM_CONSTANT_Utf8", JVM_CONSTANT_Utf8); diff -r 85de6921e39e -r 5b6a9a63a280 src/cpu/zero/vm/bytecodes_arm.def --- a/src/cpu/zero/vm/bytecodes_arm.def Wed May 16 11:21:07 2012 +0100 +++ b/src/cpu/zero/vm/bytecodes_arm.def Mon May 28 08:48:42 2012 -0400 @@ -335,13 +335,13 @@ (lconst_1) lconst_1 { DISPATCH_START_R2 - mov tmp2, #1 + mov r3, #1 DISPATCH_NEXT mov tmp1, #0 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -367,10 +367,10 @@ DISPATCH_NEXT orr tmp1, tmp1, #0x00f00000 DISPATCH_NEXT - mov tmp2, #0 - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + mov r3, #0 + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp1 DISPATCH_FINISH } @@ -419,11 +419,11 @@ DISPATCH_START \seq_len sub r3, locals, r2, lsl #2 DISPATCH_NEXT - ldmda r3, {tmp2, tmp1} - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2, tmp1 + ldmda r3, {r3, tmp1} + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r3, tmp1 DISPATCH_FINISH } @@ -465,49 +465,49 @@ (lload_0,dload_0) u8load_0 { DISPATCH_START_R2 - ldmda locals, {tmp2-tmp1} + ldmda locals, {r3, tmp1} DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r3 DISPATCH_FINISH } (lload_1,dload_1) u8load_1 { DISPATCH_START_R2 - ldmdb locals, {tmp2-tmp1} + ldmdb locals, {r3, tmp1} DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r3 DISPATCH_FINISH } (lload_2,dload_2) u8load_2 { DISPATCH_START_R2 - ldr tmp2, [locals, #-12] + ldr r3, [locals, #-12] DISPATCH_NEXT ldr tmp1, [locals, #-8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } (lload_3,dload_3) u8load_3 { DISPATCH_START_R2 - ldr tmp2, [locals, #-16] + ldr r3, [locals, #-16] DISPATCH_NEXT ldr tmp1, [locals, #-12] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -546,12 +546,12 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #3 - ldr tmp2, [r3, #BASE_OFFSET_LONG] + ldr r1, [r3, #BASE_OFFSET_LONG] DISPATCH_NEXT ldr tmp1, [r3, #20] DISPATCH_NEXT PUT_STACK 1, tmp1 - PUT_STACK 0, tmp2 + PUT_STACK 0, r1 DISPATCH_FINISH } @@ -634,13 +634,13 @@ @ r2 = [jpc, #1] (lstore,dstore) u8store { DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT sub r3, locals, r2, lsl #2 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - stmda r3, {tmp2, tmp1} + stmda r3, {r1, tmp1} DISPATCH_FINISH } @@ -691,30 +691,30 @@ (lstore_0,dstore_0) u8store_0 { DISPATCH_START_R2 DISPATCH_NEXT - POP tmp2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - stmda locals, {tmp2, tmp1} + POP r1, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + stmda locals, {r1, tmp1} DISPATCH_FINISH } (lstore_1,dstore_1) u8store_1 { DISPATCH_START_R2 DISPATCH_NEXT - POP tmp2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - stmdb locals, {tmp2, tmp1} + POP r1, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + stmdb locals, {r1, tmp1} DISPATCH_FINISH } (lstore_2,dstore_2) u8store_2 { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - str tmp2, [locals, #-12] + POP r1, tmp1 + DISPATCH_NEXT + str r1, [locals, #-12] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -724,9 +724,9 @@ (lstore_3,dstore_3) u8store_3 { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - str tmp2, [locals, #-16] + POP r1, tmp1 + DISPATCH_NEXT + str r1, [locals, #-16] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -735,72 +735,72 @@ } (iastore,fastore) u4astore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r1, tmp1, lr @ r1 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry10: - ldr lr, [tmp1, #8] @ lr = limit - DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp1, tmp1, tmp2, lsl #2 - DISPATCH_NEXT - str r3, [tmp1, #BASE_OFFSET_WORD] + ldr ip, [lr, #8] @ lr = limit + DISPATCH_NEXT + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add lr, lr, tmp1, lsl #2 + DISPATCH_NEXT + str r1, [lr, #BASE_OFFSET_WORD] DISPATCH_FINISH } (lastore,dastore) u8astore { - POP r1, r3, tmp2, tmp1 @ r1,r3 = value, tmp2 = index, tmp1 = arrayref + POP r1, r3, tmp1, lr @ r1,r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry11: - ldr ip, [tmp1, #8] @ ip = limit - cmp tmp2, ip - DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - str r1, [tmp2, #BASE_OFFSET_LONG] - DISPATCH_NEXT - DISPATCH_NEXT - str r3, [tmp2, #20] + ldr ip, [lr, #8] @ ip = limit + cmp tmp1, ip + DISPATCH_NEXT + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add tmp1, lr, tmp1, lsl #3 + str r1, [tmp1, #BASE_OFFSET_LONG] + DISPATCH_NEXT + DISPATCH_NEXT + str r3, [tmp1, #BASE_OFFSET_LONG+4] DISPATCH_FINISH } (bastore) bastore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r3, tmp1, lr @ r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry12: - ldr lr, [tmp1, #8] @ lr = limit - DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp1, tmp1, tmp2 - DISPATCH_NEXT - strb r3, [tmp1, #BASE_OFFSET_BYTE] + ldr ip, [lr, #8] @ ip = limit + DISPATCH_NEXT + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add lr, lr, tmp1 + DISPATCH_NEXT + strb r3, [lr, #BASE_OFFSET_BYTE] DISPATCH_FINISH } (castore,sastore) u2astore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r3, tmp1, lr @ r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry13: - ldr lr, [tmp1, #8] @ lr = limit - DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 - DISPATCH_NEXT - add tmp1, tmp1, tmp2, lsl #1 - DISPATCH_NEXT - strh r3, [tmp1, #BASE_OFFSET_SHORT] + ldr ip, [lr, #8] @ ip = limit + DISPATCH_NEXT + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 + DISPATCH_NEXT + add lr, lr, tmp1, lsl #1 + DISPATCH_NEXT + strh r3, [lr, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -884,13 +884,13 @@ (iadd) iadd { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT - add tmp2, tmp2, tmp1 - DISPATCH_NEXT - DISPATCH_NEXT - DISPATCH_NEXT - PUSH tmp2 + POP r1, tmp1 + DISPATCH_NEXT + add r1, r1, tmp1 + DISPATCH_NEXT + DISPATCH_NEXT + DISPATCH_NEXT + PUSH r1 DISPATCH_FINISH } @@ -907,13 +907,13 @@ (isub) isub { DISPATCH_START_R2 - POP tmp2, tmp1 - DISPATCH_NEXT From bugzilla-daemon at icedtea.classpath.org Mon May 28 08:27:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 15:27:29 +0000 Subject: [Bug 1016] New: IcedTea-web sandboxes all jars in mixed unsigned jars + signed jars applets Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1016 Priority: P3 Bug ID: 1016 CC: unassigned at icedtea.classpath.org Assignee: ddadacha at redhat.com Summary: IcedTea-web sandboxes all jars in mixed unsigned jars + signed jars applets Severity: normal Classification: Unclassified OS: Linux Reporter: xerxes at zafena.se URL: http://jogamp.org/deployment/jogamp-current/jogl-apple t-runner-newt-gears-normal-napplet.html Hardware: all Status: NEW Version: hg Component: Plugin Product: IcedTea-Web http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal-napplet.html work using the proprietary plugin while icedtea-web sandboxes the whole application. When icedtea-web runs this applet then jcv.isFullySignedByASingleCert() == false at http://icedtea.classpath.org/hg/icedtea-web/file/6df151bb5320/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java#l487 jcv.anyJarsSigned() on the other hand is true. This sets the signing boolean to false and thus the whole application gets SecurityDesc.SANDBOX_PERMISSIONS even for the signed jars. Suggested fix is to relax the plugin and remove the jcv.isFullySignedByASingleCert() check. This applet expects to be able to let the unsigned sandboxed code call -> the signed code -> runs AccessController.doPrivileged -> and then execute the previlegied actions according to: http://www.oracle.com/technetwork/java/seccodeguide-139067.html#9-3 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/7467c7d3/attachment.html From adinn at redhat.com Mon May 28 08:39:36 2012 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 28 May 2012 16:39:36 +0100 Subject: ARM: a very small change. In-Reply-To: <4FC368CC.50901@redhat.com> References: <4FC368CC.50901@redhat.com> Message-ID: <4FC39C38.9080708@redhat.com> On 28/05/12 13:00, Andrew Haley wrote: > atomic_copy64 is used by Object.clone(). It's used instead of > memcpy() because otherwise a copy might be interrupted partway > through copying a jlong. We were using the generic code on ARM, > but we really should make sure we use an atomic load. This only > really matters on multi-core ARMs; on others the 64-bit read is > restarted after an interrupt. This patch looks fine and built ok. I tested it by running a program which set multiple threads off cloning a shared object and then rewriting a volatile long field of the shared original with one of two distinct values (distinct both in their upper and lower words). After each clone call the cloned object is tested to ensure that the long field has one of the two legitimate values rather than some half-baked hybrid. This test exercises object cloning (which is the important thing). Also,-- even when the threads run for many 10s of seconds -- it has a(n almost vanishingly small) probability of exercising the clone at a point where a timer interrupt might coincide with a copy of the long field. Anyway the patched code passed the test for what that is worth. Ship it. regards, Andrew Dinn ----------- From phatina at redhat.com Mon May 28 08:47:50 2012 From: phatina at redhat.com (Peter Hatina) Date: Mon, 28 May 2012 17:47:50 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: References: Message-ID: <4FC39E26.5050306@redhat.com> Hi, On 05/28/2012 05:03 PM, Andrew Hughes wrote: > ----- Original Message ----- >> Hi, >> >> I fixed few things Jiri Vanek suggested and send the patch for >> another review. >> >> Thanks, >> >> Peter Hatina >> EMEA ENG-Desktop Development >> Red Hat Czech, Brno >> >> --- >> ChangeLog | 8 ++++++++ >> NEWS | 1 + >> acinclude.m4 | 54 >> +++++++++++++++++++++++++++++++++++++++++++++++++++++- >> 3 files changed, 62 insertions(+), 1 deletion(-) >> >> diff --git a/ChangeLog b/ChangeLog >> index 82c0feb..d6f7e0c 100644 >> --- a/ChangeLog >> +++ b/ChangeLog >> @@ -1,3 +1,11 @@ >> +2012-05-28 Peter Hatina >> + >> + Introduced configure option --with-gtk=2.0|3.0 to be able to >> compile >> + against different version of GTK+ (2.x or 3.x). >> + *NEWS: mentioned bug fix >> + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS >> + (GTK_CHECK) macro for checking GTK+ version >> + >> 2012-05-02 Jiri Vanek >> >> Introduced new annotations Bug (to connect test/reproducer with >> documentation) >> diff --git a/NEWS b/NEWS >> index 8397639..30eb055 100644 >> --- a/NEWS >> +++ b/NEWS >> @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): >> - PR895: IcedTea-Web searches for missing classes on each >> loadClass or findClass >> * Common >> - PR918: java applet windows uses a low resulution black/white >> icon >> + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries >> >> New in release 1.2 (2011-XX-XX): >> * Security updates: >> diff --git a/acinclude.m4 b/acinclude.m4 >> index a330d0f..f3ed46f 100644 >> --- a/acinclude.m4 >> +++ b/acinclude.m4 >> @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], >> AC_MSG_RESULT(${enable_plugin}) >> ]) >> >> +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], >> [ACTION-IF-NOT]) >> +AC_DEFUN([GTK_CHECK_VERSION], >> +[ >> + if pkg-config --modversion gtk+-$1 &> /dev/null; then >> + $2 >> + else >> + $3 >> + fi >> +]) >> + >> +dnl GTK_SET_CXX_VARS([gtk version]) >> +AC_DEFUN([GTK_SET_CXX_VARS], >> +[ >> + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` >> + GTK_LIBS=`pkg-config --libs gtk+-$1` >> +]) >> + >> +dnl GTK_CHECK([gtk version]) >> +AC_DEFUN([GTK_CHECK], >> +[ >> + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], >> + [ >> + case "$1" in >> + default) >> + GTK_CHECK_VERSION(["3.0"], >> + [echo -n "3.0" >> + GTK_SET_CXX_VARS(["3.0"])], >> + [GTK_CHECK_VERSION(["2.0"], >> + [echo -n "2.0" >> + GTK_SET_CXX_VARS(["2.0"])], >> + [AC_MSG_RESULT([no]) >> + AC_MSG_ERROR([GTK+ not found])])]) >> + ;; >> + *) >> + GTK_CHECK_VERSION([$1], >> + [echo -n "$1" >> + GTK_SET_CXX_VARS([$1])], >> + [AC_MSG_RESULT([no]) >> + AC_MSG_ERROR([GTK+ $1 not found])]) >> + ;; >> + esac >> + ]) >> +]) >> + >> AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], >> [ >> dnl Check for plugin support headers and libraries. >> dnl FIXME: use unstable >> AC_REQUIRE([IT_CHECK_PLUGIN]) >> if test "x${enable_plugin}" = "xyes" ; then >> - PKG_CHECK_MODULES(GTK, gtk+-2.0) >> + AC_ARG_WITH([gtk], >> + [AS_HELP_STRING([--with-gtk=2.0|3.0], >> + [the GTK+ version to use (default: 3.0)])], >> + [case "$with_gtk" in >> + 2.0|3.0) ;; >> + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; >> + esac], >> + [with_gtk=default]) >> + GTK_CHECK([$with_gtk]) >> PKG_CHECK_MODULES(GLIB, glib-2.0) >> AC_SUBST(GLIB_CFLAGS) >> AC_SUBST(GLIB_LIBS) >> -- >> 1.7.10.2 >> >> > > Thanks for the patch. > > Two main points and two minor ones. > > Main ones: > > 1. Why are we manually calling 'pkg-config' (hard-coded > to rely on $PATH) rather than using the existing macros, as the code > being replaced does. For example, these use $PKG_CONFIG and support > $PKG_CONFIG_PATH. I have "stolen" this from existing code. > 2. The new macros should also have the ITW_ prefix in their name. > (I presume CHECK_PLUGIN_DEPENDENCIES only has IT_ as it originates > from IcedTea). Ok, I will fix this. > > Minor issues: > > 1. Why not just --with-gtk=2? Or better, --with-gtk-version=2? > 2.0 is confusing because most people will have something like 2.24. Habit from other project, such as WebKit. The 2.0 or 3.0 is also used for pkg-config gtk+-2.0 [ options ]. > 2. Shouldn't "default" be allowed through the case block in > IT_CHECK_PLUGIN_DEPENDENCIES? I do not get this. -- Peter Hatina EMEA ENG-Desktop Development Red Hat Czech, Brno From ddadacha at redhat.com Mon May 28 09:02:10 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Mon, 28 May 2012 12:02:10 -0400 Subject: IcedTea-Web test suite missing fundamental tests Message-ID: <4FC3A182.7030008@redhat.com> Hello team, Jiri and I have been discussing some of the missing testcases in IcedTea-Web and I'd like to summarize them on here. We're missing many tests against the various resource loader mechanisms we have. Here are all the ones we support that are missing tests: 1. Nested jars 2. Jars specified by classpath entries in jar manifests. 3. Class files stored in dir of the app. [0] 4. INDEX.LIST specifications. [1] 5. JNLP extensions. As far as I can tell, our test engine does not support 1, 3 and 4. I suspect these can be solved once the patch for custom Makefiles[2] is pushed. However I believe Jiri had some thoughts on this. I am working on reproducers for manifest classpaths (pt 2) with my latest patch[3] adjusting this feature. The others are up for grabs. =) Just a note for JNLP extensions, the plugin doesn't support jnlp_href + extensions yet so this case can be skipped for now. If anyone can think of others, please mention them! Cheers, Danesh [0] For example, http://localhost/my_app.jnlp runs an app that references some.package.MyClass.printSomething(), this can be found in http://localhost/some/package/MyClass.class [1] http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex [2] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018765.html [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018534.html From ddadacha at redhat.com Mon May 28 09:35:30 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Mon, 28 May 2012 12:35:30 -0400 Subject: IcedTea-Web test suite missing fundamental tests In-Reply-To: <4FC3A182.7030008@redhat.com> References: <4FC3A182.7030008@redhat.com> Message-ID: <4FC3A952.6080706@redhat.com> On 28/05/12 12:02 PM, Danesh Dadachanji wrote: > Hello team, > > Jiri and I have been discussing some of the missing testcases in IcedTea-Web and I'd like to summarize them on here. We're missing many > tests against the various resource loader mechanisms we have. Here are all the ones we support that are missing tests: > 1. Nested jars > 2. Jars specified by classpath entries in jar manifests. > 3. Class files stored in dir of the app. [0] This should only work applets run by the plugin (without jnlp_href). Thanks to Omair for catching this. The fact that this works with webstart/JNLPs is a bug that I am about to file. > 4. INDEX.LIST specifications. [1] > 5. JNLP extensions. > > As far as I can tell, our test engine does not support 1, 3 and 4. I suspect these can be solved once the patch for custom Makefiles[2] > is pushed. However I believe Jiri had some thoughts on this. > > I am working on reproducers for manifest classpaths (pt 2) with my latest patch[3] adjusting this feature. The others are up for grabs. =) > > Just a note for JNLP extensions, the plugin doesn't support jnlp_href + extensions yet so this case can be skipped for now. > > If anyone can think of others, please mention them! > > Cheers, > Danesh > > [0] For example, http://localhost/my_app.jnlp runs an app that references some.package.MyClass.printSomething(), this can be found in > http://localhost/some/package/MyClass.class This can be http://localhost/my_app.html which has an applet tag without jnlp_href. > [1] http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex > [2] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018765.html > [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018534.html From smohammad at redhat.com Mon May 28 10:03:36 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Mon, 28 May 2012 13:03:36 -0400 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FBCE9AE.5020808@redhat.com> References: <4FBBEA1F.6010007@redhat.com> <4FBCE9AE.5020808@redhat.com> Message-ID: <4FC3AFE8.1090406@redhat.com> Hello, The attached patches contains the suggested changes and some additional tests requested from the previous email. The three patches tests the launch of applications with: 1) A signed JNLP application/template file 2) An unsigned JNLP application/template file 3) A signed jnlp application/template file with case insensitive filenames I'm currently working on adding a few more tests that will test applications with multiple jars. These tests will be sent in another email very soon :) Changelog entry is also attached as requested. On 05/23/2012 09:44 AM, Jiri Vanek wrote: > On 05/22/2012 09:33 PM, Saad Mohammad wrote: >> Hi, >> >> The patch attached tests the launch of applications with a signed JNLP >> file using matching and >> non-matching JNLP launch files. >> > > Hi Saad! > > Looks great! Your sin is half a redeemed;o) > > I have one questions and two minor, but a lot of affecting issues > > Issues - Can we handle naming convention > (http://www.oracle.com/technetwork/java/codeconv-138413.html) for > classes and methods? > - The classes should be in CamelCase So eg no "SignedJNLPTemplateTest" > but "SignedJnlpTemplateTest". I would recommend also renaming of > directories to keep the name consistent as you have it nicely now. > - methods should not start with capital letter. > I know that those two errors leaked in past to reproducers but it would > be nice to have it correct in new files. Names have been updated in the current patch.. > - APPLICATION_TEMPLATE.JNLP/APPLICATION.JNLP should be case insensitive. > Can you test it? Requested tests have been added! > Q: I thought that jnlp signing is working like this: > 1 - (I'm unsure here) signed jar with JNLP-INF/* and unsigned jar with > the (signed?) same/tempalte_matching jnlp file. > So to test it properly you need to us two jars - signed and unsigned. > And ensure that the second one obtains rights or launch terminate. > 2 - or (more probably, but I'm still lost in this signing) just jnlp > file (and few others BUT NOT whole jar) should be signed in jar and the > rest is evaluated by comparison of launching jnlp and signed jnlp inside. > > What jnlp test engine is doing is that it signs whole jar. So In my (I > hope wrong!) opinion your tests are actually not testing jnlp signing > (as whole jar is signed). But exception looks correct, so I hope I'm > completely wrong :) > For IcedTea-Web to check for a signed JNLP file, the whole jar must be signed. So applications with ONLY JNLP-INF/* signed will not trigger IcedTea-Web to check for a signed JNLP file because the whole jar is considered as unsigned. Therefore tests with just JNLP-INF/* signed are not required in this case. However tests with multiple jars for a single application are and will come very soon. [FYI] The purpose of signing a JNLP file within the jar is for developers to ensure that the JNLP file being used to launch their code is the same as the one they expect it to be. This way if someone does decide to change the launching JNLP file maliciously, the launching application will be immediately terminated. Also, another thing to note, if the application requires a special property and there is no signed jnlp file, a warning is displayed on the security dialog box. There are two ways of signing a JNLP file: 1) One of the way is to store the exact copy of the launching JNLP file in the signed jar as JNLP-INF/APPLICATION.jnlp If the launching JNLP file is not an exact match of JNLP-INF/APPLICATION.jnlp then the application is aborted and not launched 2) Another way of signing a JNLP file is by storing a template within the jar as JNLP-INF/APPLICATION_TEMPLATE.jnlp. The template allows you to have '*' as values for elements and attributes. Which means that when the signed JNLP file is being compared to the launching JNLP file, it will accept any attribute value that are marked as a '*' in the template. Section 5.4 of the specification has more detail! || || || \/ > > Thanx for explanations! > > J. > > > I have added citation from spec: > 5.4 Signed Applications > > The signing infrastructure for JNLP is built on top of the existing > signing infrastructure for the Java 2 Platform. The Java 2 Platform > supports signed JAR files. A JAR file can be signed and verified using, > e.g., the standard jarsigner tool from the Java 2 SDK. > > An application launched by a JNLP Client is considered to be signed, if > and only if: > > All the JAR files are signed (both for jar and nativelib elements) and > can be verified. A JAR file is signed if all the entries (excluding > manifest entries, the signature iteself, and empty directories) are > signed by a single signature. > If a signed version of the JNLP file exists, then it must be verified, > and it must match the JNLP file used to launch the application. This is > described in the following subsection. > The same certificate is used to sign all JAR files (jar and nativelib > elements) that are part of a single JNLP file. This simplifies user > management since only one certificate needs to be presented to the user > during a launch per JNLP file (and hardly restricts the signing process > in practice). > The certificate used for signing the JAR files and JNLP file (if signed) > must be verified against a set of trusted root certificates. > > How the set of trusted root certificates are obtained depends on the > particular JNLP Client implementation. Typically, a JNLP Client will be > shipped with a set of trusted root certificates for all the major > Certificate Authorities (CAs). > > The JNLP Client must check a JAR file for signing information before it > is used, i.e., before a class file or another resource is retrieved from > it. If a JAR file is signed and the digital signature does not verify, > the application must be aborted. For a lazily downloaded JAR file, i.e., > a JAR file that is downloaded after the application is launched, this > might require aborting an already-running application. > 5.4.1 Signing of JNLP Files > > A JNLP file can optionally be signed. A JNLP Client must check if a > signed version of the JNLP file or JNLP template exist, and if so, > verify that at least one of them match the JNLP file that is used to > launch the application. If a match is not found (see below), then the > launch must be aborted. If no signed JNLP file or JNLP template exist, > then the JNLP file is not signed, and no check needs to be performed. > > A JNLP file is signed either by including a copy of it in the signed > main JAR file, or by including a matching (see below) template file in > the signed main JAR file. > For the first method, the signed copy must be named: > JNLP-INF/APPLICATION.JNLP. The APPLICATION.JNLP filename should be > generated in upper case, but should be recognized in either upper or > lower case. To match, the signed JNLP file must contain exactly the same > XML elements and attributes, with identical values, as the JNLP file > used to launch the application. > > For the second method the signed copy must be named > JNLP-INF/APPLICATION_TEMPLATE.JNLP. The APPLICATION_TEMPLATE.JNLP > filename should be generated in upper case, but should be recognized in > either upper or lower case. The template (APPLICATION_TEMPLATE.JNLP) may > have fields for CDATA arguments or values denoted as "*". The signed > template must have exactly the same elements and arguments as the JNLP > file used to launch the app, and the value of each element and attribute > must "match" as described below. An element value or attribute value > matches if either the value in the template is identical to the value in > the JNLP file used to launch the app, or all of the following are true: > > 1.) The element or attribute is defined (in the DTD in appendix C) to be > of type CDATA (for attributes) or #PCDATA (for elements). > 2.) The element or attribute value in the signed template is "*" > 3.) The element or attribute value is not blacklisted or restricted by > the JNLP Client. > > It is expected that a JNLP Client will blacklist (or restrict) certain > jnlp elements and argument values such as "java-vm-args" or property > "name" and "value" to maintain security. The exact list is up to the > individual JNLP Client implementations. > > As an example, the following APPLICATION_TEMPLATE.JNLP could be used to > host an application on various hosts with different icons: > > > > > Draw! > My Web Company > > > > > > > > > > > An Application with the above contents in > JNLP-INF/APPLICATION_TEMPLATE.JNLP in it's main jar could be moved from > one server to another, or could change it's icon without resigning the > main jar. > > As described above, a JNLP file is not required to be signed in order > for an application to be signed. This is similar to the behavior of > Applets, where the Applet tags in the HTML pages are not signed, even > when granting unrestricted access to the Applet. After doing some research, it seems to me that Oracle is a bit strict with signed jnlp files. When the launching application contains an application or an application template file (regardless of whether it is signed or UNSIGNED), it will validates the jnlp file with the launching jnlp file. IcedTea-Web does not behave this way and only checks a signed jnlp file if the complete jar file is signed. After reading the above specification, I feel that IcedTea-Web behaviour is much more appropriate. Any thoughts? -- Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: upatch01.patch Type: text/x-patch Size: 68119 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/4baf7acb/upatch01.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: caseTest01.patch Type: text/x-patch Size: 28024 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/4baf7acb/caseTest01.patch -------------- next part -------------- 2012-05-28 Saad Mohammad Added signed jnlp file regression tests. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication4.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication5.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication6.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication7.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication8.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java: Testcase that tests the launching of applications with a signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate4.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate5.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate6.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate7.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate8.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java: Testcase that tests the launching of applications with a signed jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp: Launching jnlp file that matches the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication4.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication5.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication6.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication7.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication8.jnlp: Launching jnlp file that does not match the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java: Testcase that tests the launching of applications with an unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp: Launching jnlp file that matches the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate4.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate5.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate6.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate7.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate8.jnlp: Launching jnlp file that does not match the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java: Testcase that tests the launching of applications with an unsigned jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java: Testcase that tests the case-sensitivity of the signed jnlp application's filename. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java: Testcase that tests the case-sensitivity of the signed jnlp application template's filename. -------------- next part -------------- A non-text attachment was scrubbed... Name: signedTests.patch Type: text/x-patch Size: 74094 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/4baf7acb/signedTests.patch From dbhole at redhat.com Mon May 28 10:16:07 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 28 May 2012 13:16:07 -0400 Subject: [icedtea-web] RFC: Patch for PR861: Code in a jar cannot connect to jar host server Message-ID: <20120528171606.GP29866@redhat.com> Hi, Attached patch resolves PR861: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=861 ChangeLog: 2012-05-28 Deepak Bhole PR861: Allow loading from non codebase hosts. Allow code to connect to hosting server. * netx/net/sourceforge/jnlp/SecurityDesc.java (getSandBoxPermissions): Only add host if it is not empty. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getPermissions): Add SocketPermission for code source host. (findLoadedClassAll): Call super methods privileged so that connection to non codebase hosts can be made. (findClass): Same. (findResourcesBySearching): Same. Also use privileged context for enum operations because the enum is defined on the fly by URLClassLoader and checks for hosting server connectivity via next(). (getAccessControlContextForClassLoading): New method. Returns a control context for classloader operations like find/load/etc. (CodeBaseClassLoader::findClass): Call super methods privileged so that connection to non codebase hosts can be made. (CodeBaseClassLoader::findResource): Same. Applets may specify jars from different host servers. The current code only allows socket connect permissions for codebase. This is insufficient as a class from one jar may need a class from another jar that is hosted on a different server. Furthermore, if a class comes from server foo, it should be allowed to connect to foo throughout its lifetime. Attached patch resolves the above issues and makes the site mentioned in the bug (http://broadband.mpi-sws.org/transparency/glasnost.php) work again. OK for HEAD? Cheers, Deepak -------------- next part -------------- diff -r 6df151bb5320 NEWS --- a/NEWS Fri May 25 11:44:13 2012 -0400 +++ b/NEWS Mon May 28 13:11:12 2012 -0400 @@ -15,6 +15,7 @@ * Plugin - PR820: IcedTea-Web 1.1.3 crashing Firefox when loading Citrix XenApp - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass + - PR861: Allow loading from non codebase hosts. Allow code to connect to hosting server. * Common - PR918: java applet windows uses a low resulution black/white icon diff -r 6df151bb5320 netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java Fri May 25 11:44:13 2012 -0400 +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Mon May 28 13:11:12 2012 -0400 @@ -238,7 +238,7 @@ for (int i = 0; i < jnlpRIAPermissions.length; i++) permissions.add(jnlpRIAPermissions[i]); - if (downloadHost != null) + if (downloadHost != null && downloadHost.length() > 0) permissions.add(new SocketPermission(downloadHost, "connect, accept")); diff -r 6df151bb5320 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri May 25 11:44:13 2012 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon May 28 13:11:12 2012 -0400 @@ -25,9 +25,11 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; +import java.net.SocketPermission; import java.net.URL; import java.net.URLClassLoader; import java.security.AccessControlContext; +import java.security.AccessControlException; import java.security.AccessController; import java.security.AllPermission; import java.security.CodeSource; @@ -35,9 +37,12 @@ import java.security.PermissionCollection; import java.security.Permissions; import java.security.PrivilegedAction; +import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; +import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; @@ -948,6 +953,11 @@ result.add(runtimePermissions.get(i)); } + // Class from host X should be allowed to connect to host X + if (cs.getLocation().getHost().length() > 0) + result.add(new SocketPermission(cs.getLocation().getHost(), + "connect, accept")); + return result; } catch (RuntimeException ex) { if (JNLPRuntime.isDebug()) { @@ -1316,10 +1326,21 @@ for (int i = 0; i < loaders.length; i++) { Class result = null; - if (loaders[i] == this) - result = super.findLoadedClass(name); - else + if (loaders[i] == this) { + final String fName = name; + try { + result = AccessController.doPrivileged( + new PrivilegedExceptionAction>() { + public Class run() { + return JNLPClassLoader.super.findLoadedClass(fName); + } + }, getAccessControlContextForClassLoading()); + } catch (PrivilegedActionException pae) { + result = null; + } + } else { result = loaders[i].findLoadedClassAll(name); + } if (result != null) return result; @@ -1517,12 +1538,20 @@ protected Class findClass(String name) throws ClassNotFoundException { for (int i = 0; i < loaders.length; i++) { try { - if (loaders[i] == this) - return super.findClass(name); - else + if (loaders[i] == this) { + final String fName = name; + return AccessController.doPrivileged( + new PrivilegedExceptionAction>() { + public Class run() throws ClassNotFoundException { + return JNLPClassLoader.super.findClass(fName); + } + }, getAccessControlContextForClassLoading()); + } else { return loaders[i].findClass(name); + } } catch (ClassNotFoundException ex) { } catch (ClassFormatError cfe) { + } catch (PrivilegedActionException pae) { } } @@ -1631,20 +1660,42 @@ */ private Enumeration findResourcesBySearching(String name) throws IOException { List resources = new ArrayList(); - Enumeration e; + Enumeration e = null; for (int i = 0; i < loaders.length; i++) { // TODO check if this will blow up or not // if loaders[1].getResource() is called, wont it call getResource() on // the original caller? infinite recursion? - if (loaders[i] == this) - e = super.findResources(name); - else + if (loaders[i] == this) { + final String fName = name; + try { + e = AccessController.doPrivileged( + new PrivilegedExceptionAction>() { + public Enumeration run() throws IOException { + return JNLPClassLoader.super.findResources(fName); + } + }, getAccessControlContextForClassLoading()); + } catch (PrivilegedActionException pae) { + } + } else { e = loaders[i].findResources(name); + } - while (e.hasMoreElements()) - resources.add(e.nextElement()); + final Enumeration fURLEnum = e; + try { + resources.addAll(AccessController.doPrivileged( + new PrivilegedExceptionAction>() { + public Collection run() { + List resources = new ArrayList(); + while (fURLEnum != null && fURLEnum.hasMoreElements()) { + resources.add(fURLEnum.nextElement()); + } + return resources; + } + }, getAccessControlContextForClassLoading())); + } catch (PrivilegedActionException pae) { + } } // Add resources from codebase (only if nothing was found above, @@ -1896,6 +1947,56 @@ } } + /** + * Returns an appropriate AccessControlContext for loading classes in + * the running instance. + * + * The default context during class-loading only allows connection to + * codebase. However applets are allowed to load jars from arbitrary + * locations and the codebase only access falls short if a class from + * one location needs a class from another. + * + * Given protected access since CodeBaseClassloader uses this function too. + * + * @return The appropriate AccessControlContext for loading classes for this instance + */ + public AccessControlContext getAccessControlContextForClassLoading() { + AccessControlContext context = AccessController.getContext(); + + try { + context.checkPermission(new AllPermission()); + return context; // If context already has all permissions, don't bother + } catch (AccessControlException ace) { + // continue below + } + + // Since this is for class-loading, technically any class from one jar + // should be able to access a class from another, therefore making the + // original context code source irrelevant + PermissionCollection permissions = this.security.getSandBoxPermissions(); + + // Local cache access permissions + for (Permission resourcePermission : resourcePermissions) { + permissions.add(resourcePermission); + } + + // Permissions for all remote hosting urls + for (URL u: jarLocationSecurityMap.keySet()) { + permissions.add(new SocketPermission(u.getHost(), + "connect, accept")); + } + + // Permissions for codebase urls + for (URL u : codeBaseLoader.getURLs()) { + permissions.add(new SocketPermission(u.getHost(), + "connect, accept")); + } + + ProtectionDomain pd = new ProtectionDomain(null, permissions); + + return new AccessControlContext(new ProtectionDomain[] { pd }); + } + /* * Helper class to expose protected URLClassLoader methods. */ @@ -1927,10 +2028,16 @@ throw new ClassNotFoundException(name); try { - return super.findClass(name); - } catch (ClassNotFoundException cnfe) { + final String fName = name; + return AccessController.doPrivileged( + new PrivilegedExceptionAction>() { + public Class run() throws ClassNotFoundException { + return CodeBaseClassLoader.super.findClass(fName); + } + }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); + } catch (PrivilegedActionException pae) { notFoundResources.put(name, super.getURLs()); - throw cnfe; + throw new ClassNotFoundException("Could not find class " + name); } } @@ -1983,8 +2090,18 @@ if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) return null; + URL url = null; if (!name.startsWith("META-INF")) { - URL url = super.findResource(name); + try { + final String fName = name; + url = AccessController.doPrivileged( + new PrivilegedExceptionAction() { + public URL run() { + return CodeBaseClassLoader.super.findResource(fName); + } + }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); + } catch (PrivilegedActionException pae) { + } if (url == null) { notFoundResources.put(name, super.getURLs()); From smohammad at redhat.com Mon May 28 10:43:35 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Mon, 28 May 2012 13:43:35 -0400 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FC3AFE8.1090406@redhat.com> References: <4FBBEA1F.6010007@redhat.com> <4FBCE9AE.5020808@redhat.com> <4FC3AFE8.1090406@redhat.com> Message-ID: <4FC3B947.2050709@redhat.com> Just a minor change in the Changelog entry. I've attached the updated version. Changes: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate4.jnlp * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate5.jnlp -- Saad Mohammad -------------- next part -------------- 2012-05-28 Saad Mohammad Added signed jnlp file regression tests. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication4.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication5.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication6.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication7.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication8.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java: Testcase that tests the launching of applications with a signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate4.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate5.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate6.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate7.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate8.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java: Testcase that tests the launching of applications with a signed jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp: Launching jnlp file that matches the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication4.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication5.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication6.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication7.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication8.jnlp: Launching jnlp file that does not match the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java: Testcase that tests the launching of applications with an unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp: Launching jnlp file that matches the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate4.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate5.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate6.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate7.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate8.jnlp: Launching jnlp file that does not match the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java: Testcase that tests the launching of applications with an unsigned jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java: Testcase that tests the case-sensitivity of the signed jnlp application's filename. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java: Testcase that tests the case-sensitivity of the signed jnlp application template's filename. From bugzilla-daemon at icedtea.classpath.org Mon May 28 11:23:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 18:23:29 +0000 Subject: [Bug 1017] New: Class files in an app's root dir should not be available to webstart at runtime Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1017 Priority: P3 Bug ID: 1017 CC: unassigned at icedtea.classpath.org Assignee: omajid at redhat.com Summary: Class files in an app's root dir should not be available to webstart at runtime Severity: normal Classification: Unclassified OS: Linux Reporter: ddadacha at redhat.com Hardware: x86_64 Status: NEW Version: unspecified Component: NetX (javaws) Product: IcedTea-Web Setup an app running from 'javaws http://example.com/scratch/app.jnlp' and have the main class call some.pkged.Helper.doSomething(). This class should _not_ be in any of the JNLP's resources. Instead, it should be found at http://example.com/scratch/some/pkged/Helper.class. The app should not be able to find some.pkged.Helper since it isn't in any of the JNLP's resources. However, it runs fine on HEAD. If the helper class runs code that needs more permissions, the following exception is thrown: Error: No security instance for http://example.com/scratch/. The application may have trouble continuing java.lang.RuntimeException: Code source security was null at net.sourceforge.jnlp.runtime.JNLPClassLoader.getPermissions(JNLPClassLoader.java:923) at net.sourceforge.jnlp.runtime.JNLPPolicy.getPermissions(JNLPPolicy.java:86) at net.sourceforge.jnlp.runtime.JNLPPolicy.implies(JNLPPolicy.java:182) at java.security.ProtectionDomain.implies(ProtectionDomain.java:272) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:344) at java.security.AccessController.checkPermission(AccessController.java:555) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284) at java.lang.System.getenv(System.java:933) at some.pkged.Helper.doSomething(Helper.java:5) at MyApp.init(MyApp.java:12) at sun.applet.AppletPanel.run(AppletPanel.java:435) at java.lang.Thread.run(Thread.java:722) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/d4f19904/attachment.html From omajid at redhat.com Mon May 28 12:10:20 2012 From: omajid at redhat.com (Omair Majid) Date: Mon, 28 May 2012 15:10:20 -0400 Subject: [RFC][icedtea-web][rhino] added tests for corner cases of dateRange and enabled testWeekdayRange In-Reply-To: <4FBCD173.1020603@redhat.com> References: <4EB92EFA.9000601@redhat.com> <4EBAB6E4.3030606@redhat.com> <4EBBB198.4080400@redhat.com> <4FBBD166.5010201@redhat.com> <4FBCD173.1020603@redhat.com> Message-ID: <4FC3CD9C.8070109@redhat.com> On 05/23/2012 08:00 AM, Jiri Vanek wrote: > On 05/22/2012 07:48 PM, Omair Majid wrote: >> On 11/10/2011 06:12 AM, Jiri Vanek wrote: >>> Attached is patch with fixed indentation >> >> Well, turns out that this isn't quite true :( >> >>> - // note: watch out for wrapping around of dates. date ranges, like >>> - // month=9 to month=8, wrap around and cover the entire year. this >>> - // makes everything more interesting >>> + function isDateInRange() { >> >> I completely missed that this makes isDateInRange a top-level function. >> I intentionally wanted to avoid this; this script now exposes this >> (unexpected) function to all the proxy auto config scripts. I can >> imagine all sorts of name clashes if a script accidentally defines a >> function with the same name. Can we fix this somehow while still keeping >> the testing benefits? > > Well javascript private-members is painful theme. Just google around and > you will get scared. What just about to rename it? > I will need some nasty refactoring and prototyping which have its > disadvantages. > > isDateInRange -> diuaseOUIUHroigjodHPffg484gfjfg ? :) > > or better > isDateInRange - > isDateInRange_internallForIcedTeaWebTesting ? There are no guarantees that these wont clash either, especially if someone is trying to make that happen :( Still, it's better than what we have now. So go for it! Omair From adomurad at redhat.com Mon May 28 12:26:54 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 28 May 2012 15:26:54 -0400 Subject: [rfc][icedtea-web] Ignore invalid .jar files in applets Message-ID: <1338233214.24497.8.camel@voip-10-15-18-79.yyz.redhat.com> Hey all. Second try at a patch to ignore invalid .jar files, this time only affecting applets (ie, not pages that use jnlp_href). The proprietary plug-in seems to just skip over any malformed .jar files and carry on loading in, while in applets. This patch emulates that behaviour. Pages with jnlp_href still crash with a ZipException on jar verification (the proprietary plugin also fatally errors). This alleviates some of the symptoms of http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 Once this patch has been accepted in some form, I hope to make it so that the plugin will parse folders differently than jar files and look for resources in folders like the proprietary plug-in does. Le ChangeLog: 2012-05-28 Adam Domurad Ignore invalid jar files in applets, like the oracle plugin does. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (isValidJar): New, checks for ZipException in new JarFile(...) (shouldIgnoreInvalidJars): New, checks if we are in an applet (initializeResources): if 'shouldIgnoreInvalidJars()' is true and a jar is not a valid jar file, the jar is filtered out and normal execution continues. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-attempt-2.patch Type: text/x-patch Size: 3648 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/2df2ed73/patch-attempt-2.patch From omajid at redhat.com Mon May 28 12:29:32 2012 From: omajid at redhat.com (Omair Majid) Date: Mon, 28 May 2012 15:29:32 -0400 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FC3AFE8.1090406@redhat.com> References: <4FBBEA1F.6010007@redhat.com> <4FBCE9AE.5020808@redhat.com> <4FC3AFE8.1090406@redhat.com> Message-ID: <4FC3D21C.5090509@redhat.com> On 05/28/2012 01:03 PM, Saad Mohammad wrote: > Hello, > > The attached patches contains the suggested changes and some additional > tests requested from the previous email. The three patches tests the > launch of applications with: > > 1) A signed JNLP application/template file > 2) An unsigned JNLP application/template file > 3) A signed jnlp application/template file with case > insensitive filenames > I dont quite follow the patch. Much of this already exists as unit tests. Why duplicate it? IMHO, it makes much more sense to verify all the corner cases of signed jnlp files (missing elements, extra elements, elements not exactly matching) in unit tests, and have reproducer tests to ensure that the matching rules that you have already extensively tested using unit tests are being applied. Also, because so many tests are now duplicates, it means that changing one detail in the implementation will require you to modify multiple tests. Cheers, Omair From ddadacha at redhat.com Mon May 28 12:32:51 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Mon, 28 May 2012 15:32:51 -0400 Subject: [rfc] [icedtea-web] reproducers with custom makefile In-Reply-To: <4FC13174.705@redhat.com> References: <4FC13174.705@redhat.com> Message-ID: <4FC3D2E3.1060908@redhat.com> Hi Jiri, On 26/05/12 03:39 PM, Jiri Vanek wrote: > Hi! > > We have been speaking with Danes that although current reproducers compilation and signing mechanism is very powerful, sometimes it > really can not cover some extraordinary case. > For this purpose we ahve come with idea to have special class of reproducers (next to signed and simple) - in this patch called custom > - which will have its own makefile and will take care for itself. > This is implementation of this idea. What do you think? both for idea and implementation :) > Thank you very much for doing this! I think it will make the lives of test writers easier for those unique/specific corner cases. I am definitely for it! > One think I do not like on this change - exporting of variables. In plain Makefile I would use "export". It looks like in Automake > this is not possible. (I suspect comaptibility issues gnu x normal make), so I have exported most crucial variables manually. > When I saw result Makefile I was wandering that the makefile is still working.... Well loks like was working correctly. Any hint welcomed! My autoconf skills are not great to say the least so hopefully someone with more experience can say a few words about this. Just one question, by "I have exported most crucial variables manually", you mean export so that they are available to the custom Makefile? > > J. > > * Makefile.am: Most crucial variables exported to be used by custom Makefiles > (junit-jnlp-dist-custom.txt): new target scanning for directories in jnlp_tests/custom > and saving them as list for future purposes. > (stamps/process-custom-reproducers.stamp): new target for iterating by junit-jnlp-dist-custom.txt > through jnlp_tests/custom/* and launching make prepare-reproducer in each > (clean-custom-reproducers): same as above but launching make clean-reproducer > (run-netx-dist-tests) now depends on stamps/process-custom-reproducers.stamp > (clean-netx-dist-tests): now depends on clean-custom-reproducers > * tests/jnlp_tests/README: described this mechanism a bit > > customMakefiles.diff > > > diff -r 6df151bb5320 Makefile.am > --- a/Makefile.am Fri May 25 11:44:13 2012 -0400 > +++ b/Makefile.am Sat May 26 21:05:53 2012 +0200 > @@ -1,58 +1,58 @@ > # Source directories > [snip] > +export DTEST_SERVER=-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) > +export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) > +export DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) > +export REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) > # end of `D`shortcuts > > + Extra newline? > # binary names > javaws:= $(shell echo javaws | sed '@program_transform_name@') > itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@') > @@ -492,6 +493,10 @@ > mkdir -p $(JNLP_TESTS_DIR) > touch $@ > > +junit-jnlp-dist-custom.txt: > + cd $(JNLP_TESTS_SRCDIR)/custom/ ; \ > + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> $(abs_top_builddir)/$@ > + Are you adding this as a separate target because this target may be used outside of stamps/process-custom-reproducers.stamp? If not, then can't we just merge this directly into the process target? E.g. as + customReproducers=`find $(JNLP_TESTS_SRCDIR)/custom/ -maxdepth 1 -mindepth 1 | sed "s/.\/*//"` > junit-jnlp-dist-simple.txt: > cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ > find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> $(abs_top_builddir)/$@ > @@ -648,7 +653,7 @@ > javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ > stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ > stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) \ > - $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) > + $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp > cd $(JNLP_TESTS_ENGINE_DIR) ; \ > class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ > CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ > @@ -662,6 +667,31 @@ > endif > touch $@ > > +stamps/process-custom-reproducers.stamp: stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ > + stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) \ > + $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) junit-jnlp-dist-custom.txt > + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ > + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ > + IFS="$$IFS_BACKUP" ; \ > + for dir in "$${simpleReproducers[@]}" ; do \ Please rename simpleReproducers to customReproducers. > + pushd $(JNLP_TESTS_SRCDIR)/custom/$$dir; \ > + $(MAKE) prepare-reproducer ; \ Is there any reason for us to force devs to have a prepare-reproducer target? I feel like this is something many will forget, particularly the clean-reproducer target as they may not call it ever. :/ > + popd ; \ > + done ; > + mkdir -p stamps&& \ > + touch $@ > + > +clean-custom-reproducers: > + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ > + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ > + IFS="$$IFS_BACKUP" ; \ > + for dir in "$${simpleReproducers[@]}" ; do \ > + pushd $(JNLP_TESTS_SRCDIR)/custom/$$dir; \ > + $(MAKE) clean-reproducer ; \ > + popd ; \ > + done ; > + rm -f stamps/process-custom-reproducers.stamp > + Rename simple to custom here too. > #for global-links you must be root, for opera there do not exists user-links > #although this targets will indeed create symbolic links to enable > #icedtea-web plugin inside browser it is intended for testing purposes > @@ -992,7 +1022,7 @@ > rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ > rm -f $(TESTS_DIR)/index*.html > > -clean-netx-dist-tests: clean_tests_reports netx-dist-tests-remove-cert-from-public > +clean-netx-dist-tests: clean_tests_reports netx-dist-tests-remove-cert-from-public clean-custom-reproducers > rm -f netx-dist-tests-source-files.txt > rm -rf $(JNLP_TESTS_DIR) > rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) > diff -r 6df151bb5320 tests/jnlp_tests/README > --- a/tests/jnlp_tests/README Fri May 25 11:44:13 2012 -0400 > +++ b/tests/jnlp_tests/README Sat May 26 21:05:53 2012 +0200 > @@ -4,7 +4,21 @@ > Directories are honored in srcs and in resources, but noty in testcases. > Directories in signed hande their content in similar way as simle's content is handled, > but in addition final jars are signed with simple testkey. > -Files in advanced directory have to care about themselves, but even those can have some > - parts inside simple directory, so some parts of them are processed automatically. > +Files in custom directory have to care about themselves (including testcase), > + but even those can have some parts inside simple directory, so some parts of them > + are processed automatically. > There are three reproducers ??? simpletest1, simpletest2 and deadlocktest, which tests > test???s suite itself and serve as examples of behaviour. > +If file in simple or signed directores is composed form dost, then it is placed to > + directory structure eg my.dir.package will be deployed as > + jnlp_test_server/my/dir/package.jar (and original kept (eg my.dir.package.jar)) This is a little hard to understand (particularly because this concept is hard to understand :/ ). What do you think of: If the name of a folder in simple/signed is composed of dots, then its contents are deployed from under a directory structure such that each part evaluates to a folder. For example, my.dir.reproducer/ will be deployed as jnlp_test_server/my/dir/reproducer.jar. > +Inside custom directory are expected directories which are handling and file or > + directory structure. The only expected file is custom/reproducerName/Makefile. Upon > + all custom/* are then launched make prepare-reproducer and during cleaning make > + clean-reproducer Those targets are run after all simple and signed reproducers > + are prepared, so they can reuse as much code as possible including eg certificates, > + or testcases directories or resources or dependencies to keep this custom makefiles > + as simple as possible. Some comment in makefile or readme file is recommended for > + each custom reproducer to tell dependencies and what it does. Okay, so correct me if I'm wrong here; Test writers are responsible for building and deploying everything under custom/reproducer/*, namely I would have to compile, create the jar, sign it and then copy everything I need into jnlp_test_server/, after which the engine will take care of it. If this is correct, then this sounds more than reasonable to me! > +Because of automake only small set of variables from icedtea-web Makefile is > + available for custom makefiles, but feel free to export others if needed. > I'm going to try to cp some simple reproducer and get it to mimic a deployment as if it were under simple to make sure this patch works. Another review coming up! Thanks again for implementing this feature! Cheers, Danesh From ddadacha at redhat.com Mon May 28 12:47:34 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Mon, 28 May 2012 15:47:34 -0400 Subject: [rfc] [icedtea-web] get rid of repated sout/serr in reproducers testcases In-Reply-To: <4FC34038.4000200@redhat.com> References: <4FBF8140.3000705@redhat.com> <4FBFD8BE.1060806@redhat.com> <4FC34038.4000200@redhat.com> Message-ID: <4FC3D656.4020107@redhat.com> On 28/05/12 05:07 AM, Jiri Vanek wrote: > On 05/25/2012 09:08 PM, Danesh Dadachanji wrote: >> On 25/05/12 08:55 AM, Jiri Vanek wrote: >>> Hi! >>> >>> I would like to get rid of repeating std out/err reprint in reproducers by moving this into >>> ServerAccess class. This patch is adding >>> simple loging interface for stdout/err and (mainly) is hiding reprinting (logging since now:-) of >>> processes out/err and "connectng: " >>> message into executeProcess. >>> >>> My goal in longer term is to have html file (generated from logged xml file probably) which I will >>> be able to link (anchor inlcuded) >>> from current test results html files.And so I will be able to quickly find whats wrong. Now it is >>> becoming little bit painfull. >(Both >>> stdou/err of processes and searching in looong output file) >>> >>> Saad, Danesh - you have number of reproducers in development. Please count with this change. >>> >>> >> >> Thanks for letting us know. I have some comments below. Could you also add a ChangeLog entry? >> > > All issues should be fixed. Except renaming - i Renamed it little bit differently: logErrorReprint and logOutputReprint. Thats because > I would like chars before auto-completion finish it for me as short as possible:) > I'm all for making autocompletion easier. =) > > Sorry of changelog inside patch, but I accidentally make some work in same branch before sending to you. > No worries. =) Just one minor comment below. [snip] >>> diff -r 2c84a314c411 tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java >>> --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Thu May 24 15:37:30 2012 >>> -0400 >>> +++ b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java Fri May 25 14:36:05 2012 >>> +0200 >>> @@ -116,6 +116,10 @@ >>> * all terminated processes are stored here. As wee need to 'wait' to termination to be finished. >>> */ >>> private static Set terminated = new HashSet(); >>> + /** >>> + * this flag is indicating whether ooutput of executeProcess should be logged. By default true. >>> + */ >> >> s/ooutput/output/ >> I think also for style, we use single lined comments for class vars - /** > All docs in ServerAcces are multi-lined. I would like to keep them so. > Oh I didn't realize that. Thanks for clarifying! [snip] > > diff -r 6df151bb5320 ChangeLog > --- a/ChangeLog Fri May 25 11:44:13 2012 -0400 > +++ b/ChangeLog Mon May 28 10:58:03 2012 +0200 > @@ -1,3 +1,21 @@ > +2012-05-20 Jiri Vanek > + > + Get rid of repeated sout/serr in reproducers testcases/unit tests and > + introduce bottleneck for loging. > + * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: > + (PROCESS_LOG) static flag for enabling/disabling automatic logging of > + statically executed processes. > + (logErrorReprint) (logOutputReprint) (logNoReprint) new methods, to call > + logging bottleneck. > + (log) main logging bottleneck, reprint message to according stream with > + calling test-class and test-method as suffix. > + (getTestMethod) new method to analyze calling test-method. > + (executeProcess) enhanced for conditional automatic logging of start of > + process and outputs of process. > + */tests/jnlp_tests/*/*/testcases/*.java : and > + */tests/netx/unit/**.java: all System.out replaced by ServerAccess.logOutputReprint Please list all the files, even if there are many: http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs (Thanks to Omair for the link!) > + and System.err replaced by ServerAccess.logErrorReprint > + > 2012-05-25 Adam Domurad > > Changed for-loops over iterators and indices to for-each loops if they Once, done feel free to commit to HEAD. Cheers, Danesh From ahughes at redhat.com Mon May 28 13:14:40 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Mon, 28 May 2012 16:14:40 -0400 (EDT) Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: <4FC39E26.5050306@redhat.com> Message-ID: ----- Original Message ----- > Hi, > > On 05/28/2012 05:03 PM, Andrew Hughes wrote: > > ----- Original Message ----- > >> Hi, > >> > >> I fixed few things Jiri Vanek suggested and send the patch for > >> another review. > >> > >> Thanks, > >> > >> Peter Hatina > >> EMEA ENG-Desktop Development > >> Red Hat Czech, Brno > >> > >> --- > >> ChangeLog | 8 ++++++++ > >> NEWS | 1 + > >> acinclude.m4 | 54 > >> +++++++++++++++++++++++++++++++++++++++++++++++++++++- > >> 3 files changed, 62 insertions(+), 1 deletion(-) > >> > >> diff --git a/ChangeLog b/ChangeLog > >> index 82c0feb..d6f7e0c 100644 > >> --- a/ChangeLog > >> +++ b/ChangeLog > >> @@ -1,3 +1,11 @@ > >> +2012-05-28 Peter Hatina > >> + > >> + Introduced configure option --with-gtk=2.0|3.0 to be able to > >> compile > >> + against different version of GTK+ (2.x or 3.x). > >> + *NEWS: mentioned bug fix > >> + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS > >> + (GTK_CHECK) macro for checking GTK+ version > >> + > >> 2012-05-02 Jiri Vanek > >> > >> Introduced new annotations Bug (to connect test/reproducer with > >> documentation) > >> diff --git a/NEWS b/NEWS > >> index 8397639..30eb055 100644 > >> --- a/NEWS > >> +++ b/NEWS > >> @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): > >> - PR895: IcedTea-Web searches for missing classes on each > >> loadClass or findClass > >> * Common > >> - PR918: java applet windows uses a low resulution black/white > >> icon > >> + - RHX720836: project can be compiled against GTK+ 2 or 3 > >> libraries > >> > >> New in release 1.2 (2011-XX-XX): > >> * Security updates: > >> diff --git a/acinclude.m4 b/acinclude.m4 > >> index a330d0f..f3ed46f 100644 > >> --- a/acinclude.m4 > >> +++ b/acinclude.m4 > >> @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], > >> AC_MSG_RESULT(${enable_plugin}) > >> ]) > >> > >> +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], > >> [ACTION-IF-NOT]) > >> +AC_DEFUN([GTK_CHECK_VERSION], > >> +[ > >> + if pkg-config --modversion gtk+-$1 &> /dev/null; then > >> + $2 > >> + else > >> + $3 > >> + fi > >> +]) > >> + > >> +dnl GTK_SET_CXX_VARS([gtk version]) > >> +AC_DEFUN([GTK_SET_CXX_VARS], > >> +[ > >> + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` > >> + GTK_LIBS=`pkg-config --libs gtk+-$1` > >> +]) > >> + > >> +dnl GTK_CHECK([gtk version]) > >> +AC_DEFUN([GTK_CHECK], > >> +[ > >> + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], > >> + [ > >> + case "$1" in > >> + default) > >> + GTK_CHECK_VERSION(["3.0"], > >> + [echo -n "3.0" > >> + GTK_SET_CXX_VARS(["3.0"])], > >> + [GTK_CHECK_VERSION(["2.0"], > >> + [echo -n "2.0" > >> + GTK_SET_CXX_VARS(["2.0"])], > >> + [AC_MSG_RESULT([no]) > >> + AC_MSG_ERROR([GTK+ not found])])]) > >> + ;; > >> + *) > >> + GTK_CHECK_VERSION([$1], > >> + [echo -n "$1" > >> + GTK_SET_CXX_VARS([$1])], > >> + [AC_MSG_RESULT([no]) > >> + AC_MSG_ERROR([GTK+ $1 not found])]) > >> + ;; > >> + esac > >> + ]) > >> +]) > >> + > >> AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], > >> [ > >> dnl Check for plugin support headers and libraries. > >> dnl FIXME: use unstable > >> AC_REQUIRE([IT_CHECK_PLUGIN]) > >> if test "x${enable_plugin}" = "xyes" ; then > >> - PKG_CHECK_MODULES(GTK, gtk+-2.0) > >> + AC_ARG_WITH([gtk], > >> + [AS_HELP_STRING([--with-gtk=2.0|3.0], > >> + [the GTK+ version to use (default: 3.0)])], > >> + [case "$with_gtk" in > >> + 2.0|3.0) ;; > >> + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; > >> + esac], > >> + [with_gtk=default]) > >> + GTK_CHECK([$with_gtk]) > >> PKG_CHECK_MODULES(GLIB, glib-2.0) > >> AC_SUBST(GLIB_CFLAGS) > >> AC_SUBST(GLIB_LIBS) > >> -- > >> 1.7.10.2 > >> > >> > > > > Thanks for the patch. > > > > Two main points and two minor ones. > > > > Main ones: > > > > 1. Why are we manually calling 'pkg-config' (hard-coded > > to rely on $PATH) rather than using the existing macros, as the > > code > > being replaced does. For example, these use $PKG_CONFIG and > > support > > $PKG_CONFIG_PATH. > > I have "stolen" this from existing code. > Please explain. I see no reason not to use the appropriate pkg-config macros rather than adding all this. > > 2. The new macros should also have the ITW_ prefix in their name. > > (I presume CHECK_PLUGIN_DEPENDENCIES only has IT_ as it originates > > from IcedTea). > > Ok, I will fix this. > > > > > Minor issues: > > > > 1. Why not just --with-gtk=2? Or better, --with-gtk-version=2? > > 2.0 is confusing because most people will have something like 2.24. > > Habit from other project, such as WebKit. The 2.0 or 3.0 is also used > for pkg-config gtk+-2.0 [ options ]. > But we can add the '.0' ourselves. Just because some other project does it doesn't make it right. > > 2. Shouldn't "default" be allowed through the case block in > > IT_CHECK_PLUGIN_DEPENDENCIES? > > I do not get this. > Why > >> + 2.0|3.0) ;; and not > >> + 2.0|3.0|default) ;; ? > -- > Peter Hatina > EMEA ENG-Desktop Development > Red Hat Czech, Brno > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From adomurad at redhat.com Mon May 28 13:23:21 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 28 May 2012 16:23:21 -0400 Subject: [rfc][icedtea-web] Ignore invalid .jar files in applets In-Reply-To: <1338233214.24497.8.camel@voip-10-15-18-79.yyz.redhat.com> References: <1338233214.24497.8.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <1338236601.24497.11.camel@voip-10-15-18-79.yyz.redhat.com> The original patch actually errors when passed a .jar file that simply does not exist. This is a better patch. ChangeLog: 2012-05-28 Adam Domurad Ignore invalid jar files in applets, like the oracle plugin does. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (isInvalidJar): New, checks for ZipException in new JarFile(...) (shouldFilterInvalidJars): New, checks if we are in an applet (initializeResources): if 'shouldFilterInvalidJars()' is true and a jar is not a valid jar file, the jar is filtered out and normal execution continues. On Mon, 2012-05-28 at 15:26 -0400, Adam Domurad wrote: > Hey all. Second try at a patch to ignore invalid .jar files, this time > only affecting applets (ie, not pages that use jnlp_href). > > The proprietary plug-in seems to just skip over any malformed .jar files > and carry on loading in, while in applets. This patch emulates that > behaviour. Pages with jnlp_href still crash with a ZipException on jar > verification (the proprietary plugin also fatally errors). > > This alleviates some of the symptoms of > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 > Once this patch has been accepted in some form, I hope to make it so > that the plugin will parse folders differently than jar files and look > for resources in folders like the proprietary plug-in does. > > Le ChangeLog: > 2012-05-28 Adam Domurad > > Ignore invalid jar files in applets, like the oracle plugin does. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (isValidJar): New, checks for ZipException in new JarFile(...) > (shouldIgnoreInvalidJars): New, checks if we are in an applet > (initializeResources): if 'shouldIgnoreInvalidJars()' is true and a jar > is not a valid jar file, the jar is filtered out and normal execution > continues. > -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-attempt-3.patch Type: text/x-patch Size: 3811 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/f113cc43/patch-attempt-3.patch From smohammad at redhat.com Mon May 28 14:55:00 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Mon, 28 May 2012 17:55:00 -0400 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FC3D21C.5090509@redhat.com> References: <4FBBEA1F.6010007@redhat.com> <4FBCE9AE.5020808@redhat.com> <4FC3AFE8.1090406@redhat.com> <4FC3D21C.5090509@redhat.com> Message-ID: <4FC3F434.3080006@redhat.com> On 05/28/2012 03:29 PM, Omair Majid wrote: > On 05/28/2012 01:03 PM, Saad Mohammad wrote: >> Hello, >> >> The attached patches contains the suggested changes and some additional >> tests requested from the previous email. The three patches tests the >> launch of applications with: >> >> 1) A signed JNLP application/template file >> 2) An unsigned JNLP application/template file >> 3) A signed jnlp application/template file with case >> insensitive filenames >> > > I dont quite follow the patch. Much of this already exists as unit > tests. Why duplicate it? > > IMHO, it makes much more sense to verify all the corner cases of signed > jnlp files (missing elements, extra elements, elements not exactly > matching) in unit tests, and have reproducer tests to ensure that the > matching rules that you have already extensively tested using unit tests > are being applied. > > Also, because so many tests are now duplicates, it means that changing > one detail in the implementation will require you to modify multiple tests. > > Cheers, > Omair Thanks Omair for the review . I do agree with you and will be updating the patch to avoid such duplicates. -- Saad Mohammad From bugzilla-daemon at icedtea.classpath.org Mon May 28 15:53:58 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 22:53:58 +0000 Subject: [Bug 1013] Icedtea In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- Component|JamVM |IcedTea Version|7-1.0 |2.1.0 Assignee|xerxes at zafena.se |unassigned at icedtea.classpat | |h.org Severity|critical |normal --- Comment #1 from Xerxes R?nby --- Please attach the image you loaded using javax.imageio.ImageIO.read(Ljava/io/File;)Ljava/awt/image/BufferedImage;+51 inside new PanelDibujo(); ... j javax.imageio.ImageIO.read(Ljava/io/File;)Ljava/awt/image/BufferedImage;+51 j Abrir.(LPanelDibujo;)V+72 j Menu$1.actionPerformed(Ljava/awt/event/ActionEvent;)V+10 ... This image contains a color ICC profile that triggers this bug in you systems liblcms2. # C [liblcms2.so.2+0x12a1d] cmsSaveProfileToIOhandler+0x2d If possible attach your test program "Prueba" as well. -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/b91cdb31/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon May 28 16:33:37 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 28 May 2012 23:33:37 +0000 Subject: [Bug 1013] Icedtea In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 --- Comment #2 from imc.coder at gmail.com --- Created attachment 696 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=696&action=edit code source and image hi this is the source code and the image thanks -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120528/b17506c4/attachment.html From phatina at redhat.com Mon May 28 23:27:03 2012 From: phatina at redhat.com (Peter Hatina) Date: Tue, 29 May 2012 08:27:03 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: References: Message-ID: <4FC46C37.5010600@redhat.com> On 05/28/2012 10:14 PM, Andrew Hughes wrote: > > > ----- Original Message ----- >> Hi, >> >> On 05/28/2012 05:03 PM, Andrew Hughes wrote: >>> ----- Original Message ----- >>>> Hi, >>>> >>>> I fixed few things Jiri Vanek suggested and send the patch for >>>> another review. >>>> >>>> Thanks, >>>> >>>> Peter Hatina >>>> EMEA ENG-Desktop Development >>>> Red Hat Czech, Brno >>>> >>>> --- >>>> ChangeLog | 8 ++++++++ >>>> NEWS | 1 + >>>> acinclude.m4 | 54 >>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++- >>>> 3 files changed, 62 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/ChangeLog b/ChangeLog >>>> index 82c0feb..d6f7e0c 100644 >>>> --- a/ChangeLog >>>> +++ b/ChangeLog >>>> @@ -1,3 +1,11 @@ >>>> +2012-05-28 Peter Hatina >>>> + >>>> + Introduced configure option --with-gtk=2.0|3.0 to be able to >>>> compile >>>> + against different version of GTK+ (2.x or 3.x). >>>> + *NEWS: mentioned bug fix >>>> + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS >>>> + (GTK_CHECK) macro for checking GTK+ version >>>> + >>>> 2012-05-02 Jiri Vanek >>>> >>>> Introduced new annotations Bug (to connect test/reproducer with >>>> documentation) >>>> diff --git a/NEWS b/NEWS >>>> index 8397639..30eb055 100644 >>>> --- a/NEWS >>>> +++ b/NEWS >>>> @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): >>>> - PR895: IcedTea-Web searches for missing classes on each >>>> loadClass or findClass >>>> * Common >>>> - PR918: java applet windows uses a low resulution black/white >>>> icon >>>> + - RHX720836: project can be compiled against GTK+ 2 or 3 >>>> libraries >>>> >>>> New in release 1.2 (2011-XX-XX): >>>> * Security updates: >>>> diff --git a/acinclude.m4 b/acinclude.m4 >>>> index a330d0f..f3ed46f 100644 >>>> --- a/acinclude.m4 >>>> +++ b/acinclude.m4 >>>> @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], >>>> AC_MSG_RESULT(${enable_plugin}) >>>> ]) >>>> >>>> +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], >>>> [ACTION-IF-NOT]) >>>> +AC_DEFUN([GTK_CHECK_VERSION], >>>> +[ >>>> + if pkg-config --modversion gtk+-$1 &> /dev/null; then >>>> + $2 >>>> + else >>>> + $3 >>>> + fi >>>> +]) >>>> + >>>> +dnl GTK_SET_CXX_VARS([gtk version]) >>>> +AC_DEFUN([GTK_SET_CXX_VARS], >>>> +[ >>>> + GTK_CFLAGS=`pkg-config --cflags gtk+-$1` >>>> + GTK_LIBS=`pkg-config --libs gtk+-$1` >>>> +]) >>>> + >>>> +dnl GTK_CHECK([gtk version]) >>>> +AC_DEFUN([GTK_CHECK], >>>> +[ >>>> + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], >>>> + [ >>>> + case "$1" in >>>> + default) >>>> + GTK_CHECK_VERSION(["3.0"], >>>> + [echo -n "3.0" >>>> + GTK_SET_CXX_VARS(["3.0"])], >>>> + [GTK_CHECK_VERSION(["2.0"], >>>> + [echo -n "2.0" >>>> + GTK_SET_CXX_VARS(["2.0"])], >>>> + [AC_MSG_RESULT([no]) >>>> + AC_MSG_ERROR([GTK+ not found])])]) >>>> + ;; >>>> + *) >>>> + GTK_CHECK_VERSION([$1], >>>> + [echo -n "$1" >>>> + GTK_SET_CXX_VARS([$1])], >>>> + [AC_MSG_RESULT([no]) >>>> + AC_MSG_ERROR([GTK+ $1 not found])]) >>>> + ;; >>>> + esac >>>> + ]) >>>> +]) >>>> + >>>> AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], >>>> [ >>>> dnl Check for plugin support headers and libraries. >>>> dnl FIXME: use unstable >>>> AC_REQUIRE([IT_CHECK_PLUGIN]) >>>> if test "x${enable_plugin}" = "xyes" ; then >>>> - PKG_CHECK_MODULES(GTK, gtk+-2.0) >>>> + AC_ARG_WITH([gtk], >>>> + [AS_HELP_STRING([--with-gtk=2.0|3.0], >>>> + [the GTK+ version to use (default: 3.0)])], >>>> + [case "$with_gtk" in >>>> + 2.0|3.0) ;; >>>> + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; >>>> + esac], >>>> + [with_gtk=default]) >>>> + GTK_CHECK([$with_gtk]) >>>> PKG_CHECK_MODULES(GLIB, glib-2.0) >>>> AC_SUBST(GLIB_CFLAGS) >>>> AC_SUBST(GLIB_LIBS) >>>> -- >>>> 1.7.10.2 >>>> >>>> >>> >>> Thanks for the patch. >>> >>> Two main points and two minor ones. >>> >>> Main ones: >>> >>> 1. Why are we manually calling 'pkg-config' (hard-coded >>> to rely on $PATH) rather than using the existing macros, as the >>> code >>> being replaced does. For example, these use $PKG_CONFIG and >>> support >>> $PKG_CONFIG_PATH. >> >> I have "stolen" this from existing code. >> > > Please explain. I see no reason not to use the appropriate pkg-config macros > rather than adding all this. Ok, I will use $PKG_CONFIG. > >>> 2. The new macros should also have the ITW_ prefix in their name. >>> (I presume CHECK_PLUGIN_DEPENDENCIES only has IT_ as it originates >>> from IcedTea). >> >> Ok, I will fix this. >> >>> >>> Minor issues: >>> >>> 1. Why not just --with-gtk=2? Or better, --with-gtk-version=2? >>> 2.0 is confusing because most people will have something like 2.24. >> >> Habit from other project, such as WebKit. The 2.0 or 3.0 is also used >> for pkg-config gtk+-2.0 [ options ]. >> > > But we can add the '.0' ourselves. Just because some other project does > it doesn't make it right. > Ok. >>> 2. Shouldn't "default" be allowed through the case block in >>> IT_CHECK_PLUGIN_DEPENDENCIES? >> >> I do not get this. >> > > Why > >>>> + 2.0|3.0) ;; > > and not > >>>> + 2.0|3.0|default) ;; > > ? Ah, I see your point, ok. > >> -- >> Peter Hatina >> EMEA ENG-Desktop Development >> Red Hat Czech, Brno >> > -- Peter Hatina EMEA ENG-Desktop Development Red Hat Czech, Brno From jvanek at redhat.com Tue May 29 01:19:22 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 29 May 2012 10:19:22 +0200 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FC3F434.3080006@redhat.com> References: <4FBBEA1F.6010007@redhat.com> <4FBCE9AE.5020808@redhat.com> <4FC3AFE8.1090406@redhat.com> <4FC3D21C.5090509@redhat.com> <4FC3F434.3080006@redhat.com> Message-ID: <4FC4868A.7020204@redhat.com> On 05/28/2012 11:55 PM, Saad Mohammad wrote: > On 05/28/2012 03:29 PM, Omair Majid wrote: >> On 05/28/2012 01:03 PM, Saad Mohammad wrote: >>> Hello, >>> >>> The attached patches contains the suggested changes and some additional >>> tests requested from the previous email. The three patches tests the >>> launch of applications with: >>> >>> 1) A signed JNLP application/template file >>> 2) An unsigned JNLP application/template file >>> 3) A signed jnlp application/template file with case >>> insensitive filenames >>> >> >> I dont quite follow the patch. Much of this already exists as unit >> tests. Why duplicate it? >> >> IMHO, it makes much more sense to verify all the corner cases of signed >> jnlp files (missing elements, extra elements, elements not exactly >> matching) in unit tests, and have reproducer tests to ensure that the >> matching rules that you have already extensively tested using unit tests >> are being applied. >> >> Also, because so many tests are now duplicates, it means that changing >> one detail in the implementation will require you to modify multiple tests. >> >> Cheers, >> Omair > > Thanks Omair for the review . I do agree with you and will be updating the patch to avoid such > duplicates. > Agree with Omair, please reduce a bit number of tests. And btw - please remove stdout/err according to Re: [rfc] [icedtea-web] get rid of repated sout/serr in reproducers testcases Anyway thanx for 1,2,3 cases :) J. From jvanek at redhat.com Tue May 29 01:30:50 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 29 May 2012 10:30:50 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: <4FC46C37.5010600@redhat.com> References: <4FC46C37.5010600@redhat.com> Message-ID: <4FC4893A.2040101@redhat.com> On 05/29/2012 08:27 AM, Peter Hatina wrote: > On 05/28/2012 10:14 PM, Andrew Hughes wrote: >> ... >>>> >>>> Minor issues: >>>> >>>> 1. Why not just --with-gtk=2? Or better, --with-gtk-version=2? >>>> 2.0 is confusing because most people will have something like 2.24. >>> >>> Habit from other project, such as WebKit. The 2.0 or 3.0 is also used >>> for pkg-config gtk+-2.0 [ options ]. >>> >> >> But we can add the '.0' ourselves. Just because some other project does >> it doesn't make it right. >> > > Ok. You can still use condition to allow both your habits and suggested simplified input. I would be happy with this as I'm also used to use --with-gtk=X.0 much rather then --with-gtk-version=X. Actually I'm much for --with-gtk=X.0 as it is spread over gtk project I have worked with. But I see Andrew's point too. SO some middle way according to your judgement will be the best :) > >>>> 2. Shouldn't "default" be allowed through the case block in >>>> IT_CHECK_PLUGIN_DEPENDENCIES? >>> >>> I do not get this. >>> >> >> Why >> >>>>> + 2.0|3.0) ;; >> >> and not >> >>>>> + 2.0|3.0|default) ;; >> >> ? > > Ah, I see your point, ok. > J. From bugzilla-daemon at icedtea.classpath.org Tue May 29 03:31:26 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 29 May 2012 10:31:26 +0000 Subject: [Bug 987] Crash during Jenkins installation In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=987 --- Comment #1 from Clement Gautier --- up ? -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/e9f9efab/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 29 05:58:05 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 29 May 2012 12:58:05 +0000 Subject: [Bug 1018] New: JVM fails due to SEGV during rendering some Unicode characters Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1018 Priority: P3 Bug ID: 1018 Assignee: unassigned at icedtea.classpath.org Summary: JVM fails due to SEGV during rendering some Unicode characters Severity: normal Classification: Unclassified OS: Linux Reporter: ptisnovs at redhat.com Hardware: x86_64 Status: NEW Version: 6-hg Component: IcedTea Product: IcedTea Created attachment 697 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=697&action=edit Reproducer Description of problem: JVM fails due to SEGV during rendering certain Unicode characters. This failure occurs randomly - need to run a reproducer more times to get SEGV. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/6bf8952c/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 29 05:59:24 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 29 May 2012 12:59:24 +0000 Subject: [Bug 1018] JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1018 Pavel Tisnovsky changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at icedtea.classpat |ptisnovs at redhat.com |h.org | --- Comment #1 from Pavel Tisnovsky --- Created attachment 698 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=698&action=edit hs_err.log generated during SEGV -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/ce716851/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue May 29 06:19:01 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 29 May 2012 13:19:01 +0000 Subject: [Bug 1013] Icedtea In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ahughes at redhat.com Version|2.1.0 |7-hg --- Comment #3 from Andrew John Hughes --- This is a hg build (note the pre in 'IcedTea7 2.1.1pre'). -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/229d47c8/attachment.html From jvanek at icedtea.classpath.org Tue May 29 06:54:02 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 29 May 2012 13:54:02 +0000 Subject: /hg/icedtea-web: 3 new changesets Message-ID: changeset c0b0577ecbe4 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c0b0577ecbe4 author: Jiri Vanek date: Mon May 28 11:00:49 2012 +0200 Get rid of repeated sout/serr in reproducers testcases/unit tests and introduce bottleneck for loging. changeset c04c3b9576db in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c04c3b9576db author: Jiri Vanek date: Tue May 29 15:34:46 2012 +0200 Added ignoration of inner classes during retrieving test id changeset 526df16b6e27 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=526df16b6e27 author: Jiri Vanek date: Tue May 29 15:54:14 2012 +0200 fixed changelog according to reviwer diffstat: ChangeLog | 42 ++++ tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java | 8 - tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java | 14 - tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java | 12 +- tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java | 4 - tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java | 12 - tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java | 49 +---- tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java | 32 --- tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java | 4 - tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java | 4 - tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java | 8 - tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java | 4 - tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java | 4 - tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java | 4 - tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java | 40 ---- tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java | 4 - tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java | 8 - tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java | 4 - tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java | 4 - tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java | 4 - tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java | 48 ---- tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java | 74 +++---- tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java | 10 +- tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java | 4 - tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java | 99 +++++++++- tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java | 3 +- tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java | 9 +- tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java | 5 +- 28 files changed, 185 insertions(+), 332 deletions(-) diffs (truncated from 1398 to 500 lines): diff -r 6df151bb5320 -r 526df16b6e27 ChangeLog --- a/ChangeLog Fri May 25 11:44:13 2012 -0400 +++ b/ChangeLog Tue May 29 15:54:14 2012 +0200 @@ -1,3 +1,45 @@ +2012-05-20 Jiri Vanek + + Get rid of repeated sout/serr in reproducers testcases/unit tests and + introduce bottleneck for loging. + * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: + (PROCESS_LOG) static flag for enabling/disabling automatic logging of + statically executed processes. + (logErrorReprint) (logOutputReprint) (logNoReprint) new methods, to call + logging bottleneck. + (log) main logging bottleneck, reprint message to according stream with + calling test-class and test-method as suffix. + (getTestMethod) new method to analyze calling test-method. + (executeProcess) enhanced for conditional automatic logging of start of + process and outputs of process. + * tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: + * tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java: + * tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java: + * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: + * tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java: + * tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java: + * tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: + * tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: + * tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java: + * tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java: + * tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: + * tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java: + * tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: + * tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: + * tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: + * tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: + * tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: + * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: + * tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java: + * tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: + * tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java: + * tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java: + * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: + * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: + * tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java: + all System.out replaced by ServerAccess.logOutputReprint + and System.err replaced by ServerAccess.logErrorReprint + 2012-05-25 Adam Domurad Changed for-loops over iterators and indices to for-each loops if they diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java --- a/tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Tue May 29 15:54:14 2012 +0200 @@ -51,11 +51,7 @@ @Test public void AppletTestSignedTest() throws Exception { - System.out.println("connecting AppletTestSigned request"); - System.err.println("connecting AppletTestSigned request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/AppletTestSigned.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); evaluateSignedApplet(pr); Assert.assertFalse(pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); @@ -82,13 +78,9 @@ @Test public void AppletTestSignedFirefoxTest() throws Exception { - System.out.println("connecting AppletTestSigned in firefox request"); - System.err.println("connecting AppletTestSigned in firefox request"); ServerAccess.PROCESS_TIMEOUT = 30 * 1000; try { ServerAccess.ProcessResult pr = server.executeBrowser("/AppletTestSigned.html"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); evaluateSignedApplet(pr); Assert.assertTrue(pr.wasTerminated); //Assert.assertEquals((Integer) 0, pr.returnValue); due to destroy is null diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue May 29 15:54:14 2012 +0200 @@ -258,11 +258,7 @@ @Override public void run() { try { - System.out.println("connecting deadlocktest request"); - System.err.println("connecting deadlocktest request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(verbosed, "/deadlocktest.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); } catch (Exception ex) { throw new RuntimeException(ex); } @@ -271,8 +267,6 @@ t.start(); Thread.sleep(1000); pr = tryToClearcache(); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String q = "Can not clear cache at this time"; Assert.assertTrue("Stderr should contain " + q + ", but did not.", pr.stderr.contains(q)); assertCacheIsNotEmpty(); @@ -338,8 +332,6 @@ } private static void clearAndEvaluateCache(boolean force) throws Exception { - System.out.println("clearing cache"); - System.err.println("clearing cache"); if (force) { if (netxLock.isFile()) { boolean b = netxLock.delete(); @@ -458,11 +450,7 @@ } private static ServerAccess.ProcessResult runSimpleTest1(List args, String s) throws Exception { - System.out.println("connecting " + s + " request"); - System.err.println("connecting " + s + " request"); ServerAccess.ProcessResult pr2 = server.executeJavawsHeadless(args, "/" + s + ".jnlp"); - System.out.println(pr2.stdout); - System.err.println(pr2.stderr); return pr2; } @@ -483,8 +471,6 @@ private static ProcessResult tryToClearcache() throws Exception { ServerAccess.ProcessResult pr1 = ServerAccess.executeProcess(clear); - System.out.println(pr1.stdout); - System.err.println(pr1.stderr); return pr1; } } diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java --- a/tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java Tue May 29 15:54:14 2012 +0200 @@ -50,8 +50,6 @@ private final List l = Collections.unmodifiableList(Arrays.asList(new String[]{"-Xtrustall"})); private void evaluateResult(ProcessResult pr) { - System.out.println(pr.stdout); - System.err.println(pr.stderr); String c = "only fixed classloader can initialize this app"; Assert.assertTrue("stdout should contains `" + c + "`, but didn't ", pr.stdout.contains(c)); String cc = "ClassNotFoundException"; @@ -62,33 +60,25 @@ @Test public void MissingJarTest1() throws Exception { - System.out.println("connecting MissingJar1 request"); - System.err.println("connecting MissingJar1 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar.jnlp"); evaluateResult(pr); } @Test public void MissingJarTest2() throws Exception { - System.out.println("connecting MissingJar2 request"); - System.err.println("connecting MissingJar2 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar2.jnlp"); evaluateResult(pr); } @Test public void MissingJarTest3() throws Exception { - System.out.println("connecting MissingJar3 request"); - System.err.println("connecting MissingJar3 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar3.jnlp"); evaluateResult(pr); } @Test public void MissingJarTest4() throws Exception { - System.out.println("connecting MissingJar4 request"); - System.err.println("connecting MissingJar4 request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(l, "/MissingJar4.jnlp"); evaluateResult(pr); } -} \ No newline at end of file +} diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java --- a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java Tue May 29 15:54:14 2012 +0200 @@ -52,11 +52,7 @@ @Test public void ReadPropertiesBySignedHackWithjoutXtrustAll() throws Exception { //no request for permissions - System.out.println("connecting ReadPropertiesBySignedHack request"); - System.err.println("connecting ReadPropertiesBySignedHack request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesBySignedHack.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="java.lang.SecurityException: class \"ReadProperties\"'s signer information does not match signer information of other classes in the same package"; Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); String ss="ClassNotFoundException"; diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Tue May 29 15:54:14 2012 +0200 @@ -53,11 +53,7 @@ @Test public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { //no request for permissions - System.out.println("connecting ReadPropertiesSigned1 request"); - System.err.println("connecting ReadPropertiesSigned1 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); @@ -69,11 +65,7 @@ @Test public void ReadSignedPropertiesWithPermissionsWithXtrustAll() throws Exception { //request for allpermissions - System.out.println("connecting ReadPropertiesSigned2 request"); - System.err.println("connecting ReadPropertiesSigned2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertFalse("Stderr should NOT match "+accessMatcher+" but did",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); @@ -84,11 +76,7 @@ @Test public void EnsureXtrustallNotAffectingUnsignedBehaviour() throws Exception { - System.err.println("connecting ReadPropertiesSigned3 request"); - System.out.println("connecting ReadPropertiesSigned3 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); Assert.assertTrue("Stderr should match "+accessMatcher+" but did not",pr.stderr.matches(accessMatcher)); String ss="ClassNotFoundException"; Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java Tue May 29 15:54:14 2012 +0200 @@ -53,8 +53,6 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereLocalAppletTestsJnlp2Signed() throws Exception { - System.out.println("connecting NotOnly spaces can kill ?????????? too signed.jnlp request"); - System.err.println("connecting NotOnly spaces can kill ?????????? too signed.jnlp request"); List commands=new ArrayList(1); commands.add(server.getJavawsLocation()); commands.add(server.getDir()+"/NotOnly spaces can kill ?????????? too signed.jnlp"); @@ -83,8 +81,6 @@ * only on ocal files, and probably only from test run - it can be ignored */ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -97,11 +93,7 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsJnlp2Signed() throws Exception { - System.out.println("connecting NotOnly spaces can kill ?????????? too signed.jnlp request"); - System.err.println("connecting NotOnly spaces can kill ?????????? too signed.jnlp request"); ServerAccess.ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too%20signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -113,11 +105,7 @@ @Test @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsHtml2Signed() throws Exception { - System.out.println("connecting spaces applet Tests signed.html request"); - System.err.println("connecting spaces applet Tests signed.html request"); ServerAccess.ProcessResult pr = server.executeBrowser("/spaces+applet+Tests+signed.html"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "xception"; @@ -129,11 +117,7 @@ @Bug(id={"PR811","http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016144.html"}) @Test public void SpacesCanBeEverywhereRemoteTests1Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests1 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests1 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere1%20signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "Good simple javaws exapmle"; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -145,11 +129,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -161,11 +141,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2Signed_withQuery1() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp?test=20"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -177,11 +153,8 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests2Signed_withQuery2() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp?test%3D20"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); + String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -193,11 +166,7 @@ @Bug(id="PR811") @Test public void SpacesCanBeEverywhereRemoteTests3Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereRemoteTests3signed request"); - System.err.println("connecting SpacesCanBeEverywhereRemoteTests3signed request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SpacesCanBeEverywhere1signed.jnlp"); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -210,15 +179,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests1Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests1 request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests1 request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere1.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s = "Good simple javaws exapmle"; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -230,15 +195,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests2Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere2 signed.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -250,15 +211,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests4Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests2 signed request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add(server.getDir()+"/Spaces can be everywhere2 signed.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; @@ -270,15 +227,11 @@ @Bug(id="PR804") @Test public void SpacesCanBeEverywhereLocalTests3Signed() throws Exception { - System.out.println("connecting SpacesCanBeEverywhereLocalTests3signed request"); - System.err.println("connecting SpacesCanBeEverywhereLocalTests3signed request"); List commands=new ArrayList(4); commands.add(server.getJavawsLocation()); commands.add(ServerAccess.HEADLES_OPTION); commands.add("SpacesCanBeEverywhere1signed.jnlp"); ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - System.out.println(pr.stdout); - System.err.println(pr.stderr); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; diff -r 6df151bb5320 -r 526df16b6e27 tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java --- a/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java Fri May 25 11:44:13 2012 -0400 +++ b/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java Tue May 29 15:54:14 2012 +0200 @@ -101,11 +101,7 @@ @Test public void AccessClassInPackageJAVAXJNLP() throws Exception { - System.out.println("AccessClassInPackageJAVAXJNLP"); - System.err.println("AccessClassInPackageJAVAXJNLP"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[0]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[0]); testShouldNOTFail(pr, badExceptions[0]); @@ -113,11 +109,7 @@ @Test public void AccessClassInPackageSELF() throws Exception { - System.out.println("AccessClassInPackageSELF"); - System.err.println("AccessClassInPackageSELF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[1]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[1]); testShouldNOTFail(pr, badExceptions[1]); @@ -125,11 +117,7 @@ @Test public void AccessClassInPackageNETSF() throws Exception { - System.out.println("AccessClassInPackageNETSF"); - System.err.println("AccessClassInPackageNETSF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[2]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldFail(pr, badExceptions[2]); testShouldNOTPass(pr, pass[2]); @@ -137,11 +125,7 @@ @Test public void AccessClassInPackageSUNSEC() throws Exception { - System.out.println("AccessClassInPackageSUNSEC"); - System.err.println("AccessClassInPackageSUNSEC"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + files[3]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); commonPitfall(pr); testShouldFail(pr, badExceptions[3]); @@ -151,11 +135,7 @@ //now signed vaiants @Test public void AccessClassInPackageSignedJAVAXJNLP() throws Exception { - System.out.println("AccessClassInPackageSignedJAVAXJNLP"); - System.err.println("AccessClassInPackageSignedJAVAXJNLP"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[0]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[0]); testShouldNOTFail(pr, badExceptions[0]); @@ -163,11 +143,7 @@ @Test public void AccessClassInPackageSignedSELF() throws Exception { - System.out.println("AccessClassInPackageSignedSELF"); - System.err.println("AccessClassInPackageSignedSELF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[1]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[1]); testShouldNOTFail(pr, badExceptions[1]); @@ -175,11 +151,7 @@ @Test public void AccessClassInPackageSignedNETSF() throws Exception { - System.out.println("AccessClassInPackageSignedNETSF"); - System.err.println("AccessClassInPackageSignedNETSF"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[2]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); commonPitfall(pr); testShouldPass(pr, pass[2]); testShouldNOTFail(pr, badExceptions[2]); @@ -187,11 +159,7 @@ @Test public void AccessClassInPackageSignedSUNSEC() throws Exception { - System.out.println("AccessClassInPackageSignedSUNSEC"); - System.err.println("AccessClassInPackageSignedSUNSEC"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(xta, "/" + filesSigned[3]); - System.out.println(pr.stdout); - System.err.println(pr.stderr); From jvanek at redhat.com Tue May 29 08:21:52 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 29 May 2012 17:21:52 +0200 Subject: [rfc] [icedtea-web] Reproducer for clipboard (reopened PR708) Message-ID: <4FC4E990.6090200@redhat.com> 2012-05-29 Jiri Vanek Added clipboard reproducers * tests/jnlp_tests/signed/ClipboardContentSigned/resources/ClipboardContentSignedCopy1.jnlp: Jnlp to invoke manual copying to clipboard on signed app, please note the delayed death of application * tests/jnlp_tests/signed/ClipboardContentSigned/resources/ClipboardContentSignedCopy2.jnlp: Jnlp to invoke jtextfield like copying signed app, please note the delayed death of application * tests/jnlp_tests/signed/ClipboardContentSigned/resources/ClipboardContentSignedPaste1.jnlp: Jnlp to invoke manual pasting on signed application * tests/jnlp_tests/signed/ClipboardContentSigned/resources/ClipboardContentSignedPaste2.jnlp: Jnlp to invoke jtextfield like pasting on signed application * tests/jnlp_tests/signed/ClipboardContentSigned/srcs/ClipboardContentSigned.java: Application which is trying to access clipboard by various ways. * tests/jnlp_tests/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java: Automated tests for four above jnlps. * tests/jnlp_tests/simple/ClipboardContent/resources/ClipboardContentCopy1.jnlp: Jnlp to invoke manual copying to clipboard on unsigned app, please note the delayed death of application * tests/jnlp_tests/simple/ClipboardContent/resources/ClipboardContentCopy2.jnlp: Jnlp to invoke jtextfield like copying unsigned app, please note the delayed death of application * tests/jnlp_tests/simple/ClipboardContent/resources/ClipboardContentPaste1.jnlp: Jnlp to invoke manual pasting on unsigned application * tests/jnlp_tests/simple/ClipboardContent/resources/ClipboardContentPaste2.jnlp: Jnlp to invoke jtextfield like pasting on unsigned application * tests/jnlp_tests/simple/ClipboardContent/srcs/ClipboardContent.java: Application which is trying to access clipboard by various ways. * tests/jnlp_tests/simple/ClipboardContent/testcases/ClipboardContentTests.java: Automated tests for first and third of above four jnlps. The tests of second and fourth is disabled due to necessary manual interaction Hi all ! whatever happens in PR708 this reproducers should remains green ;) There is one part of in testcases which may be unclear to reviewer, and it is parallel run of copier (test/application) and pater (application/test). In way that test have copied to clipboard and javaws have paste from it, then there is no issue, because test is eternal running clipboard owner (who is waiting for his javaws to finish) so javaws can paste without problems. The problem occurred when javaws copied to clipboard and test have to read from it. In this case I had to make javaws run in parallel with test for a while (I have 10seconds timeout, and test is NOT waiting for it to time-out, I just neede to have clipboard owner (javaws)alive, until I test the value. The issue is that when (java as) clipboard owner ends, everything it puts to clipboard die with it. I was on doubt just to test access to clipboard and so get rid of this paralelisation but it did not seems to me enough. I would rather test the real value in clipboard. So rfc! Best regards J. -------------- next part -------------- A non-text attachment was scrubbed... Name: ClipBoardReproducer.diff Type: text/x-patch Size: 60239 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/35ab10be/ClipBoardReproducer.diff From jvanek at redhat.com Tue May 29 08:30:52 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 29 May 2012 17:30:52 +0200 Subject: IcedTea-Web test suite missing fundamental tests In-Reply-To: <4FC3A952.6080706@redhat.com> References: <4FC3A182.7030008@redhat.com> <4FC3A952.6080706@redhat.com> Message-ID: <4FC4EBAC.4070101@redhat.com> On 05/28/2012 06:35 PM, Danesh Dadachanji wrote: > > > On 28/05/12 12:02 PM, Danesh Dadachanji wrote: >> Hello team, >> >> Jiri and I have been discussing some of the missing testcases in IcedTea-Web and I'd like to >> summarize them on here. We're missing many >> tests against the various resource loader mechanisms we have. Here are all the ones we support >> that are missing tests: >> 1. Nested jars This case I would like to left for custom makefiles. >> 2. Jars specified by classpath entries in jar manifests. >> 3. Class files stored in dir of the app. [0] I'm in temptation to add next automaticaly processed directory we have simple - resutl is deployed unsigned jar; signed result is signed jar. What about classes? result will be class file. What baout list? Result will be jars with list.... BUt I'm not sure how necessary tehy are. If jsut few of them is necessary then I would rather to have them isn custom makefiles. > > This should only work applets run by the plugin (without jnlp_href). Thanks to Omair for catching > this. The fact that this works with webstart/JNLPs is a bug that I am about to file. > >> 4. INDEX.LIST specifications. [1] This should work in same way as manifests are working. >> 5. JNLP extensions. >> >> As far as I can tell, our test engine does not support 1, 3 and 4. I suspect these can be solved >> once the patch for custom Makefiles[2] >> is pushed. However I believe Jiri had some thoughts on this. >> >> I am working on reproducers for manifest classpaths (pt 2) with my latest patch[3] adjusting this >> feature. The others are up for grabs. =) >> >> Just a note for JNLP extensions, the plugin doesn't support jnlp_href + extensions yet so this >> case can be skipped for now. >> >> If anyone can think of others, please mention them! >> Thanx for summary! J. >> >> [0] For example, http://localhost/my_app.jnlp runs an app that references >> some.package.MyClass.printSomething(), this can be found in >> http://localhost/some/package/MyClass.class > > This can be http://localhost/my_app.html which has an applet tag without jnlp_href. > >> [1] http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex >> [2] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018765.html >> [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018534.html From aph at redhat.com Tue May 29 08:31:43 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 29 May 2012 16:31:43 +0100 Subject: ARM: Reduce size of safepoint code, etc. Message-ID: <4FC4EBDF.8090504@redhat.com> A few miscellaneous improvements. These lead to reduced code size and less memory traffic in the normal (i.e. non-safepoint) case. The result is like this: 0 : 10 24 bipush 0x4085ec58: movs r3, #36 ; 0x24 2 : ac ireturn 0x4085ec5a: movw r0, #0 0x4085ec5e: movt r0, #16670 ; 0x411e 0x4085ec62: ldr r0, [r0, #8] 0x4085ec64: b.n 0x4085ec78 0x4085ec66: ; instruction: 0xdead 0x4085ec68: str.w r3, [r4, #-4]! 0x4085ec6c: movs r1, #50 ; 0x32 0x4085ec6e: adds r2, r4, #4 0x4085ec70: bl 0x4072f782 0x4085ec74: ldr.w r3, [r4], #4 0x4085ec78: Note that r3 is only pushed to memory if we take a safepoint. Also, the code to tear down the stack frame and place the return value is only generated once, and all the returns jump to it. 2012-05-29 Andrew Haley * thumb2.cpp (SAVE_STACK, RESTORE_STACK): New. (Thumb2_Pop_Multiple): Allow nregs == 0. (Thumb2_Safepoint): Move the Thumb2_Flush so that registers are only flushed if we actually take a safepoint. Don't restore locals at a return. Move the stack pointer adjustment out of line into the helper. Combine multiple returns by branching to a common point rather than generating code every time. Andrew. diff -r 5b6a9a63a280 src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/cpu/zero/vm/thumb2.cpp Tue May 29 11:20:29 2012 -0400 @@ -3168,6 +3168,8 @@ unsigned i; Reg r; + if (nregs == 0) + return; JASSERT(nregs > 0, "nregs must be > 0"); if (nregs == 1) { ldr_imm(codebuf, regs[0], Rstack, 4, 0, 1); @@ -3445,6 +3447,21 @@ jstack->depth = 0; } +// SAVE_STACK and RESTORE_STACK save the stack state so that it's +// possible to do a stack flush to memory and restore that stack state +// to the same registers. +#define SAVE_STACK(JSTACK) \ + unsigned saved_stack_elements[JSTACK->depth]; \ + unsigned saved_stack_depth; \ + memcpy(saved_stack_elements, JSTACK->stack, \ + JSTACK->depth * sizeof saved_stack_elements[0]); \ + saved_stack_depth = JSTACK->depth; +#define RESTORE_STACK(JSTACK, CODEBUF) \ + Thumb2_Pop_Multiple(CODEBUF, saved_stack_elements, saved_stack_depth); \ + memcpy(JSTACK->stack, saved_stack_elements, \ + JSTACK->depth * sizeof saved_stack_elements[0]); \ + JSTACK->depth = saved_stack_depth; + // Call this when we are about to corrupt a local // The local may already be on the stack // For example @@ -4164,7 +4181,6 @@ void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci, int offset) { - Thumb2_Flush(jinfo); // normal case: read the polling page and branch to skip // the safepoint test // abnormal case: read the polling page, trap to handler @@ -4203,6 +4219,8 @@ // // n.b. for a return there is no need save or restore locals + bool is_return = offset == 0; // This is some kind of return bytecode + int r_tmp = Thumb2_Tmp(jinfo, 0); unsigned dest; if (offset < 0) { @@ -4239,27 +4257,32 @@ // now write a magic word after the branch so the signal handler can // test that a polling page read is kosher out_16(jinfo->codebuf, THUMB2_POLLING_PAGE_MAGIC); + + { + // Flush the stack to memory and save its register state. + SAVE_STACK(jinfo->jstack); + Thumb2_Flush(jinfo); + // now the safepoint polling code itself - // n.b. no need for save or restore of locals at return i.e. when offset == 0 - //if (offset != 0) { + + // We save the locals at a return bytecode even though we aren't + // going to restore them: we do so because otherwise the GC might + // scan garbage. It might be better to save a bunch of null + // references. Thumb2_save_locals(jinfo, stackdepth); - //} - - // The frame walking code used by the garbage collector - // (frame::interpreter_frame_tos_address()) assumes that the stack - // pointer points one word below the top item on the stack, so we - // have to adjust the SP saved in istate accordingly. If we don't, - // the value on TOS won't be seen by the GC and we will crash later. - sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); - store_istate(jinfo, ARM_R0, ISTATE_STACK, stackdepth); mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); add_imm(jinfo->codebuf, ARM_R2, ISTATE_REG(jinfo), ISTATE_OFFSET(jinfo, stackdepth, 0)); bl(jinfo->codebuf, handlers[H_SAFEPOINT]); - //if (offset != 0) { + + // We don't restore locals if we're returning. + if (! is_return) Thumb2_restore_locals(jinfo, stackdepth); - //} + + // But we always restore the register state of the stack. + RESTORE_STACK(jinfo->jstack, jinfo->codebuf); + if (offset < 0) { // needs another unconditional backward branch branch_uncond(jinfo->codebuf, dest); @@ -4268,6 +4291,7 @@ branch_narrow_patch(jinfo->codebuf, read_loc + 2); } } +} // If this is a backward branch, compile a safepoint check void Thumb2_Cond_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci) { @@ -4467,7 +4491,7 @@ branch_uncond(jinfo->codebuf, ret_idx); return; } - if (OSPACE) jinfo->compiled_return = jinfo->codebuf->idx * 2; + jinfo->compiled_return = jinfo->codebuf->idx * 2; } else { if (opcode == opc_lreturn || opcode == opc_dreturn) { Thumb2_Fill(jinfo, 2); @@ -4482,7 +4506,7 @@ branch_uncond(jinfo->codebuf, ret_idx); return; } - if (OSPACE) jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; + jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; } } @@ -7847,6 +7871,14 @@ handlers[H_SAFEPOINT] = out_pos(&codebuf); stm(&codebuf, (1<_bcp for the GC // bci+CONSTMETHOD_CODEOFFSET is passed in ARM_R1 // istate is passed in ARM_R2 From dbhole at redhat.com Tue May 29 08:33:09 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 29 May 2012 11:33:09 -0400 Subject: [rfc] [icedtea-web] providing little bit more debug outputs for few methods In-Reply-To: <4FBF51CA.6040807@redhat.com> References: <4F9A8346.6020808@redhat.com> <20120427152923.GC3603@redhat.com> <4F9E81DB.6050605@redhat.com> <20120503142848.GI3475@redhat.com> <4FACF328.8030107@redhat.com> <20120523140849.GC29866@redhat.com> <20120523183510.GM29866@redhat.com> <4FBDFC72.4030209@redhat.com> <20120524165208.GA29866@redhat.com> <4FBF51CA.6040807@redhat.com> Message-ID: <20120529153308.GA14732@redhat.com> * Jiri Vanek [2012-05-25 05:32]: > On 05/24/2012 06:52 PM, Deepak Bhole wrote: > >Cheers, > >Deepak > > > HA! > I got it >:) One condition really escaped. I fixed the block like in > patch. It is much more readable now and much more bulletproof. Thanx > for catch! > With attached patch the jmol is working fine. > Looks fine now. Thanks. OK for push. cheers, Deepak > 2012-05-25 Jiri Vanek > > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): > New rethrow of exceptions and following condition make more accurate. > diff -r 2c84a314c411 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu May 24 15:37:30 2012 -0400 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri May 25 11:13:42 2012 +0200 > @@ -914,22 +914,26 @@ > // 1. Code must be signed > // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) > if (cs == null) { > - throw new RuntimeException("Code source was null"); > + throw new NullPointerException("Code source was null"); > } > - if (cs.getLocation() == null) { > - throw new RuntimeException("Code source location was null"); > - } > - if (getCodeSourceSecurity(cs.getLocation()) == null) { > - throw new RuntimeException("Code source security was null"); > - } > - if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { > - throw new RuntimeException("Code source security type was null"); > - } > - if (cs.getCodeSigners() != null > - && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) > - || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { > + if (cs.getCodeSigners() != null) { > + if (cs.getLocation() == null) { > + throw new NullPointerException("Code source location was null"); > + } > + if (getCodeSourceSecurity(cs.getLocation()) == null) { > + throw new NullPointerException("Code source security was null"); > + } > + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { > + if (JNLPRuntime.isDebug()){ > + new NullPointerException("Warning! Code source security type was null").printStackTrace(); > + } > + } > + Object securityType = getCodeSourceSecurity(cs.getLocation()).getSecurityType(); > + if (SecurityDesc.ALL_PERMISSIONS.equals(securityType) > + || SecurityDesc.J2EE_PERMISSIONS.equals(securityType)) { > > - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); > + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); > + } > } > > Enumeration e = permissions.elements(); From jvanek at icedtea.classpath.org Tue May 29 08:38:03 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 29 May 2012 15:38:03 +0000 Subject: /hg/icedtea-web: netx/net/sourceforge/jnlp/runtime/JNLPClassLoad... Message-ID: changeset f4f02e8c080d in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f4f02e8c080d author: Jiri Vanek date: Tue May 29 17:38:27 2012 +0200 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): New rethrow of exceptions and following condition make more accurate diffstat: ChangeLog | 7 +++- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 32 ++++++++++------- 2 files changed, 24 insertions(+), 15 deletions(-) diffs (58 lines): diff -r 526df16b6e27 -r f4f02e8c080d ChangeLog --- a/ChangeLog Tue May 29 15:54:14 2012 +0200 +++ b/ChangeLog Tue May 29 17:38:27 2012 +0200 @@ -1,4 +1,9 @@ -2012-05-20 Jiri Vanek +2012-05-29 Jiri Vanek + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): + New rethrow of exceptions and following condition make more accurate. + +2012-05-29 Jiri Vanek Get rid of repeated sout/serr in reproducers testcases/unit tests and introduce bottleneck for loging. diff -r 526df16b6e27 -r f4f02e8c080d netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue May 29 15:54:14 2012 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue May 29 17:38:27 2012 +0200 @@ -914,22 +914,26 @@ // 1. Code must be signed // 2. ALL or J2EE permissions must be requested (note: plugin requests ALL automatically) if (cs == null) { - throw new RuntimeException("Code source was null"); + throw new NullPointerException("Code source was null"); } - if (cs.getLocation() == null) { - throw new RuntimeException("Code source location was null"); - } - if (getCodeSourceSecurity(cs.getLocation()) == null) { - throw new RuntimeException("Code source security was null"); - } - if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { - throw new RuntimeException("Code source security type was null"); - } - if (cs.getCodeSigners() != null - && (getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.ALL_PERMISSIONS) - || getCodeSourceSecurity(cs.getLocation()).getSecurityType().equals(SecurityDesc.J2EE_PERMISSIONS))) { + if (cs.getCodeSigners() != null) { + if (cs.getLocation() == null) { + throw new NullPointerException("Code source location was null"); + } + if (getCodeSourceSecurity(cs.getLocation()) == null) { + throw new NullPointerException("Code source security was null"); + } + if (getCodeSourceSecurity(cs.getLocation()).getSecurityType() == null) { + if (JNLPRuntime.isDebug()){ + new NullPointerException("Warning! Code source security type was null").printStackTrace(); + } + } + Object securityType = getCodeSourceSecurity(cs.getLocation()).getSecurityType(); + if (SecurityDesc.ALL_PERMISSIONS.equals(securityType) + || SecurityDesc.J2EE_PERMISSIONS.equals(securityType)) { - permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + permissions = getCodeSourceSecurity(cs.getLocation()).getPermissions(cs); + } } Enumeration e = permissions.elements(); From bugzilla-daemon at icedtea.classpath.org Tue May 29 08:44:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 29 May 2012 15:44:45 +0000 Subject: [Bug 1013] Icedtea In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerxes at zafena.se --- Comment #4 from Xerxes R?nby --- I wrote a quick testcase that do triggers a exception when run using IcedTea 7 2.1.1pre , running the same testcase using IcedTea 6 1.11.1 work fine. The image Anonymous_.jpg (found inside the attachment) uses a grayscale ICC_ProfileGray colorprofile. This triggers an exception when the OpenJDK7 tries to extract RGB data from the image. xranby at xranby-ESPRIMO-P7935:~/H?mtningar/Prueba/src$ cat testcase.java public class testcase { public static void main(String[] args) throws Exception{ java.awt.image.BufferedImage image = javax.imageio.ImageIO.read(new java.io.File("Anonymous_.jpg")); System.out.println(image); System.out.println(((java.awt.color.ICC_ColorSpace)image.getColorModel().getColorSpace()).getProfile()); } } Testcase fails using IcedTea 7 2.1.1pre: xranby at xranby-ESPRIMO-P7935:~/H?mtningar/Prueba/src$ /usr/lib/jvm/java-7-openjdk-i386/bin/java -showversion testcase java version "1.7.0_03" OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu2) OpenJDK Server VM (build 22.0-b10, mixed mode) Exception in thread "main" java.lang.IllegalArgumentException: Can't load standard profile: sRGB.pf at java.awt.color.ICC_Profile$2.run(ICC_Profile.java:931) at java.security.AccessController.doPrivileged(Native Method) at java.awt.color.ICC_Profile.getStandardProfile(ICC_Profile.java:924) at java.awt.color.ICC_Profile.getDeferredInstance(ICC_Profile.java:1071) at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:843) at java.awt.color.ColorSpace.getInstance(ColorSpace.java:298) at java.awt.color.ICC_ColorSpace.fromRGB(ICC_ColorSpace.java:215) at com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(JPEGImageReader.java:635) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:550) at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:295) at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:427) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:543) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:986) at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:966) at javax.imageio.ImageIO.read(ImageIO.java:1448) at javax.imageio.ImageIO.read(ImageIO.java:1308) at testcase.main(testcase.java:3) Working testcase using IcedTea 6 1.11.1: xranby at xranby-ESPRIMO-P7935:~/H?mtningar/Prueba/src$ /usr/lib/jvm/java-6-openjdk-i386/bin/java -showversion testcase java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu3) OpenJDK Server VM (build 20.0-b12, mixed mode) BufferedImage at 6d084b: type = 10 ColorModel: #pixelBits = 8 numComponents = 1 color space = java.awt.color.ICC_ColorSpace at 3bb2b8 transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 1920 height = 1200 #numDataElements 1 dataOff[0] = 0 java.awt.color.ICC_ProfileGray at 152544e -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/c635b6dc/attachment.html From jvanek at redhat.com Tue May 29 09:10:53 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 29 May 2012 18:10:53 +0200 Subject: [rfc] [icedtea-web] reproducers with custom makefile In-Reply-To: <4FC3D2E3.1060908@redhat.com> References: <4FC13174.705@redhat.com> <4FC3D2E3.1060908@redhat.com> Message-ID: <4FC4F50D.4030605@redhat.com> On 05/28/2012 09:32 PM, Danesh Dadachanji wrote: > Hi Jiri, > > On 26/05/12 03:39 PM, Jiri Vanek wrote: >> Hi! >> >> We have been speaking with Danes that although current reproducers compilation and signing >> mechanism is very powerful, sometimes it >> really can not cover some extraordinary case. >> For this purpose we ahve come with idea to have special class of reproducers (next to signed and >> simple) - in this patch called custom >> - which will have its own makefile and will take care for itself. >> This is implementation of this idea. What do you think? both for idea and implementation :) >> > > Thank you very much for doing this! I think it will make the lives of test writers easier for those > unique/specific corner cases. I am definitely for it! > >> One think I do not like on this change - exporting of variables. In plain Makefile I would use >> "export". It looks like in Automake >> this is not possible. (I suspect comaptibility issues gnu x normal make), so I have exported most >> crucial variables manually. >> When I saw result Makefile I was wandering that the makefile is still working.... Well loks like >> was working correctly. Any hint welcomed! > > My autoconf skills are not great to say the least so hopefully someone with more experience can say > a few words about this. Just one question, by "I have exported most crucial variables manually", you > mean export so that they are available to the custom Makefile? Exactly. You can use the "export"ed ones as $(variable) or $$variable. Without export you can not use them at all:( > >> >> J. >> >> * Makefile.am: Most crucial variables exported to be used by custom Makefiles >> (junit-jnlp-dist-custom.txt): new target scanning for directories in jnlp_tests/custom >> and saving them as list for future purposes. >> (stamps/process-custom-reproducers.stamp): new target for iterating by junit-jnlp-dist-custom.txt >> through jnlp_tests/custom/* and launching make prepare-reproducer in each >> (clean-custom-reproducers): same as above but launching make clean-reproducer >> (run-netx-dist-tests) now depends on stamps/process-custom-reproducers.stamp >> (clean-netx-dist-tests): now depends on clean-custom-reproducers >> * tests/jnlp_tests/README: described this mechanism a bit >> >> customMakefiles.diff >> >> >> diff -r 6df151bb5320 Makefile.am >> --- a/Makefile.am Fri May 25 11:44:13 2012 -0400 >> +++ b/Makefile.am Sat May 26 21:05:53 2012 +0200 >> @@ -1,58 +1,58 @@ >> # Source directories >> > > [snip] > >> +export DTEST_SERVER=-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) >> +export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) >> +export DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) >> +export REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) >> # end of `D`shortcuts >> >> + > > Extra newline? removed.. You nitpicker :) > >> # binary names >> javaws:= $(shell echo javaws | sed '@program_transform_name@') >> itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@') >> @@ -492,6 +493,10 @@ >> mkdir -p $(JNLP_TESTS_DIR) >> touch $@ >> >> +junit-jnlp-dist-custom.txt: >> + cd $(JNLP_TESTS_SRCDIR)/custom/ ; \ >> + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> $(abs_top_builddir)/$@ >> + > > Are you adding this as a separate target because this target may be used outside of > stamps/process-custom-reproducers.stamp? If not, then can't we just merge this directly into the > process target? E.g. as > > + customReproducers=`find $(JNLP_TESTS_SRCDIR)/custom/ -maxdepth 1 -mindepth 1 | sed "s/.\/*//"` Yes it is reused. I actually forgot to depend on this in clear-custom-reproducers target. Well and it is good habit to generate this lists. > >> junit-jnlp-dist-simple.txt: >> cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ >> find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> $(abs_top_builddir)/$@ >> @@ -648,7 +653,7 @@ >> javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ >> stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ >> stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp >> $(JUNIT_RUNNER_JAR) \ >> - $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) >> + $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) >> stamps/process-custom-reproducers.stamp >> cd $(JNLP_TESTS_ENGINE_DIR) ; \ >> class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ >> CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ >> @@ -662,6 +667,31 @@ >> endif >> touch $@ >> >> +stamps/process-custom-reproducers.stamp: stamps/junit-jnlp-dist-dirs >> stamps/netx-dist-tests-import-cert-to-public \ >> + stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp >> $(JUNIT_RUNNER_JAR) \ >> + $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) junit-jnlp-dist-custom.txt >> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ >> + IFS="$$IFS_BACKUP" ; \ >> + for dir in "$${simpleReproducers[@]}" ; do \ > > Please rename simpleReproducers to customReproducers. done > >> + pushd $(JNLP_TESTS_SRCDIR)/custom/$$dir; \ >> + $(MAKE) prepare-reproducer ; \ > > Is there any reason for us to force devs to have a prepare-reproducer target? I feel like this is > something many will forget, particularly the clean-reproducer target as they may not call it ever. :/ I'm strongly for them. It will be much more buletproof and is causing nearly no effort. I'm definitely against just "make" in directory I would like to have custom targets for sure. And if no then definitely forclean. They have to clean after themselves. I consoder it as benefit also for dev - you will have "just make" as target for testing. And the necessary stuff will be called by make prepare-reproducer. Eg deploy is not necessary for testing oon your own at all. I really would like to have special targets for this! IMHO it is making live easier more then complicated. > >> + popd ; \ >> + done ; >> + mkdir -p stamps&& \ >> + touch $@ >> + >> +clean-custom-reproducers: >> + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ >> + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ >> + IFS="$$IFS_BACKUP" ; \ >> + for dir in "$${simpleReproducers[@]}" ; do \ >> + pushd $(JNLP_TESTS_SRCDIR)/custom/$$dir; \ >> + $(MAKE) clean-reproducer ; \ >> + popd ; \ >> + done ; >> + rm -f stamps/process-custom-reproducers.stamp >> + > > Rename simple to custom here too. done > >> #for global-links you must be root, for opera there do not exists user-links >> #although this targets will indeed create symbolic links to enable >> #icedtea-web plugin inside browser it is intended for testing purposes >> @@ -992,7 +1022,7 @@ >> rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ >> rm -f $(TESTS_DIR)/index*.html >> >> -clean-netx-dist-tests: clean_tests_reports netx-dist-tests-remove-cert-from-public >> +clean-netx-dist-tests: clean_tests_reports netx-dist-tests-remove-cert-from-public >> clean-custom-reproducers >> rm -f netx-dist-tests-source-files.txt >> rm -rf $(JNLP_TESTS_DIR) >> rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) >> diff -r 6df151bb5320 tests/jnlp_tests/README >> --- a/tests/jnlp_tests/README Fri May 25 11:44:13 2012 -0400 >> +++ b/tests/jnlp_tests/README Sat May 26 21:05:53 2012 +0200 >> @@ -4,7 +4,21 @@ >> Directories are honored in srcs and in resources, but noty in testcases. >> Directories in signed hande their content in similar way as simle's content is handled, >> but in addition final jars are signed with simple testkey. >> -Files in advanced directory have to care about themselves, but even those can have some >> - parts inside simple directory, so some parts of them are processed automatically. >> +Files in custom directory have to care about themselves (including testcase), >> + but even those can have some parts inside simple directory, so some parts of them >> + are processed automatically. >> There are three reproducers ??? simpletest1, simpletest2 and deadlocktest, which tests >> test???s suite itself and serve as examples of behaviour. >> +If file in simple or signed directores is composed form dost, then it is placed to >> + directory structure eg my.dir.package will be deployed as >> + jnlp_test_server/my/dir/package.jar (and original kept (eg my.dir.package.jar)) > > This is a little hard to understand (particularly because this concept is hard to understand :/ ). > What do you think of: > > If the name of a folder in simple/signed is composed of dots, then its contents are deployed from > under a directory structure such that each part evaluates to a folder. For example, > my.dir.reproducer/ will be deployed as jnlp_test_server/my/dir/reproducer.jar. Fixed as you wish :) > >> +Inside custom directory are expected directories which are handling and file or >> + directory structure. The only expected file is custom/reproducerName/Makefile. Upon >> + all custom/* are then launched make prepare-reproducer and during cleaning make >> + clean-reproducer Those targets are run after all simple and signed reproducers >> + are prepared, so they can reuse as much code as possible including eg certificates, >> + or testcases directories or resources or dependencies to keep this custom makefiles >> + as simple as possible. Some comment in makefile or readme file is recommended for >> + each custom reproducer to tell dependencies and what it does. > > > Okay, so correct me if I'm wrong here; Test writers are responsible for building and deploying > everything under custom/reproducer/*, namely I would have to compile, create the jar, sign it and > then copy everything I need into jnlp_test_server/, after which the engine will take care of it. If > this is correct, then this sounds more than reasonable to me! Exactly. With effort to reuse as much as possible from simple/signed. Eg certificates. > >> +Because of automake only small set of variables from icedtea-web Makefile is >> + available for custom makefiles, but feel free to export others if needed. >> > > I'm going to try to cp some simple reproducer and get it to mimic a deployment as if it were under > simple to make sure this patch works. Another review coming up! Thanks again for implementing this > feature! I have tested;) So it IS working. I just did not want to spam with unnecessray reproducer as I was aware you will use it soon ;) Changelog si the same. Hope taht it helps. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: customMakefiles2.diff Type: text/x-patch Size: 11431 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/ff7aee14/customMakefiles2.diff From aph at redhat.com Tue May 29 09:52:33 2012 From: aph at redhat.com (Andrew Haley) Date: Tue, 29 May 2012 17:52:33 +0100 Subject: Is this a bug? Message-ID: <4FC4FED1.4080407@redhat.com> Here in Thumb2_Return I see: void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode, int bci, int stackdepth) { ... if (jinfo->method->is_synchronized()) { unsigned loc_success1, loc_success2, loc_failed, loc_retry, loc_exception; unsigned loc_illegal_monitor_state; Thumb2_Flush(jinfo); // Thumb2_save_locals(jinfo); I'm wondering if Thumb2_save_locals should be commented out because if we hit a safepoint we'll be processing stale versions of locals. Is that potentially a bug, or not? I think it might be, because there might be a new version of a local that gets missed. But so what? If it only exists as a local, and the frame is about to be dropped, it doesn't matter, it's unreachable anyway. The GC will process stale versions of the locals, which might mean that some old objects will be kept alive for longer than they should, but that doesn't really matter. Is there any reason to save locals at a return statement, then? I think not, but it doesn't feel right to have the GC scanning stale data. Thoughts? Andrew. From adomurad at redhat.com Tue May 29 11:48:35 2012 From: adomurad at redhat.com (Adam Domurad) Date: Tue, 29 May 2012 14:48:35 -0400 Subject: [rfc][icedtea-web] Fix for PR1011, folders in archive tag Message-ID: <1338317315.24497.18.camel@voip-10-15-18-79.yyz.redhat.com> This resolves http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 Entries in the archive tag can potentially be folders. This removes the assumption that everything in the archive tag is a jar, and adds folders to the code-base. This brings the icedtea-web plugin closer to how the proprietary plugin functions. Also attached is a small bit of refactoring to PluginBridge, for approval. (Note that the proprietary plugin also ignores invalid jar files in archive tags - I have another patch awaiting review "Re: [rfc][icedtea-web] Ignore invalid .jar files in applets" that provides this behaviour.) Changelog: 2012-05-29 Adam Domurad Allow for folders in archive tag. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge) Changes jar -> archive, parse contents with addArchiveEntries. (addArchiveEntries) New method. Adds entries ending with / to the list of folders. (getCodeBaseFolders) Returns the folders collected by addArchiveEntries * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources) If ran as plugin, add archive tag folders to the code base loader. -------------- next part -------------- A non-text attachment was scrubbed... Name: folders-in-archive-tag.patch Type: text/x-patch Size: 4119 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/b4cb4561/folders-in-archive-tag.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: minor-refactor-pluginbridge.patch Type: text/x-patch Size: 2824 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/b4cb4561/minor-refactor-pluginbridge.patch From bugzilla-daemon at icedtea.classpath.org Tue May 29 12:45:10 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 29 May 2012 19:45:10 +0000 Subject: [Bug 1013] Icedtea In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 --- Comment #5 from imc.coder at gmail.com --- yes, with IcedTea 6 work?? thanks, now waiting that in upcoming versions of icedtea 7 is resolved this problem... -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120529/d497fa1a/attachment.html From adinn at redhat.com Tue May 29 14:30:16 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 29 May 2012 22:30:16 +0100 Subject: Is this a bug? In-Reply-To: <4FC4FED1.4080407@redhat.com> References: <4FC4FED1.4080407@redhat.com> Message-ID: <4FC53FE8.4030102@redhat.com> On 29/05/12 17:52, Andrew Haley wrote: > Here in Thumb2_Return I see: > > void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode, int bci, int stackdepth) > { > ... > if (jinfo->method->is_synchronized()) { > unsigned loc_success1, loc_success2, loc_failed, loc_retry, loc_exception; > unsigned loc_illegal_monitor_state; > Thumb2_Flush(jinfo); > // Thumb2_save_locals(jinfo); > > I'm wondering if Thumb2_save_locals should be commented out because if > we hit a safepoint we'll be processing stale versions of locals. Is > that potentially a bug, or not? I think it might be, because there > might be a new version of a local that gets missed. But so what? If > it only exists as a local, and the frame is about to be dropped, it > doesn't matter, it's unreachable anyway. The GC will process stale > versions of the locals, which might mean that some old objects will be > kept alive for longer than they should, but that doesn't really > matter. > > Is there any reason to save locals at a return statement, then? > I think not, but it doesn't feel right to have the GC scanning > stale data. Thoughts? No, it is definitely not a bug. At return there is no need to preserve any current references by writing them back. If the GC fails to retain the referenced object because it was not written back then no matter because nothing will ever try to use the reference. In fact, in such a situation when you to write back the only extant reference from a register to the stack this is going to keep the referenced object alive unnecessarily for another GC cycle. Contrariwise, if you don't save locals you may leave an out of date reference on the stack which is the only extant reference to an object and, as a consequence, cause the referenced object to survive another GC cycle. But that is not a significant problem because it will get GCed on the next cycle -- nothing says you have to GC objects quickly. Of course in this case, writing back might possibly replace that stale reference with a different reference which avoids retention of the dead object. But then again, it might not. The argument for writing back in this case assumes the in-register reference written back over the stale one is live by virtue of some other occurrence --if not then you are back to the previous case. Since writing back does not have a predictable outcome in either case and since in both cases the chance of prolonging an object life is likely to be low I would recommend not saving locals. At least you know this will avoid work. regards, Andrew Dinn ----------- From bugzilla-daemon at icedtea.classpath.org Wed May 30 02:16:00 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 30 May 2012 09:16:00 +0000 Subject: [Bug 1013] Icedtea In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 Pavel Tisnovsky changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ptisnovs at redhat.com --- Comment #6 from Pavel Tisnovsky --- IMHO it would be good to transform the reproducer to a regression test for 6 and 7. May I do it? -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/08923da3/attachment.html From ptisnovs at redhat.com Wed May 30 02:55:54 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 11:55:54 +0200 Subject: [rfc][icedtea-web] handling of multiple testing certificates in bulk In-Reply-To: <4FC13552.6090606@redhat.com> References: <4FC13552.6090606@redhat.com> Message-ID: <4FC5EEAA.6000702@redhat.com> Hi Jiri, your change looks good in overall, I just have some notes listed bellow this paragraph: +EXPORTED_TEST_CERT_SUFIX=crt should be named EXPORTED_TEST_CERT_SUFFIX ;-) + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \ Is not it easier to use 'ls' in this situation given you use -maxdepth=1 and -mindepth=1? +Directory "signed" is listed in Makefile.am. You can specifi as much to-be-signed s/specifi/specify Cheers, Pavel Jiri Vanek wrote: > Hi! > > There come an need to test applications consisted from several jars, > each signed by different certificate. Also there is need to work with > diferent certificates in custom-makefiles reproducers. > This changeset is introducing unlimited number of certificates for > future purposes. > Even if this multiple certs will never be used, I'm for put it in, > because it is gathering copy pasted code to variables. > > J. > > > * Makefile.am: EXPORTED_TEST_CERT by EXPORTED_TEST_CERT_PREFIX and > EXPORTED_TEST_CERT_SUFIX for further composition > SIGNED_REPRODUCERS new variable for iterating through signed > reproducers > SIMPLE_REPRODUCERS new variable for iterating through simple > reproducers > ALL_REPRODUCER new variable for iterating through all reproducers > (junit-jnlp-dist-signed.txt) replaced by > (stamps/junit-jnlp-dist-signed.stamp) which generates > junit-jnlp-dist-signedX.txt for each directory with signed reproducers > (stamps/netx-dist-tests-prepare-reproducers.stamp) > (stamps/change-dots-to-paths.stamp) > (stamps/netx-dist-tests-compile-testcases.stamp) > (run-netx-dist-codecoverage): extracted variables > (clean-netx-dist-tests): iterates through all the list and removes > them > (stamps/netx-dist-tests-sign-some-reproducers.stamp): now iterate > through SIGNED_REPRODUCERS and creates special certificate for each > member. Each jar from this directory is then signed by corresponding > certificate > (netx-dist-tests-remove-cert-from-public): iterates through all > certificates > (stamps/netx-dist-tests-import-cert-to-public): exports each > certificate created during tests preparations > ($(EXPORTED_TEST_CERT)) replaced by stamps/exported-test-certs.stamp > which create for each of SIGNED_REPRODUCERS individual certificate > (tests/jnlp_tests/README): mentioned possibility of multiple > certificates > > From bugzilla-daemon at icedtea.classpath.org Wed May 30 03:03:47 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 30 May 2012 10:03:47 +0000 Subject: [Bug 822] Applets fail to load if jars have different signers In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=822 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jvanek at redhat.com --- Comment #16 from JiriVanek --- (In reply to comment #1) > This is definitely an icedtea-web issue. I was able to reproduce this > locally and from what I can tell, it shouldn't be happening. The main applet > jar is signed and the plug-in for some reason is not recognizing it. I will > take a look at it on Monday. Hi. The original reproducer url is not providing any applet. Deepak can you provide to me your " I was able to reproduce this locally " reprodcuer so I can add it to testsuite? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/13ef8b63/attachment.html From jvanek at redhat.com Wed May 30 03:11:30 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 12:11:30 +0200 Subject: [rfc][icedtea-web] fix for RH816592 In-Reply-To: <1337979997.3239.3.camel@localhost.localdomain> References: <4FA27827.9050407@redhat.com> <20120523142231.GE29866@redhat.com> <4FBD03F2.1020302@redhat.com> <4FBD0626.4040404@redhat.com> <4FBE3A89.9000203@redhat.com> <1337979997.3239.3.camel@localhost.localdomain> Message-ID: <4FC5F252.2040507@redhat.com> On 05/25/2012 11:06 PM, Thomas Meyer wrote: > Am Donnerstag, den 24.05.2012, 15:41 +0200 schrieb Jiri Vanek: >> On 05/23/2012 05:45 PM, Jiri Vanek wrote: >>> On 05/23/2012 05:36 PM, Omair Majid wrote: >>>> On 05/23/2012 10:22 AM, Deepak Bhole wrote: >>>>> * Jiri Vanek [2012-05-03 08:21]: >>>>>> This patch is fixing >>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=816592 reproduced in >>>>>> [rfc][icedtea-web] reproducer for RH816592 >>>>>> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html) >>>>>> >>>>>> This patch have small (one output message) overleap with [rfc] >>>>>> [icedtea-web] providing little bit more debug outputs for few >>>>>> methods (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-April/018332.html) >>>>>> >>>>> >>>>> This patch tries to manually add an entry to the security map. However it should not >>>>> be needed. Whatever is adding the jar should add an entry to the map -- >>>>> the bug should be fixed there IMO. >>> >>> Hmmm. I Believe that there is reflection used to inject the jar into classlaoder. So if I will >>> overwrite addUrl method (which is the best place to do this) this can be still walked around. Thats >>> why I have chosen this place.. >>> >>> But I admit my originalpatch must be improved for not searching again for already searched resources. >>>> >> >> I elaborated little bit above sources of jmol (http://jmol.sourceforge.net/demo/atoms/) and I have >> NOT FOUND where they are injecting theirs jars :-/ >> >> So I have prepared testing fix (the WRONG one) which was checkigg if somebody is using addURL by >> reflection (which I consider as best way to do and I have used in my reproducer - >> (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-May/018357.html). However it appeared >> that not jmol nor geogebra are using this approach. >> >> Today I have traversed through jmol code and have not find how tehy are getting the sources in:-/ >> They are using for preloading Class.forName in few first lines of app, but in thsi time there IS >> already requested jar which is not declared on classpath of applet (well.. object generated >> byjavascript :-/) tag. >> But it can be anything. Even direct reflection to field holding urls in UrlClassLaoder or some JS as >> it looks like in jmol.... In this case everything hook upon any method is in vain. But My original >> solution WILL work for all this cases O:) >> >> >> J. >> >> The improved patch is fixing possible exception thrown and repeated reloading of resources in case >> of failure. >> >> 2012-05-24 Jiri Vanek >> >> Fix for RH816592 >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: >> (getCodeSourceSecurity): will now try to download and verify resource >> which was downloaded outside of netx. >> (alreadyTried) set for memory of once tried resources to not try again >> >>>> This is an implementation-specific behaviour of the proprietary javaws >>>> that some programs seem to rely on. We have other bugs caused by the >>>> same issue too: PR568 [1] and PR839. >>> >>> Yap. As I already wrote it is brutal:) >>>> >>>> Cheers, >>>> Omair >>>> >>>> [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=568 >>>> [2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=839 >>> >> > > Hi, > > is this the same as PR858? > > I mailed this patch to fix it: > http://old.nabble.com/Re%3A--RFC--PR858-p33525848.html > > with kind regards > thomas > Hi Thomas, I got finally time to walk through this. Short summary: your patch is here - http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017759.htmll . It applies fine, except hunk @@ -908,15 +957,17 @@ which was fixed some time ago. It fixes both RH816592 and PR858 but is not fixing my (probably wrong then) reproducer. (which is solved by my check-one-more-time before death) Do you mind to prepare reproducer for this behaviour? Best if they can be both javaws and applets. But it is time consuming. Any reproducing code (or maybe just hints/tutorial for dummy-me :( ) you can offer, please send me , and I will remake it to regular reproducer to icedtea-web testsuite. Any way - tahnx for patch:) Do you mind to add changelog? It will help me to compare "what did you want to do" and "what have I read from code you have done". Tahnx again for patch (I'm still walking through it's lines) J. From jvanek at icedtea.classpath.org Wed May 30 03:31:11 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 30 May 2012 10:31:11 +0000 Subject: /hg/icedtea-web: handling of multiple testing certificates in bulk Message-ID: changeset 017d474ea1e5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=017d474ea1e5 author: Jiri Vanek date: Wed May 30 12:31:19 2012 +0200 handling of multiple testing certificates in bulk diffstat: ChangeLog | 26 ++++++++++++++ Makefile.am | 87 +++++++++++++++++++++++++++++++++--------------- tests/jnlp_tests/README | 5 ++ 3 files changed, 90 insertions(+), 28 deletions(-) diffs (215 lines): diff -r f4f02e8c080d -r 017d474ea1e5 ChangeLog --- a/ChangeLog Tue May 29 17:38:27 2012 +0200 +++ b/ChangeLog Wed May 30 12:31:19 2012 +0200 @@ -1,3 +1,29 @@ +2012-05-30 Jiri Vanek + + Enabled multiple certificates and extracted variables + * Makefile.am: EXPORTED_TEST_CERT by EXPORTED_TEST_CERT_PREFIX and + EXPORTED_TEST_CERT_SUFIX for further composition + SIGNED_REPRODUCERS new variable for iterating through signed reproducers + SIMPLE_REPRODUCERS new variable for iterating through simple reproducers + ALL_REPRODUCER new variable for iterating through all reproducers + (junit-jnlp-dist-signed.txt) replaced by + (stamps/junit-jnlp-dist-signed.stamp) which generates + junit-jnlp-dist-signedX.txt for each directory with signed reproducers + (stamps/netx-dist-tests-prepare-reproducers.stamp) + (stamps/change-dots-to-paths.stamp) + (stamps/netx-dist-tests-compile-testcases.stamp) + (run-netx-dist-codecoverage): extracted variables + (clean-netx-dist-tests): iterates through all the list and removes them + (stamps/netx-dist-tests-sign-some-reproducers.stamp): now iterate through + SIGNED_REPRODUCERS and creates special certificate for each member. Each + jar from this directory is then signed by corresponding certificate + (netx-dist-tests-remove-cert-from-public): iterates through all certificates + (stamps/netx-dist-tests-import-cert-to-public): exports each certificate + created during tests preparations + ($(EXPORTED_TEST_CERT)) replaced by stamps/exported-test-certs.stamp which + create for each of SIGNED_REPRODUCERS individual certificate + (tests/jnlp_tests/README): mentioned possibility of multiple certificate + 2012-05-29 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): diff -r f4f02e8c080d -r 017d474ea1e5 Makefile.am --- a/Makefile.am Tue May 29 17:38:27 2012 +0200 +++ b/Makefile.am Wed May 30 12:31:19 2012 +0200 @@ -24,7 +24,8 @@ JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests PRIVATE_KEYSTORE_NAME=teststore.ks PRIVATE_KEYSTORE_PASS=123456789 -EXPORTED_TEST_CERT=icedteatests.crt +EXPORTED_TEST_CERT_PREFIX=icedteatests +EXPORTED_TEST_CERT_SUFIX=crt TEST_CERT_ALIAS=icedteaweb PUBLIC_KEYSTORE=${HOME}/.icedtea/security/trusted.certs PUBLIC_KEYSTORE_PASS=changeit @@ -35,6 +36,10 @@ REPRODUCERS_CLASS_WHITELIST = $(abs_top_srcdir)/netx-dist-tests-whitelist EMMA_JAVA_ARGS=-Xmx2G META_MANIFEST = META-INF/MANIFEST.MF +SIGNED_REPRODUCERS=signed +SIMPLE_REPRODUCERS=simple +ALL_REPRODUCERS=$(SIMPLE_REPRODUCERS) $(SIGNED_REPRODUCERS) + # linking variables PLUGIN_LINK_NAME=libjavaplugin.so @@ -487,7 +492,7 @@ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . -stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt +stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt stamps/junit-jnlp-dist-signed.stamp mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) touch $@ @@ -496,12 +501,18 @@ cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ -junit-jnlp-dist-signed.txt: - cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ - find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ +stamps/junit-jnlp-dist-signed.stamp: + types=($(SIGNED_REPRODUCERS)) ; \ + for which in "$${types[@]}" ; do \ + pushd $(JNLP_TESTS_SRCDIR)/$$which/ ; \ + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \ + popd ; \ + done ; \ + mkdir -p stamps && \ + touch $@ stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs - types=(simple signed); \ + types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ @@ -535,19 +546,23 @@ stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp keystore=$(abs_top_builddir)/$(PRIVATE_KEYSTORE_NAME); \ - $(BOOT_DIR)/bin/keytool -genkey -alias $(TEST_CERT_ALIAS) -keystore $$keystore -keypass $(PRIVATE_KEYSTORE_PASS) -storepass $(PRIVATE_KEYSTORE_PASS) -dname "cn=$(TEST_CERT_ALIAS), ou=$(TEST_CERT_ALIAS), o=$(TEST_CERT_ALIAS), c=$(TEST_CERT_ALIAS)" ; \ - . $(abs_top_srcdir)/NEW_LINE_IFS ; \ - signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ - IFS="$$IFS_BACKUP" ; \ - for dir in "$${signedReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(TEST_CERT_ALIAS) ; \ - done ; \ - mkdir -p stamps && \ - touch $@ + types=($(SIGNED_REPRODUCERS)) ; \ + for which in "$${types[@]}" ; do \ + tcaw=$(TEST_CERT_ALIAS)_$$which ; \ + $(BOOT_DIR)/bin/keytool -genkey -alias $$tcaw -keystore $$keystore -keypass $(PRIVATE_KEYSTORE_PASS) -storepass $(PRIVATE_KEYSTORE_PASS) -dname "cn=$$tcaw, ou=$$tcaw, o=$$tcaw, c=$$tcaw" ; \ + . $(abs_top_srcdir)/NEW_LINE_IFS ; \ + signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + IFS="$$IFS_BACKUP" ; \ + for dir in "$${signedReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$tcaw ; \ + done ; \ + done ; \ + mkdir -p stamps && \ + touch $@ stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ - types=(simple signed); \ + types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ @@ -578,16 +593,27 @@ touch $@ #this always tries to remove previous testcert -$(EXPORTED_TEST_CERT): stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public - keytool -export -alias $(TEST_CERT_ALIAS) -file $(EXPORTED_TEST_CERT) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) +stamps/exported-test-certs.stamp: stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public + types=($(SIGNED_REPRODUCERS)) ; \ + for which in "$${types[@]}" ; do \ + keytool -export -alias $(TEST_CERT_ALIAS)_$$which -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFIX) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) ; \ + done ; + mkdir -p stamps && \ + touch $@ -stamps/netx-dist-tests-import-cert-to-public: $(EXPORTED_TEST_CERT) - yes | $(BOOT_DIR)/bin/keytool -import -alias $(TEST_CERT_ALIAS) -keystore $(PUBLIC_KEYSTORE) -storepass $(PUBLIC_KEYSTORE_PASS) -file $(EXPORTED_TEST_CERT); \ - mkdir -p stamps && \ - touch $@ +stamps/netx-dist-tests-import-cert-to-public: stamps/exported-test-certs.stamp + types=($(SIGNED_REPRODUCERS)) ; \ + for which in "$${types[@]}" ; do \ + yes | $(BOOT_DIR)/bin/keytool -import -alias $(TEST_CERT_ALIAS)_$$which -keystore $(PUBLIC_KEYSTORE) -storepass $(PUBLIC_KEYSTORE_PASS) -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFIX) ;\ + done ; + mkdir -p stamps && \ + touch $@ netx-dist-tests-remove-cert-from-public: - -$(BOOT_DIR)/bin/keytool -delete -alias $(TEST_CERT_ALIAS) -keystore $(PUBLIC_KEYSTORE) -storepass $(PUBLIC_KEYSTORE_PASS) + -types=($(SIGNED_REPRODUCERS)) ; \ + for which in "$${types[@]}" ; do \ + $(BOOT_DIR)/bin/keytool -delete -alias $(TEST_CERT_ALIAS)_$$which -keystore $(PUBLIC_KEYSTORE) -storepass $(PUBLIC_KEYSTORE_PASS) ; \ + done ; -rm -rf stamps/netx-dist-tests-import-cert-to-public netx-dist-tests-source-files.txt: @@ -605,7 +631,7 @@ stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - types=(simple signed); \ + types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ @@ -876,7 +902,7 @@ chmod 777 $(DESTDIR)$(bindir)/$(javaws) ; \ testcases_srcs=( ) ; \ k=0 ; \ - types=(simple signed); \ + types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ @@ -940,7 +966,7 @@ if WITH_EMMA cd $(TESTS_DIR) ; \ k=0 ; \ - types=(simple signed); \ + types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ @@ -1004,10 +1030,15 @@ rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp rm -f stamps/change-dots-to-paths.stamp rm -f junit-jnlp-dist-simple.txt - rm -f junit-jnlp-dist-signed.txt + types=($(SIGNED_REPRODUCERS)) ; \ + for which in "$${types[@]}" ; do \ + rm -f junit-jnlp-dist-$$which.txt ; \ + rm -f $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFIX) ; \ + done ; + rm -f stamps/exported-test-certs.stamp + rm -f stamps/junit-jnlp-dist-signed.stamp rm -f $(REPRODUCERS_CLASS_NAMES) rm -f $(abs_top_builddir)/$(PRIVATE_KEYSTORE_NAME) - rm -f $(EXPORTED_TEST_CERT) rm -f stamps/run-netx-dist-tests.stamp clean-unit-test-code-coverage: diff -r f4f02e8c080d -r 017d474ea1e5 tests/jnlp_tests/README --- a/tests/jnlp_tests/README Tue May 29 17:38:27 2012 +0200 +++ b/tests/jnlp_tests/README Wed May 30 12:31:19 2012 +0200 @@ -8,3 +8,8 @@ parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ??? simpletest1, simpletest2 and deadlocktest, which tests test???s suite itself and serve as examples of behaviour. + +Directory "signed" is listed in Makefile.am. You can specify as much to-be-signed +directories as you want. And jars in each of those signed directories will be +signed by their's own unique key (number of signed directories == number of certificates). +Do not forget to add each this directory into list n Makefile.am From jvanek at redhat.com Wed May 30 03:32:14 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 12:32:14 +0200 Subject: [rfc][icedtea-web] handling of multiple testing certificates in bulk In-Reply-To: <4FC5EEAA.6000702@redhat.com> References: <4FC13552.6090606@redhat.com> <4FC5EEAA.6000702@redhat.com> Message-ID: <4FC5F72E.3010309@redhat.com> On 05/30/2012 11:55 AM, Pavel Tisnovsky wrote: > Hi Jiri, > > your change looks good in overall, I just have some notes listed bellow this paragraph: > > +EXPORTED_TEST_CERT_SUFIX=crt > should be named EXPORTED_TEST_CERT_SUFFIX ;-) > > + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \ > Is not it easier to use 'ls' in this situation given you use -maxdepth=1 and -mindepth=1? > Hi! I let it be as we have agreed. > +Directory "signed" is listed in Makefile.am. You can specifi as much to-be-signed > s/specifi/specify fixed! Thanx - pushed to head. J From bugzilla-daemon at icedtea.classpath.org Wed May 30 03:45:48 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 30 May 2012 10:45:48 +0000 Subject: [Bug 1013] ImageIO.read fails to open .jpg containing ICC_ProfileGray In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1013 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Icedtea |ImageIO.read fails to open | |.jpg containing | |ICC_ProfileGray --- Comment #7 from Xerxes R?nby --- (In reply to comment #6) > IMHO it would be good to transform the reproducer to a regression test for 6 > and 7. May I do it? Yes, thank you, that would be great. -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/4e398e15/attachment.html From ptisnovs at redhat.com Wed May 30 04:30:58 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 13:30:58 +0200 Subject: [rfc][icedtea-web] Fix for PR1011, folders in archive tag In-Reply-To: <1338317315.24497.18.camel@voip-10-15-18-79.yyz.redhat.com> References: <1338317315.24497.18.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FC604F2.1000301@redhat.com> Hi Adam, you changes look ok, TY. a quick review: minor-refactoring patch: changes to for-each loops look ok folders-in-archive-tag.patch: almost everything look ok, I just think it would be better to use Lists instead of arrays for following object attributes: + private String[] codeBaseFolders = new String[0]; String[] cacheJars = new String[0]; String[] cacheExJars = new String[0]; The code will be cleaner and it will contain fewer conversions List<->Array (AFAIK). + if (archiveEntry.endsWith("/")){ I'm really not sure what separator is used in if it is not better to use File.pathSeparator instead of "/" - do we have any JAR created on Windows? ;-) Pavel Adam Domurad wrote: > This resolves http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 > Entries in the archive tag can potentially be folders. This removes the > assumption that everything in the archive tag is a jar, and adds folders > to the code-base. > This brings the icedtea-web plugin closer to how the proprietary plugin > functions. > > Also attached is a small bit of refactoring to PluginBridge, for > approval. > > (Note that the proprietary plugin also ignores invalid jar files in > archive tags - I have another patch awaiting review "Re: > [rfc][icedtea-web] Ignore invalid .jar files in applets" that provides > this behaviour.) > > Changelog: > 2012-05-29 Adam Domurad > > Allow for folders in archive tag. > * netx/net/sourceforge/jnlp/PluginBridge.java: > (PluginBridge) Changes jar -> archive, parse contents with > addArchiveEntries. > (addArchiveEntries) New method. Adds entries ending with / to the list > of folders. > (getCodeBaseFolders) Returns the folders collected by addArchiveEntries > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (initializeResources) If ran as plugin, add archive tag folders to the > code base loader. > From adinn at redhat.com Wed May 30 04:31:25 2012 From: adinn at redhat.com (Andrew Dinn) Date: Wed, 30 May 2012 12:31:25 +0100 Subject: ARM: Reduce size of safepoint code, etc. In-Reply-To: <4FC4EBDF.8090504@redhat.com> References: <4FC4EBDF.8090504@redhat.com> Message-ID: <4FC6050D.2070105@redhat.com> On 29/05/12 16:31, Andrew Haley wrote: > A few miscellaneous improvements. These lead to reduced code size and > less memory traffic in the normal (i.e. non-safepoint) case. > > The result is like this: > > 0 : 10 24 bipush > 0x4085ec58: movs r3, #36 ; 0x24 > 2 : ac ireturn > 0x4085ec5a: movw r0, #0 > 0x4085ec5e: movt r0, #16670 ; 0x411e > 0x4085ec62: ldr r0, [r0, #8] > 0x4085ec64: b.n 0x4085ec78 > 0x4085ec66: ; instruction: 0xdead > 0x4085ec68: str.w r3, [r4, #-4]! > 0x4085ec6c: movs r1, #50 ; 0x32 > 0x4085ec6e: adds r2, r4, #4 > 0x4085ec70: bl 0x4072f782 > 0x4085ec74: ldr.w r3, [r4], #4 > 0x4085ec78: > > Note that r3 is only pushed to memory if we take a safepoint. Nice. The only thing I found mildly (very mildly) out of kilter was your definition of the SAVE_STACK and RESTORE_STACK macros. SAVE_STACK caches the current register set locally but expects an immediately succeeding call to Thumb2_Flush to generate the stack push instruction(s) (basically Thumb2_Flush just calls Thumb2_Push_Multiple). RESTORE_STACK explicitly calls Thumb2_Pop_Multiple to generate the stack pop(s) then repopulates the register set from the local cache. This slightly obfuscated what the macros were doing when I saw the definitions until I reconciled them with the point of use. Bundling the call to Thumb2_Push_Multiple into the definition of SAVE_STACK might be clearer. > Also, the code to tear down the stack frame and place the return > value is only generated once, and all the returns jump to it. Also very nice. It might possibly pay to try to do this same optimisation for lreturn and dreturn -- with 132 combinations of registers there is maybe not a high chance of reusing a return segment but it would not cost much in execution time at compile time to save and check a compiled_2word_return array to see if an lreturn/dreturn with the same register pair has already been generated. The saved code space might help with cache pressure. I think there is one further special case optimization possible although it is not critical to implement it. When reusing a generated return segment for a simple return the code ends up looking like load safepoint page address read safepoint page branch forward < safepoint code > branch back to generated return code where everything up to the last branch is planted by Thumb2_Safepoint and the backwards branch is planted by Thumb2_Return. If the backwards branch target were passed to Thumb2_Safepoint in this special case then the skip round could be avoided. n.b.this does not apply for ireturn etc as they need to Fill and POP before taking the backward branch. I have built with this patch and tested it with a variety of simple programs employing loops and returns and also with the SpecJVM compiler.compiler. I also eyeballed the code generated for the test programs and verified that it is doing the more conservative save/restore and reusing generated return code where possible. All works and looks good. regards, Andrew Dinn ----------- From jvanek at icedtea.classpath.org Wed May 30 04:36:17 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 30 May 2012 11:36:17 +0000 Subject: /hg/icedtea-web: EXPORTED_TEST_CERT_SUFIX repalced by EXPORTED_T... Message-ID: changeset d302c51bd619 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d302c51bd619 author: Jiri Vanek date: Wed May 30 13:36:41 2012 +0200 EXPORTED_TEST_CERT_SUFIX repalced by EXPORTED_TEST_CERT_SUFFIX diffstat: ChangeLog | 2 +- Makefile.am | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diffs (51 lines): diff -r 017d474ea1e5 -r d302c51bd619 ChangeLog --- a/ChangeLog Wed May 30 12:31:19 2012 +0200 +++ b/ChangeLog Wed May 30 13:36:41 2012 +0200 @@ -2,7 +2,7 @@ Enabled multiple certificates and extracted variables * Makefile.am: EXPORTED_TEST_CERT by EXPORTED_TEST_CERT_PREFIX and - EXPORTED_TEST_CERT_SUFIX for further composition + EXPORTED_TEST_CERT_SUFFIX for further composition SIGNED_REPRODUCERS new variable for iterating through signed reproducers SIMPLE_REPRODUCERS new variable for iterating through simple reproducers ALL_REPRODUCER new variable for iterating through all reproducers diff -r 017d474ea1e5 -r d302c51bd619 Makefile.am --- a/Makefile.am Wed May 30 12:31:19 2012 +0200 +++ b/Makefile.am Wed May 30 13:36:41 2012 +0200 @@ -25,7 +25,7 @@ PRIVATE_KEYSTORE_NAME=teststore.ks PRIVATE_KEYSTORE_PASS=123456789 EXPORTED_TEST_CERT_PREFIX=icedteatests -EXPORTED_TEST_CERT_SUFIX=crt +EXPORTED_TEST_CERT_SUFFIX=crt TEST_CERT_ALIAS=icedteaweb PUBLIC_KEYSTORE=${HOME}/.icedtea/security/trusted.certs PUBLIC_KEYSTORE_PASS=changeit @@ -596,7 +596,7 @@ stamps/exported-test-certs.stamp: stamps/change-dots-to-paths.stamp netx-dist-tests-remove-cert-from-public types=($(SIGNED_REPRODUCERS)) ; \ for which in "$${types[@]}" ; do \ - keytool -export -alias $(TEST_CERT_ALIAS)_$$which -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFIX) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) ; \ + keytool -export -alias $(TEST_CERT_ALIAS)_$$which -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFFIX) -storepass $(PRIVATE_KEYSTORE_PASS) -keystore $(PRIVATE_KEYSTORE_NAME) ; \ done ; mkdir -p stamps && \ touch $@ @@ -604,7 +604,7 @@ stamps/netx-dist-tests-import-cert-to-public: stamps/exported-test-certs.stamp types=($(SIGNED_REPRODUCERS)) ; \ for which in "$${types[@]}" ; do \ - yes | $(BOOT_DIR)/bin/keytool -import -alias $(TEST_CERT_ALIAS)_$$which -keystore $(PUBLIC_KEYSTORE) -storepass $(PUBLIC_KEYSTORE_PASS) -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFIX) ;\ + yes | $(BOOT_DIR)/bin/keytool -import -alias $(TEST_CERT_ALIAS)_$$which -keystore $(PUBLIC_KEYSTORE) -storepass $(PUBLIC_KEYSTORE_PASS) -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFFIX) ;\ done ; mkdir -p stamps && \ touch $@ @@ -1033,7 +1033,7 @@ types=($(SIGNED_REPRODUCERS)) ; \ for which in "$${types[@]}" ; do \ rm -f junit-jnlp-dist-$$which.txt ; \ - rm -f $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFIX) ; \ + rm -f $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFFIX) ; \ done ; rm -f stamps/exported-test-certs.stamp rm -f stamps/junit-jnlp-dist-signed.stamp From aph at redhat.com Wed May 30 05:34:56 2012 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 May 2012 13:34:56 +0100 Subject: ARM: Reduce size of safepoint code, etc. In-Reply-To: <4FC6050D.2070105@redhat.com> References: <4FC4EBDF.8090504@redhat.com> <4FC6050D.2070105@redhat.com> Message-ID: <4FC613F0.2000506@redhat.com> On 05/30/2012 12:31 PM, Andrew Dinn wrote: > On 29/05/12 16:31, Andrew Haley wrote: >> A few miscellaneous improvements. These lead to reduced code size and >> less memory traffic in the normal (i.e. non-safepoint) case. >> >> The result is like this: >> >> 0 : 10 24 bipush >> 0x4085ec58: movs r3, #36 ; 0x24 >> 2 : ac ireturn >> 0x4085ec5a: movw r0, #0 >> 0x4085ec5e: movt r0, #16670 ; 0x411e >> 0x4085ec62: ldr r0, [r0, #8] >> 0x4085ec64: b.n 0x4085ec78 >> 0x4085ec66: ; instruction: 0xdead >> 0x4085ec68: str.w r3, [r4, #-4]! >> 0x4085ec6c: movs r1, #50 ; 0x32 >> 0x4085ec6e: adds r2, r4, #4 >> 0x4085ec70: bl 0x4072f782 >> 0x4085ec74: ldr.w r3, [r4], #4 >> 0x4085ec78: >> >> Note that r3 is only pushed to memory if we take a safepoint. > > Nice. > > The only thing I found mildly (very mildly) out of kilter was your > definition of the SAVE_STACK and RESTORE_STACK macros. SAVE_STACK caches > the current register set locally but expects an immediately succeeding > call to Thumb2_Flush to generate the stack push instruction(s) > (basically Thumb2_Flush just calls Thumb2_Push_Multiple). RESTORE_STACK > explicitly calls Thumb2_Pop_Multiple to generate the stack pop(s) then > repopulates the register set from the local cache. This slightly > obfuscated what the macros were doing when I saw the definitions until I > reconciled them with the point of use. Bundling the call to > Thumb2_Push_Multiple into the definition of SAVE_STACK might be clearer. I sorta supposed that it's possible someone might call something other than Thumb2_Flush, but I guess that's unlikely. >> Also, the code to tear down the stack frame and place the return >> value is only generated once, and all the returns jump to it. > > Also very nice. It might possibly pay to try to do this same > optimisation for lreturn and dreturn -- with 132 combinations of > registers there is maybe not a high chance of reusing a return segment > but it would not cost much in execution time at compile time to save and > check a compiled_2word_return array to see if an lreturn/dreturn with > the same register pair has already been generated. The saved code space > might help with cache pressure. Maybe. I think we're in diminishing returns in this area, and the time will be better spent elsewhere. > I think there is one further special case optimization possible although > it is not critical to implement it. When reusing a generated return > segment for a simple return the code ends up looking like > > load safepoint page address > read safepoint page > branch forward > < > safepoint code > > > branch back to generated return code > > where everything up to the last branch is planted by Thumb2_Safepoint > and the backwards branch is planted by Thumb2_Return. If the backwards > branch target were passed to Thumb2_Safepoint in this special case then > the skip round could be avoided. n.b.this does not apply for ireturn etc > as they need to Fill and POP before taking the backward branch. > > I have built with this patch and tested it with a variety of simple > programs employing loops and returns and also with the SpecJVM > compiler.compiler. I also eyeballed the code generated for the test > programs and verified that it is doing the more conservative > save/restore and reusing generated return code where possible. All works > and looks good. Ok, thanks. Andrew. From ptisnovs at redhat.com Wed May 30 05:41:56 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 14:41:56 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters Message-ID: <4FC61594.7040002@redhat.com> Hi, I've created a fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters. This fix is based on OpenJDK7 sources and it's been successfully tested against IcedTea6-head, IcedTea6-1.11 and IcedTea6-1.10. Can anybody please review this fix? Here's ChangeLog entry: 2012-05-30 Pavel Tisnovsky * patches/coverage-table.patch: PR1018: JVM fails due to SEGV during rendering some Unicode characters * Makefile.am: Updated. * NEWS: Mention bugfix. (if this fix will be approved, I would like to backport it to 6-1.10 and 6-1.11 too - the patch is the same for all branches) Thank you in advance, Pavel -------------- next part -------------- A non-text attachment was scrubbed... Name: coverage-table.patch Type: text/x-patch Size: 439 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/0eba0bd8/coverage-table.patch From jvanek at redhat.com Wed May 30 05:58:49 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 14:58:49 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC61594.7040002@redhat.com> References: <4FC61594.7040002@redhat.com> Message-ID: <4FC61989.4090004@redhat.com> On 05/30/2012 02:41 PM, Pavel Tisnovsky wrote: > Hi, > > I've created a fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters. > This fix is based on OpenJDK7 sources and it's been successfully tested against IcedTea6-head, > IcedTea6-1.11 and IcedTea6-1.10. > > Can anybody please review this fix? > > Here's ChangeLog entry: > > 2012-05-30 Pavel Tisnovsky > > * patches/coverage-table.patch: > PR1018: JVM fails due to SEGV during rendering some Unicode characters > * Makefile.am: Updated. > * NEWS: Mention bugfix. > > (if this fix will be approved, I would like to backport it to 6-1.10 and 6-1.11 too - the > patch is the same for all branches) > > Thank you in advance, > Pavel I have walked across "6886358: layout code update" fix on openjdk and it looks correct. But it looks like you have not send complete hg diff (but only patch of file) with also news and makefile. Can you please repost? Tahnx, J. From ptisnovs at redhat.com Wed May 30 06:08:40 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 15:08:40 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC61989.4090004@redhat.com> References: <4FC61594.7040002@redhat.com> <4FC61989.4090004@redhat.com> Message-ID: <4FC61BD8.6090102@redhat.com> Jiri Vanek wrote: > On 05/30/2012 02:41 PM, Pavel Tisnovsky wrote: >> Hi, >> >> I've created a fix for PR1018: JVM fails due to SEGV during rendering >> some Unicode characters. >> This fix is based on OpenJDK7 sources and it's been successfully >> tested against IcedTea6-head, >> IcedTea6-1.11 and IcedTea6-1.10. >> >> Can anybody please review this fix? >> >> Here's ChangeLog entry: >> >> 2012-05-30 Pavel Tisnovsky >> >> * patches/coverage-table.patch: >> PR1018: JVM fails due to SEGV during rendering some Unicode >> characters >> * Makefile.am: Updated. >> * NEWS: Mention bugfix. >> >> (if this fix will be approved, I would like to backport it to 6-1.10 >> and 6-1.11 too - the >> patch is the same for all branches) >> >> Thank you in advance, >> Pavel > > I have walked across "6886358: layout code update" fix on openjdk and it > looks correct. But it looks like you have not send complete hg diff (but > only patch of file) with also news and makefile. Can you please repost? > Doh! You are right, I forgot to add hg.diff to the attachments. Should be fixed now ;) Thanks, Pavel > Tahnx, J. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/d33d7b4e/hg.diff From phatina at redhat.com Wed May 30 06:14:24 2012 From: phatina at redhat.com (Peter Hatina) Date: Wed, 30 May 2012 15:14:24 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac Message-ID: <1338383664-9933-1-git-send-email-phatina@redhat.com> Hi, I fixed the diff to meet Andrew Hughes suggestions. Hope, it's OK now. Peter Hatina EMEA ENG-Desktop Development Red Hat Czech, Brno --- ChangeLog | 8 ++++++++ NEWS | 1 + acinclude.m4 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 82c0feb..d6f7e0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-05-28 Peter Hatina + + Introduced configure option --with-gtk=2.0|3.0 to be able to compile + against different version of GTK+ (2.x or 3.x). + *NEWS: mentioned bug fix + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS + (GTK_CHECK) macro for checking GTK+ version + 2012-05-02 Jiri Vanek Introduced new annotations Bug (to connect test/reproducer with documentation) diff --git a/NEWS b/NEWS index 8397639..30eb055 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass * Common - PR918: java applet windows uses a low resulution black/white icon + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries New in release 1.2 (2011-XX-XX): * Security updates: diff --git a/acinclude.m4 b/acinclude.m4 index a330d0f..5b801eb 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], AC_MSG_RESULT(${enable_plugin}) ]) +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], [ACTION-IF-NOT]) +AC_DEFUN([GTK_CHECK_VERSION], +[ + if $PKG_CONFIG --modversion gtk+-$1.0 &> /dev/null; then + $2 + else + $3 + fi +]) + +dnl ITW_GTK_SET_CXX_VARS([gtk version]) +AC_DEFUN([ITW_GTK_SET_CXX_VARS], +[ + GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-$1.0` + GTK_LIBS=`$PKG_CONFIG --libs gtk+-$1.0` +]) + +dnl ITW_GTK_CHECK([gtk version]) +AC_DEFUN([ITW_GTK_CHECK], +[ + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], + [ + case "$1" in + default) + GTK_CHECK_VERSION(["3"], + [echo -n `$PKG_CONFIG --modversion gtk+-3.0` + ITW_GTK_SET_CXX_VARS(["3"])], + [GTK_CHECK_VERSION(["2"], + [echo -n `$PKG_CONFIG --modversion gtk+-2.0` + ITW_GTK_SET_CXX_VARS(["2"])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([GTK+ not found])])]) + ;; + *) + GTK_CHECK_VERSION([$1], + [echo -n `$PKG_CONFIG --modversion gtk+-$1.0` + ITW_GTK_SET_CXX_VARS([$1])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([GTK+ $1 not found])]) + ;; + esac + ]) +]) + AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], [ dnl Check for plugin support headers and libraries. dnl FIXME: use unstable AC_REQUIRE([IT_CHECK_PLUGIN]) if test "x${enable_plugin}" = "xyes" ; then - PKG_CHECK_MODULES(GTK, gtk+-2.0) + AC_ARG_WITH([gtk], + [AS_HELP_STRING([--with-gtk=[2|3|default]], + [the GTK+ version to use (default: 3)])], + [case "$with_gtk" in + 2|3|default) ;; + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; + esac], + [with_gtk=default]) + ITW_GTK_CHECK([$with_gtk]) PKG_CHECK_MODULES(GLIB, glib-2.0) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) -- 1.7.10.2 From jvanek at redhat.com Wed May 30 06:19:31 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 15:19:31 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: <1338383664-9933-1-git-send-email-phatina@redhat.com> References: <1338383664-9933-1-git-send-email-phatina@redhat.com> Message-ID: <4FC61E63.5000305@redhat.com> On 05/30/2012 03:14 PM, Peter Hatina wrote: > Hi, > > I fixed the diff to meet Andrew Hughes suggestions. Hope, it's OK now. I'm happy with it. The spaces between * and FILE in Chnagelog can be added during commit;) J. > > Peter Hatina > EMEA ENG-Desktop Development > Red Hat Czech, Brno > > --- > ChangeLog | 8 ++++++++ > NEWS | 1 + > acinclude.m4 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- > 3 files changed, 62 insertions(+), 1 deletion(-) > > diff --git a/ChangeLog b/ChangeLog > index 82c0feb..d6f7e0c 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,11 @@ > +2012-05-28 Peter Hatina > + > + Introduced configure option --with-gtk=2.0|3.0 to be able to compile > + against different version of GTK+ (2.x or 3.x). > + *NEWS: mentioned bug fix > + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS > + (GTK_CHECK) macro for checking GTK+ version > + > 2012-05-02 Jiri Vanek > > Introduced new annotations Bug (to connect test/reproducer with documentation) > diff --git a/NEWS b/NEWS > index 8397639..30eb055 100644 > --- a/NEWS > +++ b/NEWS > @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): > - PR895: IcedTea-Web searches for missing classes on each loadClass or findClass > * Common > - PR918: java applet windows uses a low resulution black/white icon > + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries > > New in release 1.2 (2011-XX-XX): > * Security updates: > diff --git a/acinclude.m4 b/acinclude.m4 > index a330d0f..5b801eb 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], > AC_MSG_RESULT(${enable_plugin}) > ]) > > +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], [ACTION-IF-NOT]) > +AC_DEFUN([GTK_CHECK_VERSION], > +[ > + if $PKG_CONFIG --modversion gtk+-$1.0&> /dev/null; then > + $2 > + else > + $3 > + fi > +]) > + > +dnl ITW_GTK_SET_CXX_VARS([gtk version]) > +AC_DEFUN([ITW_GTK_SET_CXX_VARS], > +[ > + GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-$1.0` > + GTK_LIBS=`$PKG_CONFIG --libs gtk+-$1.0` > +]) > + > +dnl ITW_GTK_CHECK([gtk version]) > +AC_DEFUN([ITW_GTK_CHECK], > +[ > + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], > + [ > + case "$1" in > + default) > + GTK_CHECK_VERSION(["3"], > + [echo -n `$PKG_CONFIG --modversion gtk+-3.0` > + ITW_GTK_SET_CXX_VARS(["3"])], > + [GTK_CHECK_VERSION(["2"], > + [echo -n `$PKG_CONFIG --modversion gtk+-2.0` > + ITW_GTK_SET_CXX_VARS(["2"])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ not found])])]) > + ;; > + *) > + GTK_CHECK_VERSION([$1], > + [echo -n `$PKG_CONFIG --modversion gtk+-$1.0` > + ITW_GTK_SET_CXX_VARS([$1])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ $1 not found])]) > + ;; > + esac > + ]) > +]) > + > AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], > [ > dnl Check for plugin support headers and libraries. > dnl FIXME: use unstable > AC_REQUIRE([IT_CHECK_PLUGIN]) > if test "x${enable_plugin}" = "xyes" ; then > - PKG_CHECK_MODULES(GTK, gtk+-2.0) > + AC_ARG_WITH([gtk], > + [AS_HELP_STRING([--with-gtk=[2|3|default]], > + [the GTK+ version to use (default: 3)])], > + [case "$with_gtk" in > + 2|3|default) ;; > + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; > + esac], > + [with_gtk=default]) > + ITW_GTK_CHECK([$with_gtk]) > PKG_CHECK_MODULES(GLIB, glib-2.0) > AC_SUBST(GLIB_CFLAGS) > AC_SUBST(GLIB_LIBS) From jvanek at redhat.com Wed May 30 06:21:59 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 15:21:59 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC61BD8.6090102@redhat.com> References: <4FC61594.7040002@redhat.com> <4FC61989.4090004@redhat.com> <4FC61BD8.6090102@redhat.com> Message-ID: <4FC61EF7.7080900@redhat.com> On 05/30/2012 03:08 PM, Pavel Tisnovsky wrote: > Jiri Vanek wrote: >> On 05/30/2012 02:41 PM, Pavel Tisnovsky wrote: >>> Hi, >>> >>> I've created a fix for PR1018: JVM fails due to SEGV during rendering >>> some Unicode characters. >>> This fix is based on OpenJDK7 sources and it's been successfully >>> tested against IcedTea6-head, >>> IcedTea6-1.11 and IcedTea6-1.10. >>> >>> Can anybody please review this fix? >>> >>> Here's ChangeLog entry: >>> >>> 2012-05-30 Pavel Tisnovsky >>> >>> * patches/coverage-table.patch: >>> PR1018: JVM fails due to SEGV during rendering some Unicode >>> characters >>> * Makefile.am: Updated. >>> * NEWS: Mention bugfix. >>> >>> (if this fix will be approved, I would like to backport it to 6-1.10 >>> and 6-1.11 too - the >>> patch is the same for all branches) >>> >>> Thank you in advance, >>> Pavel >> >> I have walked across "6886358: layout code update" fix on openjdk and it >> looks correct. But it looks like you have not send complete hg diff (but >> only patch of file) with also news and makefile. Can you please repost? >> > > Doh! You are right, I forgot to add hg.diff to the attachments. Should be fixed now ;) > > Thanks, > Pavel > >> Tahnx, J. > Thanx. go on and push:) Can you also attach the reproducer I have seen? So also the rest of community can have fun with it? J. From ptisnovs at redhat.com Wed May 30 06:28:54 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 15:28:54 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC61EF7.7080900@redhat.com> References: <4FC61594.7040002@redhat.com> <4FC61989.4090004@redhat.com> <4FC61BD8.6090102@redhat.com> <4FC61EF7.7080900@redhat.com> Message-ID: <4FC62096.40807@redhat.com> Jiri Vanek wrote: > On 05/30/2012 03:08 PM, Pavel Tisnovsky wrote: >> Jiri Vanek wrote: >>> On 05/30/2012 02:41 PM, Pavel Tisnovsky wrote: >>>> Hi, >>>> >>>> I've created a fix for PR1018: JVM fails due to SEGV during rendering >>>> some Unicode characters. >>>> This fix is based on OpenJDK7 sources and it's been successfully >>>> tested against IcedTea6-head, >>>> IcedTea6-1.11 and IcedTea6-1.10. >>>> >>>> Can anybody please review this fix? >>>> >>>> Here's ChangeLog entry: >>>> >>>> 2012-05-30 Pavel Tisnovsky >>>> >>>> * patches/coverage-table.patch: >>>> PR1018: JVM fails due to SEGV during rendering some Unicode >>>> characters >>>> * Makefile.am: Updated. >>>> * NEWS: Mention bugfix. >>>> >>>> (if this fix will be approved, I would like to backport it to 6-1.10 >>>> and 6-1.11 too - the >>>> patch is the same for all branches) >>>> >>>> Thank you in advance, >>>> Pavel >>> >>> I have walked across "6886358: layout code update" fix on openjdk and it >>> looks correct. But it looks like you have not send complete hg diff (but >>> only patch of file) with also news and makefile. Can you please repost? >>> >> >> Doh! You are right, I forgot to add hg.diff to the attachments. Should >> be fixed now ;) >> >> Thanks, >> Pavel >> >>> Tahnx, J. >> > > Thanx. go on and push:) Can you also attach the reproducer I have seen? > So also the rest of community can have fun with it? TY! One reproducer is already stored as an attachment in the IT bugzilla: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1018 Here's simpler version I'd like to add in the form of JTreg tests into IT6/IT7: import javax.swing.*; public class bug1018 { public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new JButton("***\u0b03\u0b03\u0b03***")); frame.pack(); frame.dispose(); } } > > J. From aph at redhat.com Wed May 30 07:12:35 2012 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 May 2012 15:12:35 +0100 Subject: ARM: Reduce size of safepoint code, etc. In-Reply-To: <4FC613F0.2000506@redhat.com> References: <4FC4EBDF.8090504@redhat.com> <4FC6050D.2070105@redhat.com> <4FC613F0.2000506@redhat.com> Message-ID: <4FC62AD3.6050004@redhat.com> This is what I'll commit. It's as before, but it never saves locals at a return statement, as discussed. Andrew. diff -r 5b6a9a63a280 src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/cpu/zero/vm/thumb2.cpp Wed May 30 10:08:30 2012 -0400 @@ -3168,6 +3168,8 @@ unsigned i; Reg r; + if (nregs == 0) + return; JASSERT(nregs > 0, "nregs must be > 0"); if (nregs == 1) { ldr_imm(codebuf, regs[0], Rstack, 4, 0, 1); @@ -3445,6 +3447,21 @@ jstack->depth = 0; } +// SAVE_STACK and RESTORE_STACK save the stack state so that it's +// possible to do a stack flush to memory and restore that stack state +// to the same registers. +#define SAVE_STACK(JSTACK) \ + unsigned saved_stack_elements[JSTACK->depth]; \ + unsigned saved_stack_depth; \ + memcpy(saved_stack_elements, JSTACK->stack, \ + JSTACK->depth * sizeof saved_stack_elements[0]); \ + saved_stack_depth = JSTACK->depth; +#define RESTORE_STACK(JSTACK, CODEBUF) \ + Thumb2_Pop_Multiple(CODEBUF, saved_stack_elements, saved_stack_depth); \ + memcpy(JSTACK->stack, saved_stack_elements, \ + JSTACK->depth * sizeof saved_stack_elements[0]); \ + JSTACK->depth = saved_stack_depth; + // Call this when we are about to corrupt a local // The local may already be on the stack // For example @@ -4164,7 +4181,6 @@ void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci, int offset) { - Thumb2_Flush(jinfo); // normal case: read the polling page and branch to skip // the safepoint test // abnormal case: read the polling page, trap to handler @@ -4203,6 +4219,8 @@ // // n.b. for a return there is no need save or restore locals + bool is_return = offset == 0; // This is some kind of return bytecode + int r_tmp = Thumb2_Tmp(jinfo, 0); unsigned dest; if (offset < 0) { @@ -4239,27 +4257,27 @@ // now write a magic word after the branch so the signal handler can // test that a polling page read is kosher out_16(jinfo->codebuf, THUMB2_POLLING_PAGE_MAGIC); + + { + // Flush the stack to memory and save its register state. + SAVE_STACK(jinfo->jstack); + Thumb2_Flush(jinfo); + + // We don't save or restore locals if we're returning. + if (! is_return) + Thumb2_save_locals(jinfo, stackdepth); + // now the safepoint polling code itself - // n.b. no need for save or restore of locals at return i.e. when offset == 0 - //if (offset != 0) { - Thumb2_save_locals(jinfo, stackdepth); - //} - - // The frame walking code used by the garbage collector - // (frame::interpreter_frame_tos_address()) assumes that the stack - // pointer points one word below the top item on the stack, so we - // have to adjust the SP saved in istate accordingly. If we don't, - // the value on TOS won't be seen by the GC and we will crash later. - sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); - store_istate(jinfo, ARM_R0, ISTATE_STACK, stackdepth); - mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); add_imm(jinfo->codebuf, ARM_R2, ISTATE_REG(jinfo), ISTATE_OFFSET(jinfo, stackdepth, 0)); bl(jinfo->codebuf, handlers[H_SAFEPOINT]); - //if (offset != 0) { + + if (! is_return) Thumb2_restore_locals(jinfo, stackdepth); - //} + + RESTORE_STACK(jinfo->jstack, jinfo->codebuf); + if (offset < 0) { // needs another unconditional backward branch branch_uncond(jinfo->codebuf, dest); @@ -4268,6 +4286,7 @@ branch_narrow_patch(jinfo->codebuf, read_loc + 2); } } +} // If this is a backward branch, compile a safepoint check void Thumb2_Cond_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci) { @@ -4467,7 +4486,7 @@ branch_uncond(jinfo->codebuf, ret_idx); return; } - if (OSPACE) jinfo->compiled_return = jinfo->codebuf->idx * 2; + jinfo->compiled_return = jinfo->codebuf->idx * 2; } else { if (opcode == opc_lreturn || opcode == opc_dreturn) { Thumb2_Fill(jinfo, 2); @@ -4482,7 +4501,7 @@ branch_uncond(jinfo->codebuf, ret_idx); return; } - if (OSPACE) jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; + jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; } } @@ -7847,6 +7866,14 @@ handlers[H_SAFEPOINT] = out_pos(&codebuf); stm(&codebuf, (1<_bcp for the GC // bci+CONSTMETHOD_CODEOFFSET is passed in ARM_R1 // istate is passed in ARM_R2 From adomurad at redhat.com Wed May 30 07:25:37 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 30 May 2012 10:25:37 -0400 Subject: [rfc][icedtea-web] Fix for PR1011, folders in archive tag In-Reply-To: <4FC604F2.1000301@redhat.com> References: <1338317315.24497.18.camel@voip-10-15-18-79.yyz.redhat.com> <4FC604F2.1000301@redhat.com> Message-ID: <1338387937.24497.20.camel@voip-10-15-18-79.yyz.redhat.com> Slightly revised patch attached. On Wed, 2012-05-30 at 13:30 +0200, Pavel Tisnovsky wrote: > Hi Adam, > > you changes look ok, TY. > > a quick review: > > minor-refactoring patch: changes to for-each loops look ok > > folders-in-archive-tag.patch: > almost everything look ok, I just think it would be better > to use Lists instead of arrays for following object attributes: > > + private String[] codeBaseFolders = new String[0]; > String[] cacheJars = new String[0]; > String[] cacheExJars = new String[0]; > > The code will be cleaner and it will contain fewer conversions List<->Array (AFAIK). > > + if (archiveEntry.endsWith("/")){ > I'm really not sure what separator is used in if it is not better to use File.pathSeparator instead of "/" > - do we have any JAR created on Windows? ;-) > > > Pavel > > > > Adam Domurad wrote: > > This resolves http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1011 > > Entries in the archive tag can potentially be folders. This removes the > > assumption that everything in the archive tag is a jar, and adds folders > > to the code-base. > > This brings the icedtea-web plugin closer to how the proprietary plugin > > functions. > > > > Also attached is a small bit of refactoring to PluginBridge, for > > approval. > > > > (Note that the proprietary plugin also ignores invalid jar files in > > archive tags - I have another patch awaiting review "Re: > > [rfc][icedtea-web] Ignore invalid .jar files in applets" that provides > > this behaviour.) > > > > Changelog: > > 2012-05-29 Adam Domurad > > > > Allow for folders in archive tag. > > * netx/net/sourceforge/jnlp/PluginBridge.java: > > (PluginBridge) Changes jar -> archive, parse contents with > > addArchiveEntries. > > (addArchiveEntries) New method. Adds entries ending with / to the list > > of folders. > > (getCodeBaseFolders) Returns the folders collected by addArchiveEntries > > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > > (initializeResources) If ran as plugin, add archive tag folders to the > > code base loader. > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: folders-in-archive-tag2.patch Type: text/x-patch Size: 4253 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/951f43bb/folders-in-archive-tag2.patch From omajid at redhat.com Wed May 30 07:46:27 2012 From: omajid at redhat.com (Omair Majid) Date: Wed, 30 May 2012 10:46:27 -0400 Subject: [rfc][icedtea-web] Fix for PR1011, folders in archive tag In-Reply-To: <4FC604F2.1000301@redhat.com> References: <1338317315.24497.18.camel@voip-10-15-18-79.yyz.redhat.com> <4FC604F2.1000301@redhat.com> Message-ID: <4FC632C3.4010300@redhat.com> Hi Pavel, On 05/30/2012 07:30 AM, Pavel Tisnovsky wrote: > + if (archiveEntry.endsWith("/")){ > I'm really not sure what separator is used in if it is not better to use File.pathSeparator instead of "/" > - do we have any JAR created on Windows? ;-) This is part of the archive attribute on a web page: ----^ Do any webservers use "\" for directories? I think "/" is the right thing. Cheers, Omair From ahughes at redhat.com Wed May 30 07:54:23 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 10:54:23 -0400 (EDT) Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: <1338383664-9933-1-git-send-email-phatina@redhat.com> Message-ID: ----- Original Message ----- > Hi, > > I fixed the diff to meet Andrew Hughes suggestions. Hope, it's OK > now. > > Peter Hatina > EMEA ENG-Desktop Development > Red Hat Czech, Brno > > --- > ChangeLog | 8 ++++++++ > NEWS | 1 + > acinclude.m4 | 54 > +++++++++++++++++++++++++++++++++++++++++++++++++++++- > 3 files changed, 62 insertions(+), 1 deletion(-) > > diff --git a/ChangeLog b/ChangeLog > index 82c0feb..d6f7e0c 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,11 @@ > +2012-05-28 Peter Hatina > + > + Introduced configure option --with-gtk=2.0|3.0 to be able to > compile > + against different version of GTK+ (2.x or 3.x). > + *NEWS: mentioned bug fix > + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS > + (GTK_CHECK) macro for checking GTK+ version > + > 2012-05-02 Jiri Vanek > > Introduced new annotations Bug (to connect test/reproducer with > documentation) > diff --git a/NEWS b/NEWS > index 8397639..30eb055 100644 > --- a/NEWS > +++ b/NEWS > @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): > - PR895: IcedTea-Web searches for missing classes on each > loadClass or findClass > * Common > - PR918: java applet windows uses a low resulution black/white > icon > + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries > > New in release 1.2 (2011-XX-XX): > * Security updates: > diff --git a/acinclude.m4 b/acinclude.m4 > index a330d0f..5b801eb 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], > AC_MSG_RESULT(${enable_plugin}) > ]) > > +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], > [ACTION-IF-NOT]) > +AC_DEFUN([GTK_CHECK_VERSION], > +[ > + if $PKG_CONFIG --modversion gtk+-$1.0 &> /dev/null; then > + $2 > + else > + $3 > + fi > +]) > + > +dnl ITW_GTK_SET_CXX_VARS([gtk version]) > +AC_DEFUN([ITW_GTK_SET_CXX_VARS], > +[ > + GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-$1.0` > + GTK_LIBS=`$PKG_CONFIG --libs gtk+-$1.0` > +]) > + > +dnl ITW_GTK_CHECK([gtk version]) > +AC_DEFUN([ITW_GTK_CHECK], > +[ > + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], > + [ > + case "$1" in > + default) > + GTK_CHECK_VERSION(["3"], > + [echo -n `$PKG_CONFIG --modversion gtk+-3.0` > + ITW_GTK_SET_CXX_VARS(["3"])], > + [GTK_CHECK_VERSION(["2"], > + [echo -n `$PKG_CONFIG --modversion gtk+-2.0` > + ITW_GTK_SET_CXX_VARS(["2"])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ not found])])]) > + ;; > + *) > + GTK_CHECK_VERSION([$1], > + [echo -n `$PKG_CONFIG --modversion gtk+-$1.0` > + ITW_GTK_SET_CXX_VARS([$1])], > + [AC_MSG_RESULT([no]) > + AC_MSG_ERROR([GTK+ $1 not found])]) > + ;; > + esac > + ]) > +]) > + > AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], > [ > dnl Check for plugin support headers and libraries. > dnl FIXME: use unstable > AC_REQUIRE([IT_CHECK_PLUGIN]) > if test "x${enable_plugin}" = "xyes" ; then > - PKG_CHECK_MODULES(GTK, gtk+-2.0) > + AC_ARG_WITH([gtk], > + [AS_HELP_STRING([--with-gtk=[2|3|default]], > + [the GTK+ version to use (default: 3)])], > + [case "$with_gtk" in > + 2|3|default) ;; > + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; > + esac], > + [with_gtk=default]) > + ITW_GTK_CHECK([$with_gtk]) > PKG_CHECK_MODULES(GLIB, glib-2.0) > AC_SUBST(GLIB_CFLAGS) > AC_SUBST(GLIB_LIBS) > -- > 1.7.10.2 > > No. I said it should be using the PKG_CHECK_MODULES macro from pkgconfig as before, not just $PKG_CONFIG. That was just an example of one of the features you lost in changing this. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Wed May 30 07:55:44 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 10:55:44 -0400 (EDT) Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC61594.7040002@redhat.com> Message-ID: <5619a7be-728b-42d0-a5b7-b5f9287dc729@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Hi, > > I've created a fix for PR1018: JVM fails due to SEGV during rendering > some Unicode characters. > This fix is based on OpenJDK7 sources and it's been successfully > tested against IcedTea6-head, > IcedTea6-1.11 and IcedTea6-1.10. > You say this is based on "OpenJDK7 sources". What fix is this from and why is there no bug reference in this patch? > Can anybody please review this fix? > > Here's ChangeLog entry: > > 2012-05-30 Pavel Tisnovsky > > * patches/coverage-table.patch: > PR1018: JVM fails due to SEGV during rendering some Unicode > characters > * Makefile.am: Updated. > * NEWS: Mention bugfix. > > (if this fix will be approved, I would like to backport it to 6-1.10 > and 6-1.11 too - the > patch is the same for all branches) > > Thank you in advance, > Pavel > > > [Text Documents:coverage-table.patch] > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-patch Size: 439 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/342b176c/attachment.bin From ahughes at redhat.com Wed May 30 07:59:57 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 10:59:57 -0400 (EDT) Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <5619a7be-728b-42d0-a5b7-b5f9287dc729@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4aee7f29-b53b-410f-9d9d-48976c88d4c7@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > ----- Original Message ----- > > Hi, > > > > I've created a fix for PR1018: JVM fails due to SEGV during > > rendering > > some Unicode characters. > > This fix is based on OpenJDK7 sources and it's been successfully > > tested against IcedTea6-head, > > IcedTea6-1.11 and IcedTea6-1.10. > > > > You say this is based on "OpenJDK7 sources". What fix is this from > and > why is there no bug reference in this patch? This appears to be a fragment of: changeset: 3068:1d4340015b85 user: srl date: Mon Dec 06 16:10:01 2010 -0800 summary: 6886358: layout code update Why not apply the whole fix? Including chunks like this makes things untraceable and harder to upstream. > > > Can anybody please review this fix? > > > > Here's ChangeLog entry: > > > > 2012-05-30 Pavel Tisnovsky > > > > * patches/coverage-table.patch: > > PR1018: JVM fails due to SEGV during rendering some Unicode > > characters > > * Makefile.am: Updated. > > * NEWS: Mention bugfix. > > > > (if this fix will be approved, I would like to backport it to > > 6-1.10 > > and 6-1.11 too - the > > patch is the same for all branches) > > > > Thank you in advance, > > Pavel > > > > > > [Text Documents:coverage-table.patch] > > > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Wed May 30 08:39:37 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 17:39:37 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <5619a7be-728b-42d0-a5b7-b5f9287dc729@zmail17.collab.prod.int.phx2.redhat.com> References: <5619a7be-728b-42d0-a5b7-b5f9287dc729@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FC63F39.90001@redhat.com> On 05/30/2012 04:55 PM, Andrew Hughes wrote: > ----- Original Message ----- >> Hi, >> >> I've created a fix for PR1018: JVM fails due to SEGV during rendering >> some Unicode characters. >> This fix is based on OpenJDK7 sources and it's been successfully >> tested against IcedTea6-head, >> IcedTea6-1.11 and IcedTea6-1.10. >> > > You say this is based on "OpenJDK7 sources". What fix is this from and > why is there no bug reference in this patch? > >> Can anybody please review this fix? >> >> Here's ChangeLog entry: >> >> 2012-05-30 Pavel Tisnovsky >> >> * patches/coverage-table.patch: >> PR1018: JVM fails due to SEGV during rendering some Unicode >> characters >> * Makefile.am: Updated. >> * NEWS: Mention bugfix. >> >> (if this fix will be approved, I would like to backport it to 6-1.10 >> and 6-1.11 too - the >> patch is the same for all branches) >> >> Thank you in advance, >> Pavel >> >> >> [Text Documents:coverage-table.patch] >> > Hi Andrew! I have pointed it out "..."6886358: layout code update fix on openjdk and it..." J. From ptisnovs at redhat.com Wed May 30 08:42:37 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 17:42:37 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4aee7f29-b53b-410f-9d9d-48976c88d4c7@zmail17.collab.prod.int.phx2.redhat.com> References: <4aee7f29-b53b-410f-9d9d-48976c88d4c7@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FC63FED.2080907@redhat.com> Andrew Hughes wrote: > ----- Original Message ----- >> ----- Original Message ----- >>> Hi, >>> >>> I've created a fix for PR1018: JVM fails due to SEGV during >>> rendering >>> some Unicode characters. >>> This fix is based on OpenJDK7 sources and it's been successfully >>> tested against IcedTea6-head, >>> IcedTea6-1.11 and IcedTea6-1.10. >>> >> You say this is based on "OpenJDK7 sources". What fix is this from >> and >> why is there no bug reference in this patch? > > This appears to be a fragment of: yes, it is > > changeset: 3068:1d4340015b85 > user: srl > date: Mon Dec 06 16:10:01 2010 -0800 > summary: 6886358: layout code update > > Why not apply the whole fix? Including chunks like this makes things > untraceable and harder to upstream. well this fix is 880 kilobytes long and it changes a lot of code. I'm not fully against to use the whole fix, but I'm a bit scared if it does introduce some new bugs into a now-stable IcedTea6. > >>> Can anybody please review this fix? >>> >>> Here's ChangeLog entry: >>> >>> 2012-05-30 Pavel Tisnovsky >>> >>> * patches/coverage-table.patch: >>> PR1018: JVM fails due to SEGV during rendering some Unicode >>> characters >>> * Makefile.am: Updated. >>> * NEWS: Mention bugfix. >>> >>> (if this fix will be approved, I would like to backport it to >>> 6-1.10 >>> and 6-1.11 too - the >>> patch is the same for all branches) >>> >>> Thank you in advance, >>> Pavel >>> >>> >>> [Text Documents:coverage-table.patch] >>> >> -- >> Andrew :) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> PGP Key: 248BDC07 (https://keys.indymedia.org/) >> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 >> >> > From ahughes at redhat.com Wed May 30 09:05:16 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 12:05:16 -0400 (EDT) Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC63FED.2080907@redhat.com> Message-ID: <759bba40-a7ea-445f-899e-d531ac382ca3@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Andrew Hughes wrote: > > ----- Original Message ----- > >> ----- Original Message ----- > >>> Hi, > >>> > >>> I've created a fix for PR1018: JVM fails due to SEGV during > >>> rendering > >>> some Unicode characters. > >>> This fix is based on OpenJDK7 sources and it's been successfully > >>> tested against IcedTea6-head, > >>> IcedTea6-1.11 and IcedTea6-1.10. > >>> > >> You say this is based on "OpenJDK7 sources". What fix is this > >> from > >> and > >> why is there no bug reference in this patch? > > > > This appears to be a fragment of: > > yes, it is > > > > > changeset: 3068:1d4340015b85 > > user: srl > > date: Mon Dec 06 16:10:01 2010 -0800 > > summary: 6886358: layout code update > > > > Why not apply the whole fix? Including chunks like this makes > > things > > untraceable and harder to upstream. > > well this fix is 880 kilobytes long and it changes a lot of code. I'm > not fully > against to use the whole fix, but I'm a bit scared if it does > introduce > some new bugs into a now-stable IcedTea6. A large part of that is regenerating machine-generated substitution tables. There are also two new tests in there, and this code has been in 7 for nearly eighteen months. If there are issues, they may also have been fixed in 7. On the contrary, this subsection applied on its own has not been tested in the wild at all. Is this urgent for 6? Maybe we could compromise and put the full fix in HEAD, while putting your smaller patch in 1.10 & 1.11? > > > > >>> Can anybody please review this fix? > >>> > >>> Here's ChangeLog entry: > >>> > >>> 2012-05-30 Pavel Tisnovsky > >>> > >>> * patches/coverage-table.patch: > >>> PR1018: JVM fails due to SEGV during rendering some > >>> Unicode > >>> characters > >>> * Makefile.am: Updated. > >>> * NEWS: Mention bugfix. > >>> > >>> (if this fix will be approved, I would like to backport it to > >>> 6-1.10 > >>> and 6-1.11 too - the > >>> patch is the same for all branches) > >>> > >>> Thank you in advance, > >>> Pavel > >>> > >>> > >>> [Text Documents:coverage-table.patch] > >>> > >> -- > >> Andrew :) > >> > >> Free Java Software Engineer > >> Red Hat, Inc. (http://www.redhat.com) > >> > >> PGP Key: 248BDC07 (https://keys.indymedia.org/) > >> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > >> > >> > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Wed May 30 09:06:48 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 12:06:48 -0400 (EDT) Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <759bba40-a7ea-445f-899e-d531ac382ca3@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: ----- Original Message ----- > ----- Original Message ----- > > Andrew Hughes wrote: > > > ----- Original Message ----- > > >> ----- Original Message ----- > > >>> Hi, > > >>> > > >>> I've created a fix for PR1018: JVM fails due to SEGV during > > >>> rendering > > >>> some Unicode characters. > > >>> This fix is based on OpenJDK7 sources and it's been > > >>> successfully > > >>> tested against IcedTea6-head, > > >>> IcedTea6-1.11 and IcedTea6-1.10. > > >>> > > >> You say this is based on "OpenJDK7 sources". What fix is this > > >> from > > >> and > > >> why is there no bug reference in this patch? > > > > > > This appears to be a fragment of: > > > > yes, it is > > > > > > > > changeset: 3068:1d4340015b85 > > > user: srl > > > date: Mon Dec 06 16:10:01 2010 -0800 > > > summary: 6886358: layout code update > > > > > > Why not apply the whole fix? Including chunks like this makes > > > things > > > untraceable and harder to upstream. > > > > well this fix is 880 kilobytes long and it changes a lot of code. > > I'm > > not fully > > against to use the whole fix, but I'm a bit scared if it does > > introduce > > some new bugs into a now-stable IcedTea6. > > A large part of that is regenerating machine-generated substitution > tables. > There are also two new tests in there, and this code has been in 7 > for nearly > eighteen months. If there are issues, they may also have been fixed > in 7. > > On the contrary, this subsection applied on its own has not been > tested in the > wild at all. > > Is this urgent for 6? Maybe we could compromise and put the full fix > in HEAD, > while putting your smaller patch in 1.10 & 1.11? > Note that for the full patch, you also need to backport: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c892ca15ca52 as this introduces the line that causes the strict aliasing issue. > > > > > > > >>> Can anybody please review this fix? > > >>> > > >>> Here's ChangeLog entry: > > >>> > > >>> 2012-05-30 Pavel Tisnovsky > > >>> > > >>> * patches/coverage-table.patch: > > >>> PR1018: JVM fails due to SEGV during rendering some > > >>> Unicode > > >>> characters > > >>> * Makefile.am: Updated. > > >>> * NEWS: Mention bugfix. > > >>> > > >>> (if this fix will be approved, I would like to backport it to > > >>> 6-1.10 > > >>> and 6-1.11 too - the > > >>> patch is the same for all branches) > > >>> > > >>> Thank you in advance, > > >>> Pavel > > >>> > > >>> > > >>> [Text Documents:coverage-table.patch] > > >>> > > >> -- > > >> Andrew :) > > >> > > >> Free Java Software Engineer > > >> Red Hat, Inc. (http://www.redhat.com) > > >> > > >> PGP Key: 248BDC07 (https://keys.indymedia.org/) > > >> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > >> > > >> > > > > > > > > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ptisnovs at redhat.com Wed May 30 09:18:02 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 18:18:02 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: References: Message-ID: <4FC6483A.2030008@redhat.com> Andrew Hughes wrote: > > ----- Original Message ----- >> ----- Original Message ----- >>> Andrew Hughes wrote: >>>> ----- Original Message ----- >>>>> ----- Original Message ----- >>>>>> Hi, >>>>>> >>>>>> I've created a fix for PR1018: JVM fails due to SEGV during >>>>>> rendering >>>>>> some Unicode characters. >>>>>> This fix is based on OpenJDK7 sources and it's been >>>>>> successfully >>>>>> tested against IcedTea6-head, >>>>>> IcedTea6-1.11 and IcedTea6-1.10. >>>>>> >>>>> You say this is based on "OpenJDK7 sources". What fix is this >>>>> from >>>>> and >>>>> why is there no bug reference in this patch? >>>> This appears to be a fragment of: >>> yes, it is >>> >>>> changeset: 3068:1d4340015b85 >>>> user: srl >>>> date: Mon Dec 06 16:10:01 2010 -0800 >>>> summary: 6886358: layout code update >>>> >>>> Why not apply the whole fix? Including chunks like this makes >>>> things >>>> untraceable and harder to upstream. >>> well this fix is 880 kilobytes long and it changes a lot of code. >>> I'm >>> not fully >>> against to use the whole fix, but I'm a bit scared if it does >>> introduce >>> some new bugs into a now-stable IcedTea6. >> A large part of that is regenerating machine-generated substitution >> tables. >> There are also two new tests in there, and this code has been in 7 >> for nearly >> eighteen months. If there are issues, they may also have been fixed >> in 7. >> >> On the contrary, this subsection applied on its own has not been >> tested in the >> wild at all. >> >> Is this urgent for 6? Maybe we could compromise and put the full fix >> in HEAD, >> while putting your smaller patch in 1.10 & 1.11? >> > > Note that for the full patch, you also need to backport: > > http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c892ca15ca52 > > as this introduces the line that causes the strict aliasing issue. > Ah it's important, TY. Was this change backported to 7 too? >>>>>> Can anybody please review this fix? >>>>>> >>>>>> Here's ChangeLog entry: >>>>>> >>>>>> 2012-05-30 Pavel Tisnovsky >>>>>> >>>>>> * patches/coverage-table.patch: >>>>>> PR1018: JVM fails due to SEGV during rendering some >>>>>> Unicode >>>>>> characters >>>>>> * Makefile.am: Updated. >>>>>> * NEWS: Mention bugfix. >>>>>> >>>>>> (if this fix will be approved, I would like to backport it to >>>>>> 6-1.10 >>>>>> and 6-1.11 too - the >>>>>> patch is the same for all branches) >>>>>> >>>>>> Thank you in advance, >>>>>> Pavel >>>>>> >>>>>> >>>>>> [Text Documents:coverage-table.patch] >>>>>> >>>>> -- >>>>> Andrew :) >>>>> >>>>> Free Java Software Engineer >>>>> Red Hat, Inc. (http://www.redhat.com) >>>>> >>>>> PGP Key: 248BDC07 (https://keys.indymedia.org/) >>>>> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 >>>>> >>>>> >>> >> -- >> Andrew :) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> PGP Key: 248BDC07 (https://keys.indymedia.org/) >> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 >> >> > From jvanek at redhat.com Wed May 30 09:20:32 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 30 May 2012 18:20:32 +0200 Subject: [rfc][icedtea-web] reproducer for pr822 (I hope) Message-ID: <4FC648D0.20509@redhat.com> Hi! This reproducer is trying to lunch application/applet consisted from two jars, each signed by different signature. Applets are behaving correctly - are launched when packages are signed differently. jnlp application donot: a) when is included in jnlp, then it dies with "jars are not signed exception" b) when the is missing then restricted code is allowed (in case of same package it dies correctly with "different signatures for package" exception. I consider both a and b as incorrect, but we can live with b until a is fixed. So the last test method of both testcases should be @KnownToFail :) btw I'm not sure if this is representing pr822 but i guess it is. 8 new tests - two of them failing. Thanx in advice J. 2012-05-30 Jiri Vanek Added reproducer fro multiple signatures * Makefile.am: SIGNED_REPRODUCERS growth for signed2 directory * tests/jnlp_tests/signed2/MultipleSignaturesTest/*: test for launching application containing two signed - each by different certificate - jars and different signatures are applied on different packages * tests/jnlp_tests/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest.html: * tests/jnlp_tests/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest1.jnlp: * tests/jnlp_tests/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest1_requesting.jnlp * tests/jnlp_tests/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest2.jnlp: * tests/jnlp_tests/signed2/MultipleSignaturesTest/srcs/somecrazytestpackage/MultipleSignaturesTest.java: * tests/jnlp_tests/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java: * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/*: test for launching application containing two signed - each by different certificate - jars but different signatures are applied on same packages * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest1_SamePackage.jnlp: * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest1_SamePackage_requesting.jnlp * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest2_SamePackage.jnlp: * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest_SamePackage.html: * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/srcs/MultipleSignaturesTestSamePackage.java: * tests/jnlp_tests/signed2/MultipleSignaturesTestSamePackage/testcases/MultipleSignaturesTestTestsSamePackage.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: introduced VERBOSE_OPTION with "-verbose" value -------------- next part -------------- A non-text attachment was scrubbed... Name: MultipleSignaturesReprodcuer.diff Type: text/x-patch Size: 40246 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/7053f114/MultipleSignaturesReprodcuer.diff From aph at icedtea.classpath.org Wed May 30 09:22:21 2012 From: aph at icedtea.classpath.org (aph at icedtea.classpath.org) Date: Wed, 30 May 2012 16:22:21 +0000 Subject: /hg/release/icedtea7-forest-2.1/hotspot: 3 new changesets Message-ID: changeset 6a152e87cd76 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=6a152e87cd76 author: aph date: Tue May 29 10:11:11 2012 -0400 Phase 1 changeset a14598bd41e5 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=a14598bd41e5 author: aph date: Tue May 29 11:06:21 2012 -0400 Phase 2 changeset 1000c4de30f8 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=1000c4de30f8 author: aph date: Wed May 30 10:20:02 2012 -0400 Don't save locals at a return. diffstat: make/linux/makefiles/fastdebug.make | 2 +- make/linux/makefiles/gcc.make | 2 +- make/solaris/makefiles/gcc.make | 2 +- src/cpu/zero/vm/asm_helper.cpp | 11 + src/cpu/zero/vm/thumb2.cpp | 87 +++++++++---- src/os/linux/vm/os_linux.cpp | 7 +- src/share/vm/gc_implementation/shared/markSweep.cpp | 5 + src/share/vm/gc_implementation/shared/markSweep.inline.hpp | 6 + src/share/vm/interpreter/bytecodeInterpreter.cpp | 8 +- src/share/vm/runtime/frame.cpp | 3 + src/share/vm/runtime/vmThread.cpp | 35 +++++ 11 files changed, 132 insertions(+), 36 deletions(-) diffs (344 lines): diff -r 5b6a9a63a280 -r 1000c4de30f8 make/linux/makefiles/fastdebug.make --- a/make/linux/makefiles/fastdebug.make Mon May 28 08:48:42 2012 -0400 +++ b/make/linux/makefiles/fastdebug.make Wed May 30 10:20:02 2012 -0400 @@ -31,7 +31,7 @@ # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) ifeq ($(BUILDARCH), ia64) - # Bug in GCC, causes hang. -O1 will override the -O3 specified earlier + # Bug in GCC, causes hang. -O1 will override the -O0 specified earlier OPT_CFLAGS/callGenerator.o += -O1 OPT_CFLAGS/ciTypeFlow.o += -O1 OPT_CFLAGS/compile.o += -O1 diff -r 5b6a9a63a280 -r 1000c4de30f8 make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Mon May 28 08:48:42 2012 -0400 +++ b/make/linux/makefiles/gcc.make Wed May 30 10:20:02 2012 -0400 @@ -160,7 +160,7 @@ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) # The flags to use for an Optimized g++ build -OPT_CFLAGS += -O3 +OPT_CFLAGS += -O0 # Hotspot uses very unstrict aliasing turn this optimization off OPT_CFLAGS += -fno-strict-aliasing diff -r 5b6a9a63a280 -r 1000c4de30f8 make/solaris/makefiles/gcc.make --- a/make/solaris/makefiles/gcc.make Mon May 28 08:48:42 2012 -0400 +++ b/make/solaris/makefiles/gcc.make Wed May 30 10:20:02 2012 -0400 @@ -121,7 +121,7 @@ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) # The flags to use for an Optimized g++ build -OPT_CFLAGS += -O3 +OPT_CFLAGS += -O0 # Hotspot uses very unstrict aliasing turn this optimization off OPT_CFLAGS += -fno-strict-aliasing diff -r 5b6a9a63a280 -r 1000c4de30f8 src/cpu/zero/vm/asm_helper.cpp --- a/src/cpu/zero/vm/asm_helper.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/cpu/zero/vm/asm_helper.cpp Wed May 30 10:20:02 2012 -0400 @@ -403,6 +403,8 @@ return thread->pending_exception(); } +extern "C" void ps(); + extern "C" oop Helper_SafePoint(JavaThread *thread) { { @@ -412,6 +414,15 @@ return thread->pending_exception(); } +extern "C" oop Helper_SafePoint2(JavaThread *thread) +{ + { + HandleMarkCleaner __hmc(thread); + } + SafepointSynchronize::block(thread); + return thread->pending_exception(); +} + extern "C" void Helper_RaiseArrayBoundException(JavaThread *thread, int index) { char message[jintAsStringSize]; diff -r 5b6a9a63a280 -r 1000c4de30f8 src/cpu/zero/vm/thumb2.cpp --- a/src/cpu/zero/vm/thumb2.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/cpu/zero/vm/thumb2.cpp Wed May 30 10:20:02 2012 -0400 @@ -3168,6 +3168,8 @@ unsigned i; Reg r; + if (nregs == 0) + return; JASSERT(nregs > 0, "nregs must be > 0"); if (nregs == 1) { ldr_imm(codebuf, regs[0], Rstack, 4, 0, 1); @@ -3445,6 +3447,21 @@ jstack->depth = 0; } +// SAVE_STACK and RESTORE_STACK save the stack state so that it's +// possible to do a stack flush to memory and restore that stack state +// to the same registers. +#define SAVE_STACK(JSTACK) \ + unsigned saved_stack_elements[JSTACK->depth]; \ + unsigned saved_stack_depth; \ + memcpy(saved_stack_elements, JSTACK->stack, \ + JSTACK->depth * sizeof saved_stack_elements[0]); \ + saved_stack_depth = JSTACK->depth; +#define RESTORE_STACK(JSTACK, CODEBUF) \ + Thumb2_Pop_Multiple(CODEBUF, saved_stack_elements, saved_stack_depth); \ + memcpy(JSTACK->stack, saved_stack_elements, \ + JSTACK->depth * sizeof saved_stack_elements[0]); \ + JSTACK->depth = saved_stack_depth; + // Call this when we are about to corrupt a local // The local may already be on the stack // For example @@ -4164,7 +4181,6 @@ void Thumb2_Safepoint(Thumb2_Info *jinfo, int stackdepth, int bci, int offset) { - Thumb2_Flush(jinfo); // normal case: read the polling page and branch to skip // the safepoint test // abnormal case: read the polling page, trap to handler @@ -4203,6 +4219,8 @@ // // n.b. for a return there is no need save or restore locals + bool is_return = offset == 0; // This is some kind of return bytecode + int r_tmp = Thumb2_Tmp(jinfo, 0); unsigned dest; if (offset < 0) { @@ -4239,33 +4257,34 @@ // now write a magic word after the branch so the signal handler can // test that a polling page read is kosher out_16(jinfo->codebuf, THUMB2_POLLING_PAGE_MAGIC); - // now the safepoint polling code itself - // n.b. no need for save or restore of locals at return i.e. when offset == 0 - //if (offset != 0) { - Thumb2_save_locals(jinfo, stackdepth); - //} - - // The frame walking code used by the garbage collector - // (frame::interpreter_frame_tos_address()) assumes that the stack - // pointer points one word below the top item on the stack, so we - // have to adjust the SP saved in istate accordingly. If we don't, - // the value on TOS won't be seen by the GC and we will crash later. - sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); - store_istate(jinfo, ARM_R0, ISTATE_STACK, stackdepth); - - mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); - add_imm(jinfo->codebuf, ARM_R2, ISTATE_REG(jinfo), - ISTATE_OFFSET(jinfo, stackdepth, 0)); - bl(jinfo->codebuf, handlers[H_SAFEPOINT]); - //if (offset != 0) { - Thumb2_restore_locals(jinfo, stackdepth); - //} - if (offset < 0) { - // needs another unconditional backward branch - branch_uncond(jinfo->codebuf, dest); - } else { - // patch in the forward skip branch - branch_narrow_patch(jinfo->codebuf, read_loc + 2); + + { + // Flush the stack to memory and save its register state. + SAVE_STACK(jinfo->jstack); + Thumb2_Flush(jinfo); + + // We don't save or restore locals if we're returning. + if (! is_return) + Thumb2_save_locals(jinfo, stackdepth); + + // now the safepoint polling code itself + mov_imm(jinfo->codebuf, ARM_R1, bci+CONSTMETHOD_CODEOFFSET); + add_imm(jinfo->codebuf, ARM_R2, ISTATE_REG(jinfo), + ISTATE_OFFSET(jinfo, stackdepth, 0)); + bl(jinfo->codebuf, handlers[H_SAFEPOINT]); + + if (! is_return) + Thumb2_restore_locals(jinfo, stackdepth); + + RESTORE_STACK(jinfo->jstack, jinfo->codebuf); + + if (offset < 0) { + // needs another unconditional backward branch + branch_uncond(jinfo->codebuf, dest); + } else { + // patch in the forward skip branch + branch_narrow_patch(jinfo->codebuf, read_loc + 2); + } } } @@ -4467,7 +4486,7 @@ branch_uncond(jinfo->codebuf, ret_idx); return; } - if (OSPACE) jinfo->compiled_return = jinfo->codebuf->idx * 2; + jinfo->compiled_return = jinfo->codebuf->idx * 2; } else { if (opcode == opc_lreturn || opcode == opc_dreturn) { Thumb2_Fill(jinfo, 2); @@ -4482,7 +4501,7 @@ branch_uncond(jinfo->codebuf, ret_idx); return; } - if (OSPACE) jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; + jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; } } @@ -7847,6 +7866,14 @@ handlers[H_SAFEPOINT] = out_pos(&codebuf); stm(&codebuf, (1<_bcp for the GC // bci+CONSTMETHOD_CODEOFFSET is passed in ARM_R1 // istate is passed in ARM_R2 diff -r 5b6a9a63a280 -r 1000c4de30f8 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/os/linux/vm/os_linux.cpp Wed May 30 10:20:02 2012 -0400 @@ -4215,8 +4215,11 @@ Linux::fast_thread_clock_init(); // Allocate a single page and mark it as readable for safepoint polling - address polling_page = (address) ::mmap(NULL, Linux::page_size(), PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); - guarantee( polling_page != MAP_FAILED, "os::init_2: failed to allocate polling page" ); + julong foo = (julong) ::mmap(NULL, 65536, PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0); + address polling_page = (address)(foo & -65536L); + if ((julong)polling_page < foo) + polling_page += 65536; os::set_polling_page( polling_page ); diff -r 5b6a9a63a280 -r 1000c4de30f8 src/share/vm/gc_implementation/shared/markSweep.cpp --- a/src/share/vm/gc_implementation/shared/markSweep.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/share/vm/gc_implementation/shared/markSweep.cpp Wed May 30 10:20:02 2012 -0400 @@ -30,6 +30,11 @@ #include "oops/objArrayKlass.inline.hpp" #include "oops/oop.inline.hpp" + +void *arse[2]; + +void sa(void*a, void *b) { arse[0] = a; arse [1] = b; } + Stack MarkSweep::_marking_stack; Stack MarkSweep::_revisit_mdo_stack; Stack MarkSweep::_revisit_klass_stack; diff -r 5b6a9a63a280 -r 1000c4de30f8 src/share/vm/gc_implementation/shared/markSweep.inline.hpp --- a/src/share/vm/gc_implementation/shared/markSweep.inline.hpp Mon May 28 08:48:42 2012 -0400 +++ b/src/share/vm/gc_implementation/shared/markSweep.inline.hpp Wed May 30 10:20:02 2012 -0400 @@ -43,9 +43,15 @@ } } +extern "C" void *arse[2]; + +extern "C" void sa(void*a, void *b); + template inline void MarkSweep::follow_root(T* p) { assert(!Universe::heap()->is_in_reserved(p), "roots shouldn't be things within the heap"); + if (arse[0] <= (void *)p && arse[1] >= (void *)p) + fprintf(stderr, "Whip\n"); #ifdef VALIDATE_MARK_SWEEP if (ValidateMarkSweep) { guarantee(!_root_refs_stack->contains(p), "should only be in here once"); diff -r 5b6a9a63a280 -r 1000c4de30f8 src/share/vm/interpreter/bytecodeInterpreter.cpp --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed May 30 10:20:02 2012 -0400 @@ -1507,7 +1507,13 @@ CASE(_freturn): { // Allow a safepoint before returning to frame manager. - SAFEPOINT; + if ( SafepointSynchronize::is_synchronizing()) { + { + /* zap freed handles rather than GC'ing them */ + HandleMarkCleaner __hmc(THREAD); + } + CALL_VM(SafepointSynchronize::block(THREAD), handle_exception); + } goto handle_return; } diff -r 5b6a9a63a280 -r 1000c4de30f8 src/share/vm/runtime/frame.cpp --- a/src/share/vm/runtime/frame.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/share/vm/runtime/frame.cpp Wed May 30 10:20:02 2012 -0400 @@ -785,6 +785,9 @@ } if (in_stack) { _f->do_oop(addr); + } else { + fprintf(stderr, "Arse! %p\n", + _fr->interpreter_frame_tos_address()); } } } diff -r 5b6a9a63a280 -r 1000c4de30f8 src/share/vm/runtime/vmThread.cpp --- a/src/share/vm/runtime/vmThread.cpp Mon May 28 08:48:42 2012 -0400 +++ b/src/share/vm/runtime/vmThread.cpp Wed May 30 10:20:02 2012 -0400 @@ -245,6 +245,39 @@ } } +class BangerThread : NamedThread +{ +public: + + static BangerThread *the_thread; + + static void create() { + the_thread = new BangerThread(); + os::create_thread (the_thread, os::watcher_thread); + Thread::start(the_thread); + } + + BangerThread() : NamedThread() { + set_name("banger"); + } + + void run() { + struct timespec req; + req.tv_nsec = 0.5e9; + req.tv_sec = 0; + + for (;;) + { + nanosleep(&req, NULL); + // VM_ForceSafepoint op; + // VMThread::execute(&op); + Universe::heap()->collect(GCCause::_java_lang_system_gc); + } + } +}; + +BangerThread *BangerThread::the_thread; + void VMThread::run() { assert(this == vm_thread(), "check"); @@ -269,6 +302,8 @@ // possible to set the VM thread priority higher than any Java thread. os::set_native_priority( this, prio ); + BangerThread::create(); + // Wait for VM_Operations until termination this->loop(); From ptisnovs at redhat.com Wed May 30 09:16:44 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 30 May 2012 18:16:44 +0200 Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <759bba40-a7ea-445f-899e-d531ac382ca3@zmail17.collab.prod.int.phx2.redhat.com> References: <759bba40-a7ea-445f-899e-d531ac382ca3@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FC647EC.2000205@redhat.com> Andrew Hughes wrote: > ----- Original Message ----- >> Andrew Hughes wrote: >>> ----- Original Message ----- >>>> ----- Original Message ----- >>>>> Hi, >>>>> >>>>> I've created a fix for PR1018: JVM fails due to SEGV during >>>>> rendering >>>>> some Unicode characters. >>>>> This fix is based on OpenJDK7 sources and it's been successfully >>>>> tested against IcedTea6-head, >>>>> IcedTea6-1.11 and IcedTea6-1.10. >>>>> >>>> You say this is based on "OpenJDK7 sources". What fix is this >>>> from >>>> and >>>> why is there no bug reference in this patch? >>> This appears to be a fragment of: >> yes, it is >> >>> changeset: 3068:1d4340015b85 >>> user: srl >>> date: Mon Dec 06 16:10:01 2010 -0800 >>> summary: 6886358: layout code update >>> >>> Why not apply the whole fix? Including chunks like this makes >>> things >>> untraceable and harder to upstream. >> well this fix is 880 kilobytes long and it changes a lot of code. I'm >> not fully >> against to use the whole fix, but I'm a bit scared if it does >> introduce >> some new bugs into a now-stable IcedTea6. > > A large part of that is regenerating machine-generated substitution tables. > There are also two new tests in there, and this code has been in 7 for nearly > eighteen months. If there are issues, they may also have been fixed in 7. > > On the contrary, this subsection applied on its own has not been tested in the > wild at all. > > Is this urgent for 6? Maybe we could compromise and put the full fix in HEAD, > while putting your smaller patch in 1.10 & 1.11? Yes I think this SEGV is urgent (some GUI app could crash when it receives bad input - file|text dialog|CLI param etc.) and I also think that the solution you suggested is fine - to push the small patch to 1.10 & 1.11 (with TODO for me: run all tests against it ;) and prepare "full" patch for HEAD. Cheers, Pavel > >>>>> Can anybody please review this fix? >>>>> >>>>> Here's ChangeLog entry: >>>>> >>>>> 2012-05-30 Pavel Tisnovsky >>>>> >>>>> * patches/coverage-table.patch: >>>>> PR1018: JVM fails due to SEGV during rendering some >>>>> Unicode >>>>> characters >>>>> * Makefile.am: Updated. >>>>> * NEWS: Mention bugfix. >>>>> >>>>> (if this fix will be approved, I would like to backport it to >>>>> 6-1.10 >>>>> and 6-1.11 too - the >>>>> patch is the same for all branches) >>>>> >>>>> Thank you in advance, >>>>> Pavel >>>>> >>>>> >>>>> [Text Documents:coverage-table.patch] >>>>> >>>> -- >>>> Andrew :) >>>> >>>> Free Java Software Engineer >>>> Red Hat, Inc. (http://www.redhat.com) >>>> >>>> PGP Key: 248BDC07 (https://keys.indymedia.org/) >>>> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 >>>> >>>> >> > From ahughes at redhat.com Wed May 30 10:19:36 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 13:19:36 -0400 (EDT) Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: <4FC6483A.2030008@redhat.com> Message-ID: ----- Original Message ----- > Andrew Hughes wrote: > > > > ----- Original Message ----- > >> ----- Original Message ----- > >>> Andrew Hughes wrote: > >>>> ----- Original Message ----- > >>>>> ----- Original Message ----- > >>>>>> Hi, > >>>>>> > >>>>>> I've created a fix for PR1018: JVM fails due to SEGV during > >>>>>> rendering > >>>>>> some Unicode characters. > >>>>>> This fix is based on OpenJDK7 sources and it's been > >>>>>> successfully > >>>>>> tested against IcedTea6-head, > >>>>>> IcedTea6-1.11 and IcedTea6-1.10. > >>>>>> > >>>>> You say this is based on "OpenJDK7 sources". What fix is this > >>>>> from > >>>>> and > >>>>> why is there no bug reference in this patch? > >>>> This appears to be a fragment of: > >>> yes, it is > >>> > >>>> changeset: 3068:1d4340015b85 > >>>> user: srl > >>>> date: Mon Dec 06 16:10:01 2010 -0800 > >>>> summary: 6886358: layout code update > >>>> > >>>> Why not apply the whole fix? Including chunks like this makes > >>>> things > >>>> untraceable and harder to upstream. > >>> well this fix is 880 kilobytes long and it changes a lot of code. > >>> I'm > >>> not fully > >>> against to use the whole fix, but I'm a bit scared if it does > >>> introduce > >>> some new bugs into a now-stable IcedTea6. > >> A large part of that is regenerating machine-generated > >> substitution > >> tables. > >> There are also two new tests in there, and this code has been in 7 > >> for nearly > >> eighteen months. If there are issues, they may also have been > >> fixed > >> in 7. > >> > >> On the contrary, this subsection applied on its own has not been > >> tested in the > >> wild at all. > >> > >> Is this urgent for 6? Maybe we could compromise and put the full > >> fix > >> in HEAD, > >> while putting your smaller patch in 1.10 & 1.11? > >> > > > > Note that for the full patch, you also need to backport: > > > > http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c892ca15ca52 > > > > as this introduces the line that causes the strict aliasing issue. > > > Ah it's important, TY. Was this change backported to 7 too? > It went into IcedTea7 first. Then it's taken a week to get it into 8 (check the timestamp...). Next target is 7u. > >>>>>> Can anybody please review this fix? > >>>>>> > >>>>>> Here's ChangeLog entry: > >>>>>> > >>>>>> 2012-05-30 Pavel Tisnovsky > >>>>>> > >>>>>> * patches/coverage-table.patch: > >>>>>> PR1018: JVM fails due to SEGV during rendering some > >>>>>> Unicode > >>>>>> characters > >>>>>> * Makefile.am: Updated. > >>>>>> * NEWS: Mention bugfix. > >>>>>> > >>>>>> (if this fix will be approved, I would like to backport it to > >>>>>> 6-1.10 > >>>>>> and 6-1.11 too - the > >>>>>> patch is the same for all branches) > >>>>>> > >>>>>> Thank you in advance, > >>>>>> Pavel > >>>>>> > >>>>>> > >>>>>> [Text Documents:coverage-table.patch] > >>>>>> > >>>>> -- > >>>>> Andrew :) > >>>>> > >>>>> Free Java Software Engineer > >>>>> Red Hat, Inc. (http://www.redhat.com) > >>>>> > >>>>> PGP Key: 248BDC07 (https://keys.indymedia.org/) > >>>>> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B > >>>>> DC07 > >>>>> > >>>>> > >>> > >> -- > >> Andrew :) > >> > >> Free Java Software Engineer > >> Red Hat, Inc. (http://www.redhat.com) > >> > >> PGP Key: 248BDC07 (https://keys.indymedia.org/) > >> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > >> > >> > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Wed May 30 10:22:43 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 30 May 2012 13:22:43 -0400 (EDT) Subject: Reviewer needed - fix for PR1018: JVM fails due to SEGV during rendering some Unicode characters In-Reply-To: Message-ID: ----- Original Message ----- > ----- Original Message ----- > > Andrew Hughes wrote: > > > > > > ----- Original Message ----- > > >> ----- Original Message ----- > > >>> Andrew Hughes wrote: > > >>>> ----- Original Message ----- > > >>>>> ----- Original Message ----- > > >>>>>> Hi, > > >>>>>> > > >>>>>> I've created a fix for PR1018: JVM fails due to SEGV during > > >>>>>> rendering > > >>>>>> some Unicode characters. > > >>>>>> This fix is based on OpenJDK7 sources and it's been > > >>>>>> successfully > > >>>>>> tested against IcedTea6-head, > > >>>>>> IcedTea6-1.11 and IcedTea6-1.10. > > >>>>>> > > >>>>> You say this is based on "OpenJDK7 sources". What fix is > > >>>>> this > > >>>>> from > > >>>>> and > > >>>>> why is there no bug reference in this patch? > > >>>> This appears to be a fragment of: > > >>> yes, it is > > >>> > > >>>> changeset: 3068:1d4340015b85 > > >>>> user: srl > > >>>> date: Mon Dec 06 16:10:01 2010 -0800 > > >>>> summary: 6886358: layout code update > > >>>> > > >>>> Why not apply the whole fix? Including chunks like this makes > > >>>> things > > >>>> untraceable and harder to upstream. > > >>> well this fix is 880 kilobytes long and it changes a lot of > > >>> code. > > >>> I'm > > >>> not fully > > >>> against to use the whole fix, but I'm a bit scared if it does > > >>> introduce > > >>> some new bugs into a now-stable IcedTea6. > > >> A large part of that is regenerating machine-generated > > >> substitution > > >> tables. > > >> There are also two new tests in there, and this code has been in > > >> 7 > > >> for nearly > > >> eighteen months. If there are issues, they may also have been > > >> fixed > > >> in 7. > > >> > > >> On the contrary, this subsection applied on its own has not been > > >> tested in the > > >> wild at all. > > >> > > >> Is this urgent for 6? Maybe we could compromise and put the > > >> full > > >> fix > > >> in HEAD, > > >> while putting your smaller patch in 1.10 & 1.11? > > >> > > > > > > Note that for the full patch, you also need to backport: > > > > > > http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c892ca15ca52 > > > > > > as this introduces the line that causes the strict aliasing > > > issue. > > > > > Ah it's important, TY. Was this change backported to 7 too? > > > > It went into IcedTea7 first. Then it's taken a week to get it into 8 > (check the timestamp...). Next target is 7u. Oh, FYI it's in the 2.2 branch too. Jiri approved it. > > > >>>>>> Can anybody please review this fix? > > >>>>>> > > >>>>>> Here's ChangeLog entry: > > >>>>>> > > >>>>>> 2012-05-30 Pavel Tisnovsky > > >>>>>> > > >>>>>> * patches/coverage-table.patch: > > >>>>>> PR1018: JVM fails due to SEGV during rendering some > > >>>>>> Unicode > > >>>>>> characters > > >>>>>> * Makefile.am: Updated. > > >>>>>> * NEWS: Mention bugfix. > > >>>>>> > > >>>>>> (if this fix will be approved, I would like to backport it > > >>>>>> to > > >>>>>> 6-1.10 > > >>>>>> and 6-1.11 too - the > > >>>>>> patch is the same for all branches) > > >>>>>> > > >>>>>> Thank you in advance, > > >>>>>> Pavel > > >>>>>> > > >>>>>> > > >>>>>> [Text Documents:coverage-table.patch] -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ddadacha at redhat.com Wed May 30 12:01:48 2012 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 30 May 2012 15:01:48 -0400 Subject: [RFC][icedtea-web] Fix handling absolute paths passed into jnlp_href's value. In-Reply-To: <4F913542.5050500@redhat.com> References: <4F5E69D6.9060401@redhat.com> <4F913542.5050500@redhat.com> Message-ID: <4FC66E9C.2080500@redhat.com> On 20/04/12 06:06 AM, Jiri Vanek wrote: > On 03/12/2012 10:25 PM, Danesh Dadachanji wrote: >> Hi, >> >> The Knuddels test applet[1] uses an absolute path to the JNLP when using jnlp_href. Right now we >> assume it's a relative path and take the document base (i.e. the URL of the dir in which HTML file >> is located) concatenated with the value of jnlp_href for the new URL. >> >> The attached patch updates PluginBridge to handle absolute paths to the JNLP. I simply used the >> document base as the context to create a new URL. Based on the javadoc for this, if jnlp_href's >> value is not a properly formed URL, it will default to using the document base's URL as the base URL >> and append the relative part (value of jnlp_href) to the end of it. >> >> The URL constructor also handles relative paths so if codebase="../example.jnlp", the constructor >> will act accordingly and remove a dir if possible. >> >> +2012-03-09 Danesh Dadachanji >> + >> + Fix to handle absolute paths passed into jnlp_href's value. >> + * netx/net/sourceforge/jnlp/PluginBridge.java >> + (PluginBridge): Use the document base as a context for the URL >> + being initialized by jnlp_href's value. This will automatically handle >> + relative and absolute URL paths. >> + >> >> Any comments? Can I push this to HEAD? >> >> NOTE: [1] still won't work because it has invalid XML. However you should see that it can now find >> the JNLP at the correct URL as opposed to >> >> java.io.IOException: http://chat.knuddels.de/http://www.knuddels.de/applet.jnlp[...] >> >> Regards, >> Danesh >> >> [1] www.knuddels.de:8080/index.html?v=90aez&c=7 > > This looks ok to me. Can you add unit tests please? > > (feel free to some refactoring if necessary for testing purposes) > Attached a new patch with the refactored code and a unit test. I added a static method that just wraps around the new URL assignment. I couldn't figure out how to test PluginBridge directly without having it open an actual JNLP file. :/ I made it static to make the unit test cleaner (did not have to deal with creating a new PluginBridge var etc) since it is quite the simple method and really only serves for unit testing purposes. If others prefer, I can make it non-static. ChangeLog: +2012-05-30 Danesh Dadachanji + + Fix to handle absolute paths passed into jnlp_href's value. + * netx/net/sourceforge/jnlp/PluginBridge.java + (PluginBridge): jnlp_href is examined for an absolute or relative path. + (getEvaluatedJNLPHref): New static method to construct URL to the JNLP. + Examines the jnlp_href value for an absolute, uses codebase + as a context if it is relative. + * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: + New class to unit test getEvaluatedJNLPHref. + + Thanks for the review! Cheers, Danesh -------------- next part -------------- A non-text attachment was scrubbed... Name: absolute-url-jnlp_href-02.patch Type: text/x-patch Size: 2735 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/7ea61013/absolute-url-jnlp_href-02.patch From adomurad at redhat.com Wed May 30 13:57:05 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 30 May 2012 16:57:05 -0400 Subject: [rfc][icedtea-web] Tiny patch to make last param in applet tag take effect, was first Message-ID: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> Tiny patch to make handling of applet tags more like Oracle's plugin. This makes our plugin take into account the last tag with the same 'name'. It was taking into account the first such tag. 2012-05-30 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (parse) Small change to have last tag to take effect. -------------- next part -------------- A non-text attachment was scrubbed... Name: take-last-param.patch Type: text/x-patch Size: 690 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120530/58fa9fa0/take-last-param.patch From andrew at icedtea.classpath.org Wed May 30 14:01:40 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:01:40 +0000 Subject: /hg/icedtea7: 2 new changesets Message-ID: changeset fb4e64ae06a3 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=fb4e64ae06a3 author: Andrew John Hughes date: Tue May 29 14:16:20 2012 +0100 Don't add a suffix for building the default, IcedTea. 2012-05-25 Andrew John Hughes * Makefile.am: (versioning): Don't add a suffix if building the default project, 'icedtea'. changeset 6fde83944407 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=6fde83944407 author: Andrew John Hughes date: Wed May 30 22:01:15 2012 +0100 Fix make distcheck broken by addition of SystemTap tests. 2012-05-30 Andrew John Hughes * Makefile.am: (EXTRA_DIST): Add test/tapset. (clean-tests): Add clean-jtreg-reports. (clean-local): Remove clean-jtreg-reports. (clean-jtreg): Remove test/jtreg if empty. diffstat: ChangeLog | 14 ++++++++++++++ Makefile.am | 13 +++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diffs (71 lines): diff -r 2c3c929e038c -r 6fde83944407 ChangeLog --- a/ChangeLog Fri May 25 14:04:55 2012 +0100 +++ b/ChangeLog Wed May 30 22:01:15 2012 +0100 @@ -1,3 +1,17 @@ +2012-05-30 Andrew John Hughes + + * Makefile.am: + (EXTRA_DIST): Add test/tapset. + (clean-tests): Add clean-jtreg-reports. + (clean-local): Remove clean-jtreg-reports. + (clean-jtreg): Remove test/jtreg if empty. + +2012-05-25 Andrew John Hughes + + * Makefile.am: + (versioning): Don't add a suffix if building + the default project, 'icedtea'. + 2012-05-25 Andrew John Hughes * Makefile.am: diff -r 2c3c929e038c -r 6fde83944407 Makefile.am --- a/Makefile.am Fri May 25 14:04:55 2012 +0100 +++ b/Makefile.am Wed May 30 22:01:15 2012 +0100 @@ -724,7 +724,7 @@ scripts/jni_desc \ rewriter/agpl-3.0.txt \ $(REWRITER_SRCS) \ - THANKYOU + THANKYOU test/tapset # Top-Level Targets # ================= @@ -733,14 +733,14 @@ check-local: jtregcheck check-tapset -clean-tests: clean-jtreg clean-tapset-report +clean-tests: clean-jtreg clean-tapset-report clean-jtreg-reports if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ if [ -e test ] ; then \ rmdir test ; \ fi \ fi -clean-local: clean-tests clean-jtreg-reports clean-pulse-java \ +clean-local: clean-tests clean-pulse-java \ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ @@ -1435,7 +1435,7 @@ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; endif - if test x"$(PROJECT_NAME)" != "xjdk7"; then \ + if test x"$(PROJECT_NAME)" != "xjdk7" && test x"$(PROJECT_NAME)" != "xicedtea"; then \ proj_suffix="-$(PROJECT_NAME)"; \ fi ; \ if test x"$(VERSION_SUFFIX)" != "x"; then \ @@ -2228,6 +2228,11 @@ clean-jtreg: rm -rf test/jtreg/classes + if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ + if [ -e test/jtreg ] ; then \ + rmdir test/jtreg ; \ + fi ; \ + fi rm -f test/jtreg.jar rm -f stamps/jtreg.stamp From dbhole at redhat.com Wed May 30 14:03:12 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 30 May 2012 17:03:12 -0400 Subject: [rfc][icedtea-web] Tiny patch to make last param in applet tag take effect, was first In-Reply-To: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> References: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <20120530210312.GI14732@redhat.com> * Adam Domurad [2012-05-30 16:59]: > Tiny patch to make handling of applet tags more like Oracle's plugin. > This makes our plugin take into account the last tag with > the same 'name'. It was taking into account the first such tag. > +1 as it mimics behavior of the proprietary plug-in which is the standard. OK for HEAD. Cheers, Deepak > 2012-05-30 Adam Domurad > > * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > (parse) Small change to have last tag to > take effect. > diff --git a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > @@ -1923,9 +1923,6 @@ public class PluginAppletViewer extends > Hashtable t = scanTag(c, in); > String att = t.get("name"); > > - if (atts.containsKey(att)) > - continue; > - > if (att == null) { > statusMsgStream.println(requiresNameWarning); > } else { From omajid at redhat.com Wed May 30 14:04:28 2012 From: omajid at redhat.com (Omair Majid) Date: Wed, 30 May 2012 17:04:28 -0400 Subject: [rfc][icedtea-web] Tiny patch to make last param in applet tag take effect, was first In-Reply-To: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> References: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> Message-ID: <4FC68B5C.8040106@redhat.com> On 05/30/2012 04:57 PM, Adam Domurad wrote: > Tiny patch to make handling of applet tags more like Oracle's plugin. > This makes our plugin take into account the last tag with > the same 'name'. It was taking into account the first such tag. > > 2012-05-30 Adam Domurad > > * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > (parse) Small change to have last tag to > take effect. Looks fine to me. Cheers, Omair From omajid at redhat.com Wed May 30 14:14:57 2012 From: omajid at redhat.com (Omair Majid) Date: Wed, 30 May 2012 17:14:57 -0400 Subject: [rfc][icedtea-web] Tiny patch to make last param in applet tag take effect, was first In-Reply-To: <4FC68B5C.8040106@redhat.com> References: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> <4FC68B5C.8040106@redhat.com> Message-ID: <4FC68DD1.6050701@redhat.com> On 05/30/2012 05:04 PM, Omair Majid wrote: > On 05/30/2012 04:57 PM, Adam Domurad wrote: >> Tiny patch to make handling of applet tags more like Oracle's plugin. >> This makes our plugin take into account the last tag with >> the same 'name'. It was taking into account the first such tag. >> >> 2012-05-30 Adam Domurad >> >> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: >> (parse) Small change to have last tag to >> take effect. > Btw, I would strongly encourage you to write a reproducer (or unit) test for this. Cheers, Omair From andrew at icedtea.classpath.org Wed May 30 14:19:57 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:19:57 +0000 Subject: /hg/release/icedtea7-forest-2.2: Added tag icedtea-2.2 for chang... Message-ID: changeset 49a6fc8f712f in /hg/release/icedtea7-forest-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2?cmd=changeset;node=49a6fc8f712f author: andrew date: Wed May 30 22:19:01 2012 +0100 Added tag icedtea-2.2 for changeset 8beaec91886d diffstat: .hgtags | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diffs (11 lines): diff -r 8beaec91886d -r 49a6fc8f712f .hgtags --- a/.hgtags Wed May 02 13:12:22 2012 -0400 +++ b/.hgtags Wed May 30 22:19:01 2012 +0100 @@ -172,4 +172,5 @@ 212bad4649eff2fbdfcd397afcb0d1e3d566b41a jdk7u4-b19 1eae71787c3343d7f492c075f94d4010abdd4d5c jdk7u4-b20 f3f02c7d86c7b6da7596ddacbba04906cd02ab0f jdk7u4-b30 -d738383dd287f0bdad23934c43674a1170dad993 jdk7u4-b21 \ No newline at end of file +d738383dd287f0bdad23934c43674a1170dad993 jdk7u4-b21 +8beaec91886d1288117df129aad19d9690c0c852 icedtea-2.2 From andrew at icedtea.classpath.org Wed May 30 14:20:01 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:20:01 +0000 Subject: /hg/release/icedtea7-forest-2.2/corba: Added tag icedtea-2.2 for... Message-ID: changeset 3231f3e9c517 in /hg/release/icedtea7-forest-2.2/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=3231f3e9c517 author: andrew date: Wed May 30 22:19:03 2012 +0100 Added tag icedtea-2.2 for changeset b165245a9c91 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r b165245a9c91 -r 3231f3e9c517 .hgtags --- a/.hgtags Wed May 02 13:12:29 2012 -0400 +++ b/.hgtags Wed May 30 22:19:03 2012 +0100 @@ -173,3 +173,4 @@ 81a59f2d7ea4e7a880041eaa4fa4e9d2518ed35b jdk7u4-b20 91cf6d5b184c696382fd50ad76ca1d2bfd962e91 jdk7u4-b30 b8560e92b68c2409fa46cd784c87e7cb5a043e59 jdk7u4-b21 +b165245a9c918925d624b79c216425a1c601082e icedtea-2.2 From andrew at icedtea.classpath.org Wed May 30 14:20:07 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:20:07 +0000 Subject: /hg/release/icedtea7-forest-2.2/jaxp: Added tag icedtea-2.2 for ... Message-ID: changeset 0036fe6fe7dc in /hg/release/icedtea7-forest-2.2/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxp?cmd=changeset;node=0036fe6fe7dc author: andrew date: Wed May 30 22:19:06 2012 +0100 Added tag icedtea-2.2 for changeset a98d6a2f14a1 diffstat: .hgtags | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diffs (11 lines): diff -r a98d6a2f14a1 -r 0036fe6fe7dc .hgtags --- a/.hgtags Wed May 02 13:12:40 2012 -0400 +++ b/.hgtags Wed May 30 22:19:06 2012 +0100 @@ -172,4 +172,5 @@ eb1f8bea2e93a498a9b9f42d33efad564d960407 jdk7u4-b19 b08fa5f665726f578674c2d93b21b37a4330b16f jdk7u4-b20 501dd924118687733a875bdbebfba3f98ca38a6c jdk7u4-b30 -a90108a5e1612782c4ab49a3e7de422cce7280d8 jdk7u4-b21 \ No newline at end of file +a90108a5e1612782c4ab49a3e7de422cce7280d8 jdk7u4-b21 +a98d6a2f14a13957841d9836711d5b35ca3146af icedtea-2.2 From andrew at icedtea.classpath.org Wed May 30 14:20:11 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:20:11 +0000 Subject: /hg/release/icedtea7-forest-2.2/jaxws: Added tag icedtea-2.2 for... Message-ID: changeset abfb890c262a in /hg/release/icedtea7-forest-2.2/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jaxws?cmd=changeset;node=abfb890c262a author: andrew date: Wed May 30 22:19:10 2012 +0100 Added tag icedtea-2.2 for changeset 78ae35b1ed35 diffstat: .hgtags | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diffs (11 lines): diff -r 78ae35b1ed35 -r abfb890c262a .hgtags --- a/.hgtags Wed May 02 13:15:42 2012 -0400 +++ b/.hgtags Wed May 30 22:19:10 2012 +0100 @@ -172,4 +172,5 @@ c2af5c42dc5e8d5c2870ec3df00f39d9ee379398 jdk7u4-b19 ee1f14434585a69539d7d56cc68b73992bad90c6 jdk7u4-b20 0eb54a680b09d7033223db125a804bfdb1289687 jdk7u4-b30 -38baffe9be463b5a750623c892fb942528e10a43 jdk7u4-b21 \ No newline at end of file +38baffe9be463b5a750623c892fb942528e10a43 jdk7u4-b21 +78ae35b1ed35a192b1bb15974aab9551c44bf713 icedtea-2.2 From andrew at icedtea.classpath.org Wed May 30 14:20:16 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:20:16 +0000 Subject: /hg/release/icedtea7-forest-2.2/langtools: Added tag icedtea-2.2... Message-ID: changeset f855bdb37537 in /hg/release/icedtea7-forest-2.2/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/langtools?cmd=changeset;node=f855bdb37537 author: andrew date: Wed May 30 22:19:15 2012 +0100 Added tag icedtea-2.2 for changeset 2176128e2f57 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 2176128e2f57 -r f855bdb37537 .hgtags --- a/.hgtags Wed May 02 13:17:23 2012 -0400 +++ b/.hgtags Wed May 30 22:19:15 2012 +0100 @@ -174,3 +174,4 @@ 83b2485f2acb254c5173979452c31bfe7b8f3b94 jdk7u4-b20 463face16af6cde12dde0be11b22db63d3eb210e jdk7u4-b30 a7e6a43c5e3732f539ed0e92701c9011b678c6f1 jdk7u4-b21 +2176128e2f5733e233aa6502bca1843eaaff7ac5 icedtea-2.2 From andrew at icedtea.classpath.org Wed May 30 14:20:23 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:20:23 +0000 Subject: /hg/release/icedtea7-forest-2.2/hotspot: Added tag icedtea-2.2 f... Message-ID: changeset bfe5efd70bce in /hg/release/icedtea7-forest-2.2/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/hotspot?cmd=changeset;node=bfe5efd70bce author: andrew date: Wed May 30 22:19:21 2012 +0100 Added tag icedtea-2.2 for changeset b11130d646c2 diffstat: .hgtags | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diffs (11 lines): diff -r b11130d646c2 -r bfe5efd70bce .hgtags --- a/.hgtags Wed May 16 14:49:26 2012 +0100 +++ b/.hgtags Wed May 30 22:19:21 2012 +0100 @@ -279,4 +279,5 @@ 34fce1d343b0d9f5e1e5ea30d93e840d260f3dce hs23-b21 ad6f5eaa165edc94caaa0ac582828718a63a3d02 jdk7u4-b20 c7c6b00122cf49c4147229689904a20779e73b85 jdk7u4-b30 -93ec23d55b87d46bada8f32b84eb67b427436858 jdk7u4-b21 \ No newline at end of file +93ec23d55b87d46bada8f32b84eb67b427436858 jdk7u4-b21 +b11130d646c2949fce6b32485209e6c17b0a7863 icedtea-2.2 From andrew at icedtea.classpath.org Wed May 30 14:20:29 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 30 May 2012 21:20:29 +0000 Subject: /hg/release/icedtea7-forest-2.2/jdk: Added tag icedtea-2.2 for c... Message-ID: changeset 839d0155f7cc in /hg/release/icedtea7-forest-2.2/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/jdk?cmd=changeset;node=839d0155f7cc author: andrew date: Wed May 30 22:19:42 2012 +0100 Added tag icedtea-2.2 for changeset ca871dbdbd7b diffstat: .hgtags | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diffs (11 lines): diff -r ca871dbdbd7b -r 839d0155f7cc .hgtags --- a/.hgtags Wed May 23 18:33:36 2012 +0100 +++ b/.hgtags Wed May 30 22:19:42 2012 +0100 @@ -172,4 +172,5 @@ 0f9aacb27534e7bba7ba30a2700a9c828416929d jdk7u4-b19 1a495432b42a496bde0ddfa16c6462742d7a8cf1 jdk7u4-b20 81a0f71a895e7f386efdd481eb53fb3ca0597438 jdk7u4-b30 -0573d282ca247a2848c26fe2800c7f3aa8d2e882 jdk7u4-b21 \ No newline at end of file +0573d282ca247a2848c26fe2800c7f3aa8d2e882 jdk7u4-b21 +ca871dbdbd7bb0224cc920c385575bcb73a2904c icedtea-2.2 From omajid at redhat.com Wed May 30 14:36:39 2012 From: omajid at redhat.com (Omair Majid) Date: Wed, 30 May 2012 17:36:39 -0400 Subject: [RFC][icedtea-web] Fix handling absolute paths passed into jnlp_href's value. In-Reply-To: <4FC66E9C.2080500@redhat.com> References: <4F5E69D6.9060401@redhat.com> <4F913542.5050500@redhat.com> <4FC66E9C.2080500@redhat.com> Message-ID: <4FC692E7.7000103@redhat.com> On 05/30/2012 03:01 PM, Danesh Dadachanji wrote: > > Attached a new patch with the refactored code and a unit test. I have a few comments on the patch below. > I added a static method that just wraps around the new URL assignment. I > couldn't figure out how to test PluginBridge directly without having it > open an actual JNLP file. :/ I made it static to make the unit test > cleaner (did not have to deal with creating a new PluginBridge var etc) > since it is quite the simple method and really only serves for unit > testing purposes. If others prefer, I can make it non-static. I think it's fine as long as it's implied clearly that this static method is meant to be private (it can't be made private since it's used in the test class). > diff --git a/netx/net/sourceforge/jnlp/PluginBridge.java b/netx/net/sourceforge/jnlp/PluginBridge.java > --- a/netx/net/sourceforge/jnlp/PluginBridge.java > +++ b/netx/net/sourceforge/jnlp/PluginBridge.java > @@ -171,6 +171,18 @@ public class PluginBridge extends JNLPFi > codeBaseLookup = cbl == null || (Boolean.valueOf(cbl)); > } > > + /** > + * Evaluate if the location is a relative or absolute path. Use the codeBase > + * as the URL context if it is relative. > + * @param codeBase The URL used for context if needed. > + * @param location The address pointing to the JNLP. > + * @return A URL to the location of the JNLP file. > + * @throws MalformedURLException > + */ I would prefer a comment saying this method should be considered private rather than cleanly documenting it. > + static URL getEvaluatedJNLPHref(URL codeBase, String location) throws MalformedURLException { > + return new URL(codeBase, location); > + } > + > public boolean codeBaseLookup() { > return codeBaseLookup; > } > diff --git a/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java b/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java > new file mode 100644 > --- /dev/null > +++ b/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java > @@ -0,0 +1,27 @@ > +package net.sourceforge.jnlp; You are missing the license here. > + @Test > + public void testAbsoluteJNLPHref() throws MalformedURLException, Exception { > + URL codeBase = new URL("http://undesired.absolute.codebase.com"); > + String absoluteLocation = "http://absolute.href.com/test.jnlp"; > + assertEquals(absoluteLocation, > + PluginBridge.getEvaluatedJNLPHref(codeBase, absoluteLocation).toExternalForm()); > + } > + > + @Test > + public void testARelativeJNLPHref() throws MalformedURLException, Exception { > + URL codeBase = new URL("http://desired.absolute.codebase.com"); > + String relativeLocation = "sub/dir/test.jnlp"; > + assertEquals(codeBase + "/" + relativeLocation, > + PluginBridge.getEvaluatedJNLPHref(codeBase, relativeLocation).toExternalForm()); > + } > +} If you want to be extra pedantic, one more test: URL codeBase = new URL("http://desired.absolute.codebase.com/foo"); String relativeLocation = "/sub/dir/test.jnlp"; Result should be "http://desired.absolute.codebase.com/sub/dir/test.jnlp" But I am feeling sort of uncomfortable about this. These tests are just testing that 'new URL(a,b)' works sanely in java. If it doesn't, then the JVM is broken and there is nothing we can do about it. It doesn't help us in any way if these tests pass because these tests aren't verifying that PluginBridge uses this correct url. Cheers, Omair From andrew at icedtea.classpath.org Wed May 30 17:59:47 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 31 May 2012 00:59:47 +0000 Subject: /hg/release/icedtea7-2.2: 6 new changesets Message-ID: changeset d1be68ac65c5 in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=d1be68ac65c5 author: Andrew John Hughes date: Wed May 30 22:34:45 2012 +0100 Sync changesets/checksums to 2.2 forest tag. 2012-05-30 Andrew John Hughes Include 2.2 tag. * Makefile.am: (CORBA_CHANGESET): Update to 2.2 forest head. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. changeset 842df9bcefbd in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=842df9bcefbd author: Andrew John Hughes date: Wed May 30 22:01:15 2012 +0100 Fix make distcheck broken by addition of SystemTap tests. 2012-05-30 Andrew John Hughes * Makefile.am: (EXTRA_DIST): Add test/tapset. (clean-tests): Add clean-jtreg-reports. (clean-local): Remove clean-jtreg-reports. (clean-jtreg): Remove test/jtreg if empty. changeset 6ab510483077 in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=6ab510483077 author: Andrew John Hughes date: Wed May 30 23:20:07 2012 +0100 List forest changes in NEWS. 2012-05-30 Andrew John Hughes * NEWS: Update with changes in the forest. changeset 6e616621a65e in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=6e616621a65e author: Andrew John Hughes date: Wed May 30 23:21:53 2012 +0100 Set version to 2.2 and set release date of 2.2. 2012-05-30 Andrew John Hughes * configure.ac: Set to 2.2 proper. * NEWS: Set release date of 2.2 changeset 2833d66bbe16 in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=2833d66bbe16 author: Andrew John Hughes date: Thu May 31 01:20:52 2012 +0100 Fix OPENJDK_VERSION to match forest being compiled. 2012-05-30 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to b21 (latest in 2.2 tree). changeset c91bd5e54f2c in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=c91bd5e54f2c author: Andrew John Hughes date: Thu May 31 01:59:41 2012 +0100 Added tag icedtea-2.2 for changeset 2833d66bbe16 diffstat: .hgtags | 1 + ChangeLog | 43 +++ Makefile.am | 41 ++- NEWS | 653 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 2 +- 5 files changed, 719 insertions(+), 21 deletions(-) diffs (truncated from 824 to 500 lines): diff -r 099cd72b4611 -r c91bd5e54f2c .hgtags --- a/.hgtags Wed May 23 19:59:19 2012 +0100 +++ b/.hgtags Thu May 31 01:59:41 2012 +0100 @@ -33,3 +33,4 @@ e4c9d9bd4a99ee2993e6737a84ccb9792fa7c4d1 icedtea-2.0-branchpoint d35c742babc02eb874684ea7cb647ef5eda55c75 icedtea-2.1-branchpoint 2917541bbda4f6745b157f39d7bd39472cae5235 icedtea-2.2-branchpoint +2833d66bbe167cb9e184a67559aec7ae655f9e75 icedtea-2.2 diff -r 099cd72b4611 -r c91bd5e54f2c ChangeLog --- a/ChangeLog Wed May 23 19:59:19 2012 +0100 +++ b/ChangeLog Thu May 31 01:59:41 2012 +0100 @@ -1,3 +1,46 @@ +2012-05-30 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to b21 (latest in + 2.2 tree). + +2012-05-30 Andrew John Hughes + + * configure.ac: Set to 2.2 proper. + * NEWS: Set release date of 2.2 + +2012-05-30 Andrew John Hughes + + * NEWS: Update with changes in + the forest. + +2012-05-30 Andrew John Hughes + + * Makefile.am: + (EXTRA_DIST): Add test/tapset. + (clean-tests): Add clean-jtreg-reports. + (clean-local): Remove clean-jtreg-reports. + (clean-jtreg): Remove test/jtreg if empty. + +2012-05-30 Andrew John Hughes + + Include 2.2 tag. + * Makefile.am: + (CORBA_CHANGESET): Update to 2.2 forest head. + (HOTSPOT_CHANGESET): Likewise. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + 2012-05-23 Andrew John Hughes Use 2.2 forest. diff -r 099cd72b4611 -r c91bd5e54f2c Makefile.am --- a/Makefile.am Wed May 23 19:59:19 2012 +0100 +++ b/Makefile.am Thu May 31 01:59:41 2012 +0100 @@ -1,24 +1,24 @@ # Dependencies -OPENJDK_VERSION = b13 +OPENJDK_VERSION = b21 JDK_UPDATE_VERSION = 04 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = b165245a9c91 -HOTSPOT_CHANGESET = b11130d646c2 -JAXP_CHANGESET = a98d6a2f14a1 -JAXWS_CHANGESET = 78ae35b1ed35 -JDK_CHANGESET = ca871dbdbd7b -LANGTOOLS_CHANGESET = 2176128e2f57 -OPENJDK_CHANGESET = 8beaec91886d +CORBA_CHANGESET = 3231f3e9c517 +HOTSPOT_CHANGESET = bfe5efd70bce +JAXP_CHANGESET = 0036fe6fe7dc +JAXWS_CHANGESET = abfb890c262a +JDK_CHANGESET = 839d0155f7cc +LANGTOOLS_CHANGESET = f855bdb37537 +OPENJDK_CHANGESET = 49a6fc8f712f -CORBA_SHA256SUM = 51d173f91fd719ead1a7e9ba37a58601c6bc294e45274b0d00e7691faa73a3f8 -HOTSPOT_SHA256SUM = f1295ad94fd3e5ba3a880703ce97b2e4274c4c3b0fc7f23ef9a3eb9de3043d31 -JAXP_SHA256SUM = 16e23d8a721fa7e5fc0ca4c83f8a0cc300a2b6f2682597b48e31ca18d2e05ae3 -JAXWS_SHA256SUM = ab49c561624694504aeafe0996a760c577b50c21c89eb741932e3ec22c0ec426 -JDK_SHA256SUM = 0db1a01ce9035032854c6f8d76403d4edf8bb76f0afa31377f400063f4a18df8 -LANGTOOLS_SHA256SUM = b277f274fe5c830dbb735d0193bdb739bd4d716c00891cc1e58c25a0dd97c567 -OPENJDK_SHA256SUM = 087ff5687b568ab2395eedef1310edd940259425ce385573ccb2c0406db13062 +CORBA_SHA256SUM = 9e26ea18aff308f636199e9cd822a1af078570221e8b76bbce1dea90d8ac6274 +HOTSPOT_SHA256SUM = 86d2f78025d5781222bcab985b93c97af7a114bdf7ac03b2a7abf7e0fce8a514 +JAXP_SHA256SUM = 245b30d3ac0fe45aa4c2a3d451029107b16fd0b74830d432b45448676aa86ee2 +JAXWS_SHA256SUM = e800972666fadd0235d9a4d30df7778ec502a4761dc33467e9c80fffc6289c8a +JDK_SHA256SUM = 19dbbf2e370ee89703305c561b3fdd174e949b041484ab515138b72d16fbd7e7 +LANGTOOLS_SHA256SUM = d46ab00352ee74b9d18e5daf38a10f6a31288e38583675c2b2eb58a16e154d19 +OPENJDK_SHA256SUM = 26b9a5b546dfa66ae070ed7863a6580e054d7c5691472273540009cf3f172b54 CACAO_VERSION = a567bcb7f589 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9 @@ -724,7 +724,7 @@ scripts/jni_desc \ rewriter/agpl-3.0.txt \ $(REWRITER_SRCS) \ - THANKYOU + THANKYOU test/tapset # Top-Level Targets # ================= @@ -733,14 +733,14 @@ check-local: jtregcheck check-tapset -clean-tests: clean-jtreg clean-tapset-report +clean-tests: clean-jtreg clean-tapset-report clean-jtreg-reports if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ if [ -e test ] ; then \ rmdir test ; \ fi \ fi -clean-local: clean-tests clean-jtreg-reports clean-pulse-java \ +clean-local: clean-tests clean-pulse-java \ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ @@ -2228,6 +2228,11 @@ clean-jtreg: rm -rf test/jtreg/classes + if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ + if [ -e test/jtreg ] ; then \ + rmdir test/jtreg ; \ + fi ; \ + fi rm -f test/jtreg.jar rm -f stamps/jtreg.stamp diff -r 099cd72b4611 -r c91bd5e54f2c NEWS --- a/NEWS Wed May 23 19:59:19 2012 +0100 +++ b/NEWS Thu May 31 01:59:41 2012 +0100 @@ -10,14 +10,13 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 2.2 (2012-XX-XX): +New in release 2.2 (2012-05-30): * Bug fixes - PR885: IcedTea7 does not build scripting support - Support glib >= 2.32. - Fix build on GCC 4.7. - Allow downloading to be disabled. - - Generalise new ucrypto cryptography tests. - Stop libraries being stripped in the OpenJDK build. - PR817: Support kernels that require PaX marking on the JDK binaries. * PulseAudio @@ -35,6 +34,656 @@ - Change symbolOopDesc to Symbol to accomodate S6990754. - Add tapset tests. - jstaptest.pl: thread_start and stop thread id can be any positive number. +* OpenJDK + - Don't create debuginfo files if not stripping. + - Fix bug whereby JPEG_LIBS were not set by jdk_generic_profile.sh + - Generalise ucrypto cryptography tests. + - Make {HOST,BUILD}_{GCC,CPP} work again, post build-infra changes. Rename {HOST_BUILD}_CPP to {HOST_BUILD}_CXX. + - Sync JAXP 1.4.5 update 1 for 7u4 to existing sources + - Remove duplicate JAXP sources from upstream and move our JAXP sources into same position. + - Normalise whitespace following test changes. + - Rename GIO typedef header to avoid conflicts with system GIO header pulled in by Gtk+. + - Skip wrap mode tests if wrap mode is not available. + - Zero fails to build in hsx22+, fix for hsx22 after runs gamma OK, hsx23 still nogo. + - Support systems with outdated versions of gio 2.0. + - Turn off strict aliasing for ExtensionSubtables.cpp + - S6205776: Some KeyboardFocusManager methods are unsafe + - S6330863: vm/gc/InfiniteList.java fails intermittently due to timeout + - S6351654: (tz) java.util.TimeZone.setDefault() should be controlled by a security manager + - S6484965: G1: piggy-back liveness accounting phase on marking + - S6484982: G1: process references during evacuation pauses + - S6505523: NullPointerException in BasicTreeUI when a node is removed by expansion listener + - S6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads + - S6636110: unaligned stackpointer leads to crash during deoptimization + - S6671616: TEST_BUG: java/io/File/BlockIsDirectory.java fails when /dev/dsk empty (sol) + - S6679764: enable parallel compaction by default + - S6802962: java/awt/FontClass/CreateFont/fileaccess/FontFile.java failed on 5u8b01 and 6u13b01 + - S6865265: JVM crashes with "missing exception handler" error + - S6868690: TEST:java/awt/FontClass/CreateFont/BigFont.java test should be modified in jdk7&8 to run via jtreg + - S6879539: enable empty password support for pkcs12 keystore + - S6888336: G1: avoid explicitly marking and pushing objects in survivor spaces + - S6890673: Eliminate allocations immediately after EA + - S6972759: Step over not working after thrown exception and Pop + - S6976060: G1: humongous object allocations should initiate marking cycles when necessary + - S7003454: order constants in constant table by number of references in code + - S7003595: IncompatibleClassChangeError with unreferenced local class with subclass + - S7005808: G1: re-enable ReduceInitialCardMarks for G1 + - S7009098: SA cannot open core files larger than 2GB on Linux 32-bit + - S7010561: Tab text position with Synth based LaF is different to Java 5/6 + - S7012206: ~20 tools tests failing due to -XX:-UsePerfData default in Java SE Embedded + - S7013347: allow crypto functions to be called inline to enhance performance + - S7017458: (cal) Multithreaded deserialization of Calendar leads to ClassCastException + - S7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary + - S7022100: Method annotations are incorrectly set when redefining classes + - S7022407: Spinning CPU in LocaleObjectCache.get() + - S7027061: Testcase failure: java/util/Locale/Bug6989440.java - java.util.ConcurrentModificationException + - S7030453: JSR 292 ClassValue.get method is too slow + - S7033170: Cipher.getMaxAllowedKeyLength(String) throws NoSuchAlgorithmException + - S7045132: sun.security.util.Resources_pt_BR.java translation error + - S7045232: G1: pool names are inconsistent with other collectors (don't have 'Space') + - S7046238: new InitialContext(); hangs + - S7046929: tools/javac/api/T6397104.java fails + - S7047200: keytool safe store + - S7050298: ARM: SIGSEGV in JNIHandleBlock::allocate_handle + - S7051189: Need to suppress info message if -xcheck:jni used with libjsig.so + - S7051769: java.text.Bidi.toString() output is wrong + - S7053252: New regression test does not compile on windows-amd64 + - S7053556: An implementation-specific feature in Oracle's JAXP: to allow disable the use of services mechanism + - S7054590: (JSR-292) MethodHandleProxies.asInterfaceInstance() accepts private/protected nested interfaces + - S7057935: com/sun/nio/sctp tests should be moved out of jdk_nio and into their own target, jdk_sctp + - S7058133: Javah should use the freshly built classes instead of those from the BOOTDIR jdk + - S7059019: G1: add G1 support to the SA + - S7059039: EA: don't change non-escaping state of NULL pointer + - S7059047: EA: can't find initializing store with several CheckCastPP + - S7059899: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV + - S7064302: JDK7 build 147 crashed after testing my java 6-compiled web app + - S7064927: retransformClasses() does not pass in LocalVariableTable of a method + - S7066129: GarbageCollectorMXBean#getLastGcInfo leaks native memory + - S7068215: G1: Print reference processing time during remark + - S7068595: html files in class-use dir do not get loaded correctly when Frames link is clicked + - S7069991: Setup make/jprt.properties files for jdk8 + - S7071311: Decoder enhancement + - S7073906: Locale.getDefault() returns wrong Locale for Java SE 7 + - S7075646: G1: fix inconsistencies in the monitoring data + - S7076523: TEST_BUG: test/java/net/NetworkInterface/NetParamsTest.java can fail with NPE + - S7077172: KerberosTime does not take into account system clock adjustement + - S7077312: Provide a CALL effect for instruct declaration in the ad file + - S7077640: gss wrap for cfx doesn't handle rrc != 0 + - S7077646: gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY + - S7077803: java.lang.InternalError in java.lang.invoke.MethodHandleNatives.init + - S7078460: JDialog is shown as separate icon on the taskbar + - S7078465: G1: Don't use the undefined value (-1) for the G1 old memory pool max size + - S7078816: /test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failure + - S7079012: test/java/net/NetworkInterface/NetParamsTest.java fails with SocketException getting mac address + - S7079904: corba issue + - S7080203: JTree.getSelectionPaths() now returns empty array instead of null + - S7081670: Disposing an AppContext can lead to a spinning EventDispatchThread + - S7081783: jarsigner error when no $HOME/.keystore + - S7081842: assert(Compile::current()->unique() < (uint)MaxNodeLimit) failed: Node limit exceeded + - S7081933: Use zeroing elimination optimization for large array + - S7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed + - S7082294: nsk/regression/b4265661 crashes on windows + - S7082299: AtomicReferenceArray should ensure that array is Object[] + - S7082443: JComboBox not backward compatible (with Java 6) + - S7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11 + - S7083621: Add fontconfig file for OEL6 and rename RH/O EL 5 file so that it is picked up for all 5.x updates + - S7085024: internal error; cannot instantiate Foo + - S7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods + - S7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835 + - S7086586: Inference producing null type argument + - S7086595: Error message bug: name of initializer is 'null' + - S7086601: Error message bug: cause for method mismatch is 'null' + - S7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use + - S7088367: JavaSound security issue (12865443) + - S7088680: G1: Cleanup in the G1CollectorPolicy class + - S7088989: Improve the performance for T4 by utilizing the newly provided crypto APIs + - S7089790: integrate bsd-port changes + - S7089889: Krb5LoginModule.login() throws an exception if used without a keytab + - S7090832: Some locale info are not localized for some languages. + - S7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop + - S7090968: Allow adlc register class to depend on runtime conditions + - S7090976: Eclipse/CDT causes a JVM crash while indexing C++ code + - S7091003: ScheduledExecutorService never executes Runnable with corePoolSize of zero + - S7091032: G1: assert failure when NewRatio is used + - S7091366: re-enable quicksort tests + - S7091388: Regular unexplained npe's from corba libs after few days + - S7091417: recvfrom's 6th input should be of type socklen_t + - S7091545: hs23 - set hotspot version & build number + - S7091764: Tiered: enable aastore profiling + - S7092236: java/util/EnumSet/EnumSetBash.java fails + - S7092238: G1: Uninitialized field gc_efficiency in G1PrintRegionLivenessInfo output + - S7092245: G1: Wrong format specifier in G1PrintRegionLivenessInfo header output + - S7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137" + - S7092309: G1: introduce old region set + - S7092412: G1: Some roots not marked during an initial mark that gets an evacuation failure + - S7092627: use agentvm mode instead of samevm in regtests + - S7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP + - S7092744: XMLEncoder fails to encode and breaks backward compatibility + - S7092825: javax.crypto.Cipher.Transform.patternCache is synchronizedMap and became scalability bottleneck. + - S7093090: Reduce synchronization in java.security.Policy.getPolicyNoCheck + - S7093690: JSR292: SA-JDI AssertionFailure: Expected raw sp likely got real sp, value was + - S7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check + - S7094155: JSR105 code throws javax.xml.crypto.URIReferenceException when running into Java 7 VM + - S7094377: Com.sun.jndi.ldap.read.timeout doesn't work with ldaps. + - S7095194: G1: HeapRegion::GrainBytes, GrainWords, and CardsPerRegion should be size_t + - S7095236: G1: _markedRegions never contains NULL regions + - S7095243: Disambiguate ReferenceProcessor::_discoveredSoftRefs + - S7095949: java/net/URLConnection/RedirectLimit.java and Redirect307Test fail intermittently + - S7095980: Ensure HttpURLConnection (and supporting APIs) don't expose HttpOnly cookies + - S7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used + - S7096016: SA build still produces "arg list too long" errors + - S7096030: G1: PrintGCDetails enhancements + - S7096124: Bump the hs23 build number to 02 + - S7096278: Update the VM name to indicate it is an embedded build + - S7096366: PPC: corruption of floating-point values with DeoptimizeALot + - S7096639: Tiered: Incorrect counter overflow handling for inlined methods + - S7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class + - S7097048: G1: extend the G1 SA changes to print per-heap space information + - S7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054 + - S7097436: Project Coin: duplicate varargs warnings on method annotated with @SafeVarargs + - S7097516: G1: assert(0<= from_card && from_card= 0) failed: Sanity check, referencePolicy.cpp: 76 + - S7098528: crash with java -XX:+ExtendedDTraceProbes + - S7098530: tools/javac/javazip/Test.sh can fail on Windows + - S7099017: jdk7u2-dev does not build + - S7099228: Use a PKCS11 config attribute to control encoding of an EC point + - S7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script + - S7099658: Properties.loadFromXML fails with ClassCastException + - S7099817: CMS: +FLSVerifyLists +FLSVerifyIndexTable asserts: odd slot non-empty, chunk not on free list + - S7099824: G1: we should take the pending list lock before doing the remark pause + - S7099849: G1: include heap region information in hs_err files + - S7100165: JSR 292: leftover printing code in methodHandleWalk.cpp + - S7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc + - S7100935: win32: memmove is not atomic but is used for pd_conjoint_*_atomic operations + - S7101096: Bump the hs23 build number to 03 + - S7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I + - S7101882: 2 tests fail in 7u4 workspace with new inference change + - S7102044: G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise + - S7102191: G1: assert(_min_desired_young_length <= initial_region_num) failed: Initial young gen size too small + - S7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely + - S7102776: Pack instanceKlass boolean fields into single u1 field + - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc + - S7103261: crash with jittester on sparc + - S7103380: assertion failure with -XX:+PrintNativeNMethods + - S7103619: Bump the hs23 build number to 04 + - S7103665: HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x97 + - S7103784: enable some flags by default + - S7104173: sun/tools tests fail with debug build after 7012206 + - S7104177: Tiered: -XX:+PrintCanonicalization doesn't work with -XX:+TieredCompilation + - S7104561: UseRDPCForConstantTableBase doesn't work after shorten branches changes + - S7104625: sun.awt.X11.XEvent is creating 600 MB of char[] for no good reason + - S7104647: Adding a diagnostic command framework + - S7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer + - S7105040: [macosx] closed/javax/swing/JPopupMenu/4966112/bug4966112.java deadlocks on MacOS + - S7105163: CMS: some mentions of MinChunkSize should be IndexSetStart + - S7105275: wrong tag added to jdk7u master repos + - S7105305: assert check_method_context proper context + - S7105364: JDK8 b10 hotspot: src/share/vm/ci/ciMethodHandle.cpp Error: Use "." or "->" + - S7105529: XAWT: Optimize getFieldsAsString() methods generated by WrapperGenerator + - S7105605: Use EA info to optimize pointers compare + - S7105611: Set::print() is broken + - S7105890: closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlocks on MacOS + - S7106024: CMS: Removed unused code for precleaning in remark phase + - S7106092: Bump the hs23 build number to 05 + - S7106277: Brokenness in the seqNumberOverflow of MAC + - S7106751: G1: gc/gctests/nativeGC03 crashes VM with SIGSEGV + - S7106766: Move the precompiled header from the src/share/vm directory + - S7106773: 512 bits RSA key cannot work with SHA384 and SHA512 + - S7106774: JSR 292: nightly test inlineMHTarget fails with wrong result + - S7106907: 64 bit VM fails test compiler/6865265/StackOverflowBug.java + - S7106944: assert(_pc == *pc_addr) failed may be too strong + - S7107042: assert(no_dead_loop) failed: dead loop detected + - S7107063: Fork hs22.1 hsx from hs22.0 for 7u3 and reinitialize build number + - S7107099: JScrollBar does not show up even if there are enough lebgth of textstring in textField + - S7107585: Test incorrect calculate position of object on frame + - S7108242: jinfo -permstat shouldn't report interned strings as part of perm + - S7108264: Fix for 7104173 is insufficient + - S7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not + - S7108553: Bump the hs23 build number to 06 + - S7109063: JSR 292: fix for 7085860 is incomplete + - S7109085: Test use hotkeys not intended for Mac + - S7109092: Wrong computation results with double at armsflt + - S7109617: Test was writed for Metal L&F but not set it + - S7109837: Provide a mechanism for computing an Adler32 checksum for the contents of a ByteBuffer + - S7109885: security baseline for 7u2 or above is not set correctly + - S7109887: java/util/Arrays/CopyMethods.java fails with -XX:+DeoptimizeALot + - S7109962: [macosx] closed/javax/swing/JList/6462008/bug6462008.java fails on MacOS + - S7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries + - S7110058: change default for ScavengeRootsInCode to 2 + - S7110104: It should be possible to stop and start JMX Agent at runtime + - S7110152: assert(size_in_words <= (julong)max_jint) failed: no overflow + - S7110173: GCNotifier::pushNotification publishes stale data. + - S7110190: GCCause::to_string missing case for _adaptive_size_policy + - S7110428: Crash during HeapDump operation + - S7110440: closed/javax/swing/JScrollBar/4865918/bug4865918.java fails on Aqua L&F + - S7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable + - S7110586: C2 generates incorrect results + - S7110700: Enhance exception throwing mechanism in ObjectStreamClass + - S7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM + - S7110815: closed/javax/swing/JSplitPane/4885629/bug4885629.java unstable on MacOS + - S7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM + - S7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM + - S7111138: delete the obsolete flag -XX:+UseRicochetFrames + - S7111795: G1: Various cleanups identified during walk through of changes for 6484965 + - S7111903: (tz) Windows-only: tzmappings needs update for KB2570791 + - S7112034: Parallel CMS fails to properly mark reference objects + - S7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks + - S7112298: remove security baseline sanity check + - S7112308: Fix Visual Studio build for precompiled header + - S7112413: JVM Crash, possibly GC-related + - S7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE + - S7112642: Incorrect checking for graphics rendering object + - S7112743: G1: Reduce overhead of marking closure during evacuation pauses + - S7112854: [macosx] closed/javax/swing/JPopupMenu/Test6827786.java unstable on MacOS + - S7112925: closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails on MacOS + - S7112931: closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails on MacOS + - S7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure + - S7113006: G1: excessive ergo output when an evac failure happens + - S7113012: G1: rename not-fully-young GCs as "mixed" + - S7113021: G1: automatically enable young gen size auto-tuning when -Xms==-Xmx + - S7113275: compatibility issue with MD2 trust anchor and old X509TrustManager + - S7113337: Swing closed test tries to click in the area reserved for resize by Mac OS X + - S7113349: Initial changset for Macosx port to jdk7u + - S7113503: Bump the hs23 build number to 07 + - S7113740: hotspot_version file has wrong JDK_MINOR_VER + - S7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj + - S7114106: C1: assert(goto_state->is_same(sux_state)) failed: states must match now + - S7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise + - S7114376: Make system dictionary hashtable bucket array size configurable + - S7114611: (fs) DirectoryStream fails with SIGBUS on some embedded platforms, dirent alignment + - S7115199: Add event tracing hooks and Java Flight Recorder infrastructure + - S7115357: closed/javax/swing/JTable/6263446/bug6263446Table.java fails on MacOS + - S7115524: Regression: keytool -printcert -sslserver failure + - S7115586: (so) Suppress creation of SocketImpl in SocketAdaptor's constructor + - S7116050: C2/ARM: memory stomping error with DivideMcTests + - S7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM + - S7116189: Export JVM_SetNativeThreadName from Hotspot + - S7116216: StackOverflow GC crash + - S7116384: backout the unallowed changes in the KeyboardFocusManager.java javadoc + - S7116452: Add support for AVX instructions + - S7116462: Bump the hs21.1 build number to 02 + - S7116481: Commercial features in Hotspot must be gated by a switch + - S7116634: [macosx] closed/javax/swing/JTree/6263446/bug6263446Tree.java fails on MacOS + - S7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch + - S7116795: Tiered: enable by default for server + - S7117052: instanceKlass::_init_state can be u1 type + - S7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac + - S7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base) + - S7117303: VM uses non-monotonic time source and complains that it is non-monotonic + - S7117389: Add a framework for vendor-specific command line switch extensions to Hotspot + - S7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes + - S7117536: new hotspot build - hs23-b08 + - S7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X + - S7118094: Use of printf on Mac cannot accept format string starting with -- + - S7118095: Add macosx targets to make/jprt.properties file + - S7118202: G1: eden size unnecessarily drops to a minimum + - S7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode + - S7118283: Better input parameter checking in zip file processing + - S7118648: disable compressed oops by default on MacOS X until 7118647 is fixed + - S7118773: Fix jdk/test/makefile so it works on the mac + - S7118809: rcache deadlock + - S7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions + - S7119027: G1: use atomics to update RS length / predict time of inc CSet + - S7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c + - S7119294: Two command line options cause JVM to crash + - S7119584: UseParallelGC barrier task can be overwritten. + - S7119730: Tiered: SIGSEGV in AdvancedThresholdPolicy::is_method_profiled(methodOop) + - S7119760: [macosx] The OpenGL queue flusher thread is created in the wrong thread group + - S7119908: G1: Cache CSet start region for each worker for subsequent reuse + - S7120038: G1: ParallelGCThreads==0 is broken + - S7120448: Fix FP values for compiled frames in frame::describe + - S7120450: complete information dumped by frame_describe + - S7120468: SPARC/x86: use frame::describe to enhance trace_method_handle + - S7120511: Add diagnostic commands + - S7120869: javax/swing/JScrollBar/4708809/bug4708809.java fails on Windows + - S7120875: fix macos ipv6 issue and update multiple test scripts + - S7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type + - S7121110: JAXP 1.4.5 update 1 for 7u4 + - S7121111: -server -Xcomp -XX:+TieredCompilation does not invoke C2 compiler + - S7121140: Allocation paths require explicit memory synchronization operations for RMO systems + - S7121368: Remove jdbc-odbc bridge from macosx build + - S7121373: Clean up CollectedHeap::is_in + - S7121482: some sun/java2d and sun/awt tests failed with InvalidPipeException since 1.7.0_03b02, 6u31b02 + - S7121496: G1: do the per-region evacuation failure handling work in parallel + - S7121547: G1: High number mispredicted branches while iterating over the marking bitmap + - S7121600: Instrumentation.redefineClasses() leaks class bytes + - S7121618: Change type of number of GC workers to unsigned int. + - S7121623: G1: always be able to reliably calculate the length of a forwarded chunked array + - S7121648: Use 3-operands SIMD instructions on x86 with AVX + - S7121765: closed/javax/swing/JTextArea/4697612/bug4697612.java fails on MacOS on Aqua L&F + - S7121961: javadoc is missing a resource property + - S7122001: new hotspot build - hs23-b09 + - S7122054: (tz) Windows-only: tzmappings needs update for KB2633952 + - S7122138: IAE thrown because Introspector ignores synthetic methods + - S7122149: [macosx] closed/javax/swing/UITest/UITest.java fails on MacOS + - S7122173: [macosx] Several Regression tests fail on MacOS + - S7122246: [macosx] JCK swing test CaretTests fails in b205 + - S7122250: [macosx] mouseMoved Events test do not respond in JCK-runtime-7 interactive + - S7122253: Instrumentation.retransformClasses() leaks class bytes + - S7122256: scrollbar thumb is not full height in SThumbTest0001 + - S7122780: (macosx) JVMTI Test DemoRun.java doesn't understand macosx .dylibs + - S7122794: (macosx) DatagramSocket.disconnect() not working + - S7122796: SunToolkit constructor should create the EventQueue for the Main AppContext + - S7122880: Extend vendor-specific command interface to include manageable switches + - S7122939: TraceBytecodes broken with UseCompressedOops + - S7123022: Fixing some Mac sanity checks From andrew at icedtea.classpath.org Wed May 30 18:01:27 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 31 May 2012 01:01:27 +0000 Subject: /hg/release/icedtea7-2.2: Prepare for next release. Message-ID: changeset 537e2113b0a9 in /hg/release/icedtea7-2.2 details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=537e2113b0a9 author: Andrew John Hughes date: Thu May 31 02:01:21 2012 +0100 Prepare for next release. 2012-05-30 Andrew John Hughes * configure.ac: Bump to 2.2.1pre. * NEWS: Add 2.2.1 section. diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- 3 files changed, 8 insertions(+), 1 deletions(-) diffs (33 lines): diff -r c91bd5e54f2c -r 537e2113b0a9 ChangeLog --- a/ChangeLog Thu May 31 01:59:41 2012 +0100 +++ b/ChangeLog Thu May 31 02:01:21 2012 +0100 @@ -1,3 +1,8 @@ +2012-05-30 Andrew John Hughes + + * configure.ac: Bump to 2.2.1pre. + * NEWS: Add 2.2.1 section. + 2012-05-30 Andrew John Hughes * Makefile.am: diff -r c91bd5e54f2c -r 537e2113b0a9 NEWS --- a/NEWS Thu May 31 01:59:41 2012 +0100 +++ b/NEWS Thu May 31 02:01:21 2012 +0100 @@ -10,6 +10,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 2.2.1 (2012-06-XX): + New in release 2.2 (2012-05-30): * Bug fixes diff -r c91bd5e54f2c -r 537e2113b0a9 configure.ac --- a/configure.ac Thu May 31 01:59:41 2012 +0100 +++ b/configure.ac Thu May 31 02:01:21 2012 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.2], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.2.1pre], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From gnu_andrew at member.fsf.org Wed May 30 17:58:42 2012 From: gnu_andrew at member.fsf.org (Andii Hughes) Date: Thu, 31 May 2012 01:58:42 +0100 Subject: IcedTea 2.2 Released! Message-ID: The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver and support for alternative virtual machines. The IcedTea 2.2 release updates our OpenJDK7 support to include the latest updates in u4 (http://hg.openjdk.java.net/jdk7u/jdk7u4/). We believe that this 2.2 release takes IcedTea beyond u4. In addition to the changes in the public OpenJDK7 repository for u4, we also include a number of additional fixes: * Don't create debuginfo files if not stripping. * Generalise ucrypto cryptography tests. * Skip wrap mode tests if wrap mode is not available. * Zero fails to build in hsx22+, fix for hsx22 after runs gamma OK, hsx23 still nogo. * Turn off strict aliasing for ExtensionSubtables.cpp (now S7171223 in OpenJDK8) In addition, IcedTea includes the usual IcedTea patches to allow builds against system libraries and to support more estoric architectures. Please note support for alternative VM solutions (CACAO, Shark, Zero) may be lacking in this release. Specifically, Zero/Shark are known not to work with HotSpot 23, the version included in this release. Patches are welcome; please contact the mailing list (distro-pkg-dev at openjdk.java.net) and/or file bugs (http://icedtea.classpath.org/bugzilla) under the appropriate component. Full details of the release can be found below. What?s New? ?????? New in release 2.2 (2012-05-30): * Bug fixes - PR885: IcedTea7 does not build scripting support - Support glib >= 2.32. - Fix build on GCC 4.7. - Allow downloading to be disabled. - Stop libraries being stripped in the OpenJDK build. - PR817: Support kernels that require PaX marking on the JDK binaries. * PulseAudio - PR734: Fix pulse-java latency problem - PR758: [regression] javah from 6hg/b23 generates `jlong' from `private int' - LP862286: Fix exception on trying to start PulseAudio playback - Replace pulse audio enums with static longs. - Fix a few concurrency problems in pulse audio. - Start PulseAudioTargetDataLines in the corked state. * SystemTap - Support multiple running HotSpots by indexing globals by pid() - Don't hard code constantPoolOopDesc_size. - Use @var construct if available. - Wrap heap accessors in try-catch block. - Change symbolOopDesc to Symbol to accomodate S6990754. - Add tapset tests. - jstaptest.pl: thread_start and stop thread id can be any positive number. * OpenJDK - Don't create debuginfo files if not stripping. - Fix bug whereby JPEG_LIBS were not set by jdk_generic_profile.sh - Generalise ucrypto cryptography tests. - Make {HOST,BUILD}_{GCC,CPP} work again, post build-infra changes. Rename {HOST_BUILD}_CPP to {HOST_BUILD}_CXX. - Sync JAXP 1.4.5 update 1 for 7u4 to existing sources - Remove duplicate JAXP sources from upstream and move our JAXP sources into same position. - Normalise whitespace following test changes. - Rename GIO typedef header to avoid conflicts with system GIO header pulled in by Gtk+. - Skip wrap mode tests if wrap mode is not available. - Zero fails to build in hsx22+, fix for hsx22 after runs gamma OK, hsx23 still nogo. - Support systems with outdated versions of gio 2.0. - Turn off strict aliasing for ExtensionSubtables.cpp - S6205776: Some KeyboardFocusManager methods are unsafe - S6330863: vm/gc/InfiniteList.java fails intermittently due to timeout - S6351654: (tz) java.util.TimeZone.setDefault() should be controlled by a security manager - S6484965: G1: piggy-back liveness accounting phase on marking - S6484982: G1: process references during evacuation pauses - S6505523: NullPointerException in BasicTreeUI when a node is removed by expansion listener - S6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads - S6636110: unaligned stackpointer leads to crash during deoptimization - S6671616: TEST_BUG: java/io/File/BlockIsDirectory.java fails when /dev/dsk empty (sol) - S6679764: enable parallel compaction by default - S6802962: java/awt/FontClass/CreateFont/fileaccess/FontFile.java failed on 5u8b01 and 6u13b01 - S6865265: JVM crashes with "missing exception handler" error - S6868690: TEST:java/awt/FontClass/CreateFont/BigFont.java test should be modified in jdk7&8 to run via jtreg - S6879539: enable empty password support for pkcs12 keystore - S6888336: G1: avoid explicitly marking and pushing objects in survivor spaces - S6890673: Eliminate allocations immediately after EA - S6972759: Step over not working after thrown exception and Pop - S6976060: G1: humongous object allocations should initiate marking cycles when necessary - S7003454: order constants in constant table by number of references in code - S7003595: IncompatibleClassChangeError with unreferenced local class with subclass - S7005808: G1: re-enable ReduceInitialCardMarks for G1 - S7009098: SA cannot open core files larger than 2GB on Linux 32-bit - S7010561: Tab text position with Synth based LaF is different to Java 5/6 - S7012206: ~20 tools tests failing due to -XX:-UsePerfData default in Java SE Embedded - S7013347: allow crypto functions to be called inline to enhance performance - S7017458: (cal) Multithreaded deserialization of Calendar leads to ClassCastException - S7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary - S7022100: Method annotations are incorrectly set when redefining classes - S7022407: Spinning CPU in LocaleObjectCache.get() - S7027061: Testcase failure: java/util/Locale/Bug6989440.java - java.util.ConcurrentModificationException - S7030453: JSR 292 ClassValue.get method is too slow - S7033170: Cipher.getMaxAllowedKeyLength(String) throws NoSuchAlgorithmException - S7045132: sun.security.util.Resources_pt_BR.java translation error - S7045232: G1: pool names are inconsistent with other collectors (don't have 'Space') - S7046238: new InitialContext(); hangs - S7046929: tools/javac/api/T6397104.java fails - S7047200: keytool safe store - S7050298: ARM: SIGSEGV in JNIHandleBlock::allocate_handle - S7051189: Need to suppress info message if -xcheck:jni used with libjsig.so - S7051769: java.text.Bidi.toString() output is wrong - S7053252: New regression test does not compile on windows-amd64 - S7053556: An implementation-specific feature in Oracle's JAXP: to allow disable the use of services mechanism - S7054590: (JSR-292) MethodHandleProxies.asInterfaceInstance() accepts private/protected nested interfaces - S7057935: com/sun/nio/sctp tests should be moved out of jdk_nio and into their own target, jdk_sctp - S7058133: Javah should use the freshly built classes instead of those from the BOOTDIR jdk - S7059019: G1: add G1 support to the SA - S7059039: EA: don't change non-escaping state of NULL pointer - S7059047: EA: can't find initializing store with several CheckCastPP - S7059899: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV - S7064302: JDK7 build 147 crashed after testing my java 6-compiled web app - S7064927: retransformClasses() does not pass in LocalVariableTable of a method - S7066129: GarbageCollectorMXBean#getLastGcInfo leaks native memory - S7068215: G1: Print reference processing time during remark - S7068595: html files in class-use dir do not get loaded correctly when Frames link is clicked - S7069991: Setup make/jprt.properties files for jdk8 - S7071311: Decoder enhancement - S7073906: Locale.getDefault() returns wrong Locale for Java SE 7 - S7075646: G1: fix inconsistencies in the monitoring data - S7076523: TEST_BUG: test/java/net/NetworkInterface/NetParamsTest.java can fail with NPE - S7077172: KerberosTime does not take into account system clock adjustement - S7077312: Provide a CALL effect for instruct declaration in the ad file - S7077640: gss wrap for cfx doesn't handle rrc != 0 - S7077646: gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY - S7077803: java.lang.InternalError in java.lang.invoke.MethodHandleNatives.init - S7078460: JDialog is shown as separate icon on the taskbar - S7078465: G1: Don't use the undefined value (-1) for the G1 old memory pool max size - S7078816: /test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failure - S7079012: test/java/net/NetworkInterface/NetParamsTest.java fails with SocketException getting mac address - S7079904: corba issue - S7080203: JTree.getSelectionPaths() now returns empty array instead of null - S7081670: Disposing an AppContext can lead to a spinning EventDispatchThread - S7081783: jarsigner error when no $HOME/.keystore - S7081842: assert(Compile::current()->unique() < (uint)MaxNodeLimit) failed: Node limit exceeded - S7081933: Use zeroing elimination optimization for large array - S7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed - S7082294: nsk/regression/b4265661 crashes on windows - S7082299: AtomicReferenceArray should ensure that array is Object[] - S7082443: JComboBox not backward compatible (with Java 6) - S7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11 - S7083621: Add fontconfig file for OEL6 and rename RH/O EL 5 file so that it is picked up for all 5.x updates - S7085024: internal error; cannot instantiate Foo - S7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods - S7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835 - S7086586: Inference producing null type argument - S7086595: Error message bug: name of initializer is 'null' - S7086601: Error message bug: cause for method mismatch is 'null' - S7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use - S7088367: JavaSound security issue (12865443) - S7088680: G1: Cleanup in the G1CollectorPolicy class - S7088989: Improve the performance for T4 by utilizing the newly provided crypto APIs - S7089790: integrate bsd-port changes - S7089889: Krb5LoginModule.login() throws an exception if used without a keytab - S7090832: Some locale info are not localized for some languages. - S7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop - S7090968: Allow adlc register class to depend on runtime conditions - S7090976: Eclipse/CDT causes a JVM crash while indexing C++ code - S7091003: ScheduledExecutorService never executes Runnable with corePoolSize of zero - S7091032: G1: assert failure when NewRatio is used - S7091366: re-enable quicksort tests - S7091388: Regular unexplained npe's from corba libs after few days - S7091417: recvfrom's 6th input should be of type socklen_t - S7091545: hs23 - set hotspot version & build number - S7091764: Tiered: enable aastore profiling - S7092236: java/util/EnumSet/EnumSetBash.java fails - S7092238: G1: Uninitialized field gc_efficiency in G1PrintRegionLivenessInfo output - S7092245: G1: Wrong format specifier in G1PrintRegionLivenessInfo header output - S7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137" - S7092309: G1: introduce old region set - S7092412: G1: Some roots not marked during an initial mark that gets an evacuation failure - S7092627: use agentvm mode instead of samevm in regtests - S7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP - S7092744: XMLEncoder fails to encode and breaks backward compatibility - S7092825: javax.crypto.Cipher.Transform.patternCache is synchronizedMap and became scalability bottleneck. - S7093090: Reduce synchronization in java.security.Policy.getPolicyNoCheck - S7093690: JSR292: SA-JDI AssertionFailure: Expected raw sp likely got real sp, value was - S7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check - S7094155: JSR105 code throws javax.xml.crypto.URIReferenceException when running into Java 7 VM - S7094377: Com.sun.jndi.ldap.read.timeout doesn't work with ldaps. - S7095194: G1: HeapRegion::GrainBytes, GrainWords, and CardsPerRegion should be size_t - S7095236: G1: _markedRegions never contains NULL regions - S7095243: Disambiguate ReferenceProcessor::_discoveredSoftRefs - S7095949: java/net/URLConnection/RedirectLimit.java and Redirect307Test fail intermittently - S7095980: Ensure HttpURLConnection (and supporting APIs) don't expose HttpOnly cookies - S7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used - S7096016: SA build still produces "arg list too long" errors - S7096030: G1: PrintGCDetails enhancements - S7096124: Bump the hs23 build number to 02 - S7096278: Update the VM name to indicate it is an embedded build - S7096366: PPC: corruption of floating-point values with DeoptimizeALot - S7096639: Tiered: Incorrect counter overflow handling for inlined methods - S7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class - S7097048: G1: extend the G1 SA changes to print per-heap space information - S7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054 - S7097436: Project Coin: duplicate varargs warnings on method annotated with @SafeVarargs - S7097516: G1: assert(0<= from_card && from_card= 0) failed: Sanity check, referencePolicy.cpp: 76 - S7098528: crash with java -XX:+ExtendedDTraceProbes - S7098530: tools/javac/javazip/Test.sh can fail on Windows - S7099017: jdk7u2-dev does not build - S7099228: Use a PKCS11 config attribute to control encoding of an EC point - S7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script - S7099658: Properties.loadFromXML fails with ClassCastException - S7099817: CMS: +FLSVerifyLists +FLSVerifyIndexTable asserts: odd slot non-empty, chunk not on free list - S7099824: G1: we should take the pending list lock before doing the remark pause - S7099849: G1: include heap region information in hs_err files - S7100165: JSR 292: leftover printing code in methodHandleWalk.cpp - S7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc - S7100935: win32: memmove is not atomic but is used for pd_conjoint_*_atomic operations - S7101096: Bump the hs23 build number to 03 - S7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I - S7101882: 2 tests fail in 7u4 workspace with new inference change - S7102044: G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise - S7102191: G1: assert(_min_desired_young_length <= initial_region_num) failed: Initial young gen size too small - S7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely - S7102776: Pack instanceKlass boolean fields into single u1 field - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc - S7103261: crash with jittester on sparc - S7103380: assertion failure with -XX:+PrintNativeNMethods - S7103619: Bump the hs23 build number to 04 - S7103665: HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x97 - S7103784: enable some flags by default - S7104173: sun/tools tests fail with debug build after 7012206 - S7104177: Tiered: -XX:+PrintCanonicalization doesn't work with -XX:+TieredCompilation - S7104561: UseRDPCForConstantTableBase doesn't work after shorten branches changes - S7104625: sun.awt.X11.XEvent is creating 600 MB of char[] for no good reason - S7104647: Adding a diagnostic command framework - S7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer - S7105040: [macosx] closed/javax/swing/JPopupMenu/4966112/bug4966112.java deadlocks on MacOS - S7105163: CMS: some mentions of MinChunkSize should be IndexSetStart - S7105275: wrong tag added to jdk7u master repos - S7105305: assert check_method_context proper context - S7105364: JDK8 b10 hotspot: src/share/vm/ci/ciMethodHandle.cpp Error: Use "." or "->" - S7105529: XAWT: Optimize getFieldsAsString() methods generated by WrapperGenerator - S7105605: Use EA info to optimize pointers compare - S7105611: Set::print() is broken - S7105890: closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlocks on MacOS - S7106024: CMS: Removed unused code for precleaning in remark phase - S7106092: Bump the hs23 build number to 05 - S7106277: Brokenness in the seqNumberOverflow of MAC - S7106751: G1: gc/gctests/nativeGC03 crashes VM with SIGSEGV - S7106766: Move the precompiled header from the src/share/vm directory - S7106773: 512 bits RSA key cannot work with SHA384 and SHA512 - S7106774: JSR 292: nightly test inlineMHTarget fails with wrong result - S7106907: 64 bit VM fails test compiler/6865265/StackOverflowBug.java - S7106944: assert(_pc == *pc_addr) failed may be too strong - S7107042: assert(no_dead_loop) failed: dead loop detected - S7107063: Fork hs22.1 hsx from hs22.0 for 7u3 and reinitialize build number - S7107099: JScrollBar does not show up even if there are enough lebgth of textstring in textField - S7107585: Test incorrect calculate position of object on frame - S7108242: jinfo -permstat shouldn't report interned strings as part of perm - S7108264: Fix for 7104173 is insufficient - S7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not - S7108553: Bump the hs23 build number to 06 - S7109063: JSR 292: fix for 7085860 is incomplete - S7109085: Test use hotkeys not intended for Mac - S7109092: Wrong computation results with double at armsflt - S7109617: Test was writed for Metal L&F but not set it - S7109837: Provide a mechanism for computing an Adler32 checksum for the contents of a ByteBuffer - S7109885: security baseline for 7u2 or above is not set correctly - S7109887: java/util/Arrays/CopyMethods.java fails with -XX:+DeoptimizeALot - S7109962: [macosx] closed/javax/swing/JList/6462008/bug6462008.java fails on MacOS - S7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries - S7110058: change default for ScavengeRootsInCode to 2 - S7110104: It should be possible to stop and start JMX Agent at runtime - S7110152: assert(size_in_words <= (julong)max_jint) failed: no overflow - S7110173: GCNotifier::pushNotification publishes stale data. - S7110190: GCCause::to_string missing case for _adaptive_size_policy - S7110428: Crash during HeapDump operation - S7110440: closed/javax/swing/JScrollBar/4865918/bug4865918.java fails on Aqua L&F - S7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable - S7110586: C2 generates incorrect results - S7110700: Enhance exception throwing mechanism in ObjectStreamClass - S7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM - S7110815: closed/javax/swing/JSplitPane/4885629/bug4885629.java unstable on MacOS - S7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM - S7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM - S7111138: delete the obsolete flag -XX:+UseRicochetFrames - S7111795: G1: Various cleanups identified during walk through of changes for 6484965 - S7111903: (tz) Windows-only: tzmappings needs update for KB2570791 - S7112034: Parallel CMS fails to properly mark reference objects - S7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks - S7112298: remove security baseline sanity check - S7112308: Fix Visual Studio build for precompiled header - S7112413: JVM Crash, possibly GC-related - S7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE - S7112642: Incorrect checking for graphics rendering object - S7112743: G1: Reduce overhead of marking closure during evacuation pauses - S7112854: [macosx] closed/javax/swing/JPopupMenu/Test6827786.java unstable on MacOS - S7112925: closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails on MacOS - S7112931: closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails on MacOS - S7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure - S7113006: G1: excessive ergo output when an evac failure happens - S7113012: G1: rename not-fully-young GCs as "mixed" - S7113021: G1: automatically enable young gen size auto-tuning when -Xms==-Xmx - S7113275: compatibility issue with MD2 trust anchor and old X509TrustManager - S7113337: Swing closed test tries to click in the area reserved for resize by Mac OS X - S7113349: Initial changset for Macosx port to jdk7u - S7113503: Bump the hs23 build number to 07 - S7113740: hotspot_version file has wrong JDK_MINOR_VER - S7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj - S7114106: C1: assert(goto_state->is_same(sux_state)) failed: states must match now - S7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise - S7114376: Make system dictionary hashtable bucket array size configurable - S7114611: (fs) DirectoryStream fails with SIGBUS on some embedded platforms, dirent alignment - S7115199: Add event tracing hooks and Java Flight Recorder infrastructure - S7115357: closed/javax/swing/JTable/6263446/bug6263446Table.java fails on MacOS - S7115524: Regression: keytool -printcert -sslserver failure - S7115586: (so) Suppress creation of SocketImpl in SocketAdaptor's constructor - S7116050: C2/ARM: memory stomping error with DivideMcTests - S7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM - S7116189: Export JVM_SetNativeThreadName from Hotspot - S7116216: StackOverflow GC crash - S7116384: backout the unallowed changes in the KeyboardFocusManager.java javadoc - S7116452: Add support for AVX instructions - S7116462: Bump the hs21.1 build number to 02 - S7116481: Commercial features in Hotspot must be gated by a switch - S7116634: [macosx] closed/javax/swing/JTree/6263446/bug6263446Tree.java fails on MacOS - S7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch - S7116795: Tiered: enable by default for server - S7117052: instanceKlass::_init_state can be u1 type - S7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac - S7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base) - S7117303: VM uses non-monotonic time source and complains that it is non-monotonic - S7117389: Add a framework for vendor-specific command line switch extensions to Hotspot - S7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes - S7117536: new hotspot build - hs23-b08 - S7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X - S7118094: Use of printf on Mac cannot accept format string starting with -- - S7118095: Add macosx targets to make/jprt.properties file - S7118202: G1: eden size unnecessarily drops to a minimum - S7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode - S7118283: Better input parameter checking in zip file processing - S7118648: disable compressed oops by default on MacOS X until 7118647 is fixed - S7118773: Fix jdk/test/makefile so it works on the mac - S7118809: rcache deadlock - S7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions - S7119027: G1: use atomics to update RS length / predict time of inc CSet - S7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c - S7119294: Two command line options cause JVM to crash - S7119584: UseParallelGC barrier task can be overwritten. - S7119730: Tiered: SIGSEGV in AdvancedThresholdPolicy::is_method_profiled(methodOop) - S7119760: [macosx] The OpenGL queue flusher thread is created in the wrong thread group - S7119908: G1: Cache CSet start region for each worker for subsequent reuse - S7120038: G1: ParallelGCThreads==0 is broken - S7120448: Fix FP values for compiled frames in frame::describe - S7120450: complete information dumped by frame_describe - S7120468: SPARC/x86: use frame::describe to enhance trace_method_handle - S7120511: Add diagnostic commands - S7120869: javax/swing/JScrollBar/4708809/bug4708809.java fails on Windows - S7120875: fix macos ipv6 issue and update multiple test scripts - S7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type - S7121110: JAXP 1.4.5 update 1 for 7u4 - S7121111: -server -Xcomp -XX:+TieredCompilation does not invoke C2 compiler - S7121140: Allocation paths require explicit memory synchronization operations for RMO systems - S7121368: Remove jdbc-odbc bridge from macosx build - S7121373: Clean up CollectedHeap::is_in - S7121482: some sun/java2d and sun/awt tests failed with InvalidPipeException since 1.7.0_03b02, 6u31b02 - S7121496: G1: do the per-region evacuation failure handling work in parallel - S7121547: G1: High number mispredicted branches while iterating over the marking bitmap - S7121600: Instrumentation.redefineClasses() leaks class bytes - S7121618: Change type of number of GC workers to unsigned int. - S7121623: G1: always be able to reliably calculate the length of a forwarded chunked array - S7121648: Use 3-operands SIMD instructions on x86 with AVX - S7121765: closed/javax/swing/JTextArea/4697612/bug4697612.java fails on MacOS on Aqua L&F - S7121961: javadoc is missing a resource property - S7122001: new hotspot build - hs23-b09 - S7122054: (tz) Windows-only: tzmappings needs update for KB2633952 - S7122138: IAE thrown because Introspector ignores synthetic methods - S7122149: [macosx] closed/javax/swing/UITest/UITest.java fails on MacOS - S7122173: [macosx] Several Regression tests fail on MacOS - S7122246: [macosx] JCK swing test CaretTests fails in b205 - S7122250: [macosx] mouseMoved Events test do not respond in JCK-runtime-7 interactive - S7122253: Instrumentation.retransformClasses() leaks class bytes - S7122256: scrollbar thumb is not full height in SThumbTest0001 - S7122780: (macosx) JVMTI Test DemoRun.java doesn't understand macosx .dylibs - S7122794: (macosx) DatagramSocket.disconnect() not working - S7122796: SunToolkit constructor should create the EventQueue for the Main AppContext - S7122880: Extend vendor-specific command interface to include manageable switches - S7122939: TraceBytecodes broken with UseCompressedOops - S7123022: Fixing some Mac sanity checks - S7123100: javac fails with java.lang.StackOverflowError - S7123107: [macosx] native ccache - S7123108: C1: assert(if_state != NULL) failed: states do not match up - S7123165: G1: output during parallel verification can get messed up - S7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02 - S7123229: (coll) EnumMap.containsValue(null) returns true - S7123253: C1: in store check code, usage of registers may be incorrect - S7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type. - S7123386: RFE: Preserve universal builds of HotSpot on Mac OS X - S7123392: (launcher) fix MacOSX launcher failures - S7123519: problems with certification path - S7123679: Update regression tests that use os.name to work on MacOSX - S7123810: new hotspot build - hs23-b10 - S7123910: Some CTW tests crash VM: is_loaded() && that->is_loaded() - S7123954: Some CTW test crash with SIGSEGV - S7124089: (launcher) refactor the launcher code for macosx - S7124171: 7u4 l10n message update related to Mac OS X port - S7124219: [macosx] Unable to draw images to fullscreen - S7124223: [macosx] Regression test failure with new exception, when glyph is positioned explicitly - S7124224: [macosx] Port's controls are improperly ordered - S7124225: [macosx] Input lines support only current sample rate - S7124262: [macosx] Drag events go to a wrong child. - S7124272: [macosx] VK_DELETE does produce an extraneous character in a TextArea or TextField - S7124283: [macosx] Can't move focus out of a table with the keyboard. - S7124286: [macosx] Option modifier should work like AltGr as in Apple jdk 6 - S7124289: [macosx] Modal behavior difference with and without Robot interaction - S7124303: [macosx] SwingSet2 - Control + Spacebar causes hang. - S7124306: [macosx] VoiceOver cursor not on currently focused object when app gets focus - S7124308: [macosx] JSlider thumb moves to the right direction when it's used as a JTable cell editor - S7124316: [macosx] Passive and Peered IMF Client does not cope with input methods - S7124321: [macosx] TrayIcon MouseListener is never triggered - S7124335: [macosx] Need a java.awt.EmbeddedFrame subclass - S7124337: [macosx] FileDialog fails to select multiple files - S7124354: [macosx] PopipMenuTest is not functional in JCK-runtime-7 interactive - S7124363: [macosx] ClassCastException: CFileDialog cannot be cast to LWWindowPeer - S7124364: [macosx] Robot screen capturing functionality doesn't work - S7124368: UnsupportedOperationException is thown on getLockingKeyState() - S7124373: [macosx] Setting frame icon images causes IllegalArgumentException - S7124382: [macosx] Property sun.awt.enableExtraMouseButtons is always 'false' - S7124387: [macosx] Application freezes on dispose window, created by JFileChooser - S7124393: [macosx] JCheckBox in JTable: checkbox doesn't alaways respond to the first mouse click - S7124399: [macosx] All Swing drag-n-drop tests faild - S7124428: [macosx] Frame.setExtendedState() doesn't work for undecorated windows - S7124430: [macosx] LWCToolkit.grab() and LWCToolkit.ungrab() events are not implemented yet - S7124511: [macosx] Strange NullPointerException (err message: 'CFMessagePort: bootstrap_register(): failed 110 - S7124515: [macosx] Test fail like 6366126 (ArrayIndexOutOfBoundException pressing ENTER after removing items) - S7124523: [macosx] b216: Mising part of applet UI - S7124524: OutOfMemory exception after (or even before) some 2500 creations of LWWindowPeer - S7124528: [macosx] Selection is not cleared properly in text component. - S7124530: What is background color of AWT component? (And foreground, for that matter) - S7124537: [macosx] Menu shortcuts for all menu items should be disabled if a menu itself is disabled - S7124540: [macosx] the Color panel is a black for ColorTest0005 - S7124543: [macosx] Horizontal scrolling doesn't work - S7124552: [macosx] NullPointerException in getBufferStrategy() - S7124553: [macosx] Need minimum size for titled Frames and JFrames - S7124554: [macosx] JWindow does ignore setAlwaysOnTop property - S7124562: [macosx] RobotTest0001 & RobotTest0002 are not functional in JCK-runtime-7 interactive - S7124627: Please sync up changes from workspace macosx-port into the jdk7u-osx - S7124829: NUMA: memory leak on Linux with large pages - S7124994: [macosx] GUI app is stuck in i18n testing (caused by reference cast) - S7125044: [macosx] Test failure because Component.transferFocus() works differently in applet and application - S7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29 - S7125267: TrayIcon removal test invariably crashes on System.exit after successful completion - S7125281: G1: heap expansion code is replicated - S7125442: jar application located in two bytes character named folder cannot be run with JRE 7 u1/u2 - S7125456: [macosx] Programmatically selecting List item triggers an ItemEvent - S7125491: [macosx] Regression: A component can get unexpected keyTyped event. - S7125503: Compiling collectedHeap.cpp fails with -Werror=int-to-pointer-cast with g++ 4.6.1 - S7125516: G1: ~ConcurrentMark() frees incorrectly - S7125594: C-heap growth issue in ThreadService::find_deadlocks_at_safepoint - S7125657: [macosx] SpreadSheet demo has the broken display when clicking outside of the table - S7125722: [macosx] 7u4 b200 crash i.e. in Tonga - S7125723: [macosx] painting artifacts after running SwingSet2 with jdk7u-osx build - S7125793: MAC: test_gamma should always work - S7125879: assert(proj != NULL) failed: must be found - S7125896: Eliminate nested locks - S7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64 - S7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04 - S7126185: Clean up lasterror handling, add os::get_last_error() - S7126480: Make JVM start time in milliseconds since the Java epoch available - S7126732: MAC: Require Mac OS X builds/tests for JPRT integrate jobs for HotSpot - S7126832: com.sun.tools.javac.api.ClientCodeWrapper$WrappedJavaFileManager cannot be cast - S7126889: Incorrect SSLEngine debug output - S7126960: Add property to limit number of request headers to the HTTP Server - S7126979: (props) JCK test java_lang/System/GetProperties.java failing [macosx] - S7126993: JCK test api/java_util/jar/Jarfile jarFile0129 failing [macosx] - S7127032: fix for 7122253 adds a JvmtiThreadState earlier than necessary - S7127104: Build issue with prtconf and zones, also using := to avoid extra execs - S7127199: [macosx] test/com/sun/jdi/ShellScaffold.sh needs to include Darwin as a recognized platform - S7127448: Regression test scripts for policytool need to recognize Mac OS X - S7127660: (macosx) *Socket Async close not working - S7127706: G1: re-enable survivors during the initial-mark pause - S7127771: (macosx)test/java/net/Socket/TrafficClass.java fails on Mac OS X - S7127874: Add handling of MacOSX env variables to ProcessBuilder regression test - S7127924: langtools regression tests sometimes fail en-masse on windows - S7128352: assert(obj_node == obj) failed - S7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed - S7128532: G1: Change default value of G1DefaultMaxNewGenPercent to 80 - S7128597: [macosx] Program freeze when Swing is used with -XstartOnFirstThread - S7128648: HttpURLConnection.getHeaderFields should return an unmodifiable Map - S7129083: CookieManager does not store cookies if url is read before setting cookie manager - S7129125: TEST_BUG: java/lang/ProcessBuilder/Zombies.java failed on linux with "No such file" - S7129164: JNI Get/ReleasePrimitiveArrayCritical doesn't scale - S7129225: javac fails to run annotation processors when star import of package of gensrc - S7129240: backout fix for 7102776 until 7128770 is resolved - S7129271: G1: Interference from multiple threads in PrintGC/PrintGCDetails output - S7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux - S7129308: Handle different format of OperatingSystemMXBean.getSystemLoadAverage() output on macosx - S7129420: [macosx] SplashScreen.getSplashScreen() returns null - S7129512: new hotspot build - hs23-b11 - S7129514: time warp warnings after 7117303 - S7129618: assert(obj_node->eqv_uncast(obj),""); - S7129732: [macosx] JCK failure: no focus transfer back to Window owner - S7129825: [macosx] Native activation is not changed when focusing other frame's owned window - S7129872: test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failing on non-Solaris platforms on 7u4 - S7129892: G1: explicit marking cycle initiation might fail to initiate a marking cycle - S7130241: [macosx] TransparentRuler demo can not run due to lacking of perpixel transparency support - S7130319: C2: running with -XX:+PrintOptoAssembly crashes the VM with assert(false) failed: bad tag in log - S7130334: G1: Change comments and error messages that refer to CMS in g1/concurrentMark.cpp/hpp - S7130335: Problem with timezone in a SimpleDateFormat - S7130360: [macosx] Packed JInternalFrame invisible on Aqua L&F - S7130398: ProblemList.txt updates (1/2012) - S7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 - S7130476: Remove use of #ifdef TRACE_DEFINE_KLASS_TRACE_ID from klass.hpp - S7130587: [macosx] Scrolling and painting issues with late invocation of setText - S7130676: Tiered: assert(bci == 0 || 0<= bci && bcioop_size(this)) || (Universe::heap()->is_gc_active() && ((is_typeArray()... - S7132367: [macosx] ChoiceMouseWheelTest should be adapted for mac toolkit - S7132386: makefile support for tracing/Java Flight Recorder framework phase I - S7132398: G1: java.lang.IllegalArgumentException: Invalid threshold: 9223372036854775807 > max (1073741824) - S7132515: Add dcmd to manage UnlockingCommercialFeature flag - S7132631: The help-doc.html generates an invalid link to constant-values.html - S7132637: (dc) DatagramChannel multicast tests failing on MacOSX - S7132679: (dc) DatagramChannel.send fails with ECONNREFUSED when not connected (Mac OSX) - S7132690: InstanceKlass:_reference_type should be u1 type - S7132692: [macosx] Class com.apple.eawt not functioning - S7132699: [macosx] Proxy using for connection to localhost - S7132779: build-infra merge: Enable ccache to work for most developer builds. - S7132793: [macosx] setWheelScrollEnabled action reversed - S7132809: [macosx] MAXIMIZED_BOTH set before setVisible(true) hides Frame - S7132936: guarantee(t != NULL) failed: must be con - S7132945: Tiered: adjust OSR threshold of level 3 - S7133038: G1: Some small profile based optimizations - S7133112: [macosx] org.ietf.jgss.GSSException while sun.security.jgss.GSSManagerImpl.createName - S7133124: Remove redundant packages from JAR command line - S7133220: Additional patches to JAXP 1.4.5 update 1 for 7u4 - S7133476: (fs) Files.readAttributes throws NPE on MacOSX - S7133488: (cs) java/nio/charset/Charset/NIOCharsetAvailabilityTest.java fails on MacOSX - S7133495: [macosx] KeyChain KeyStore implementation retrieves only one private key entry - S7133577: [macosx] closed/javax/swing/JTree/4314199/bug4314199.java fails on MacOS - S7134655: Crash in reference processing when doing single-threaded remarking - S7134690: remove legacy jnilib support from ClassLoader and System [macosx] - S7134701: [macosx] Support legacy native library names - S7134730: Create Ant task for generating Mac OS X app bundles - S7134826: [macosx] KeyEvent difference between Apple 1.6 and openjdk - S7135385: new hotspot build - hs23-b13 - S7138665: JOptionPane.getValue() unexpected change between JRE 1.6 and JRE 1.7 - S7139770: MacOS JCK failures in DatagramSocket and MulticastSocket - S7140866: assert(covered) failed: Card for end of new region not committed - S7140909: Visual Studio project builds broken: need to define INCLUDE_TRACE - S7140924: SIGSEGV in compiled code for sun.awt.X11.XDecoratedPeer.updateMinSizeHints - S7140985: HSDIS does not handle caller options correctly - S7140989: [MacOSX] Test Pack200Test fails on Mac - S7141059: 7116795 broke pure c2 builds - S7141071: TEST_BUG: update shell scripts in java/nio/charset to detect Mac OS as a valid platform - S7141200: log some interesting information in ring buffers for crashes - S7141242: build-infra merge: Rename CPP->CXX and LINK->LD - S7141259: Native stack is missing in hs_err - S7141281: [macosx] GridBagLayout baseline issue - S7141296: [macosx] Mouse Wheel Turn closes combobox popup - S7141329: Strange values of stack_size in -XX:+TraceMethodHandles output - S7141413: [macosx] Regression test java/rmi/registry/readTest/readTest.sh failing on Mac OS X - S7141462: ProblemList.txt updates to exclude tests that cause test runs to hang [macosx] - S7141465: macosx] com/sun/jdi/PrivateTransportTest.sh fails on Mac OS X - S7141637: JSR 292: MH spread invoker crashes with NULL argument on x86_32 - S7141675: Fix jcheck issues in .m sources - S7141739: [osx] Local attach fails if java.io.tmpdir is set - S7141910: Incorrect copyright dates on new test cases. - S7142086: performance problem in Check.checkOverrideClashes(...) - S7142113: Add Ivy Bridge to the known Intel x86 cpu families - S7142120: [macosx] Some JCK tests for SplashScreen fail on Mac OS X due to incorrect positioning of the splash - S7142123: test/java/net/ProxySelector/B6737819.java failing on all platforms since Mac OS integration - S7142167: MAC: _get_previous_fp broken on bsd with llvm-gcc - S7142172: Custom TrustManagers that return null for getAcceptedIssuers will NPE - S7142393: new hotspot build - hs23-b14 - S7142509: Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0 - S7142516: [macosx] sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh fails - S7142565: [macosx] Many special keys processed twice in text fields - S7142586: Cannot build on Solaris 11 due to use of ia_nice - S7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds - S7142617: De-optimize fdlibm compilation [macosx] - S7142641: -Xshared:on fails on ARM - S7142667: Problems with the value passed to the 'classes' param of JavaCompiler.CompilationTask.getTask(...) - S7142680: default GC affected by jvm path - S7142780: [macosx] Font2DTest demo throws NPE - S7142852: MAC: Comment out JPRT jbb tests on Mac OS X until 7142850 is resolved - S7142950: jdk7u cannot bootstrap Mac OS build [macosx] - S7143038: SIGSEGV in assert_equal / LinearScan::assign_reg_num - S7143061: nsk/stress/stack/b4525850 crash VM - S7143070: test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java freezes on exit - S7143122: new hotspot build - hs23-b15 - S7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes - S7143711: Feature added by 7053556 should not override what's set by the constructor in secure mode - S7143760: Memory leak in GarbageCollectionNotifications - S7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk - S7143768: [macosx] Unexpected NullPointerException and java.io.IOException during DnD - S7143857: Memory leak in javax.swing.plaf.synth.SynthTreeUI - S7144063: [macosx] Swing JMenu mnemonic doesn't work; hint misleading; cross symbol typed - S7144064: [macosx] "Could not find class" error in JTree's ctor when called in headless mode - S7144268: [macosx] ProblemList.txt updates to exclude networking tests failing on macos - S7144274: [macosx] Default IPv6 multicast interface is not being set when calling MulticastSocket.joinGroup() - S7144296: PS: Optimize nmethods processing - S7144318: GCLocker assert failure: assert(_needs_gc || SafepointSynchronize::is_at_safepoint( - S7144322: new hotspot build - hs23-b16 - S7144328: Improper commandlines for -XX:+-UnlockCommercialFeatures require proper warning/error messages - S7144405: JumbleGC002 assert(m->offset() == pc_offset) failed: oopmap not found - S7144781: incorrect URLs in JSSE java doc - S7144979: incorrect path separator in make/build.xml for Windows when running jtreg tests - S7145024: Crashes in ucrypto related to C2 - S7145243: Need additional specializations for argument parsing framework - S7145345: Code cache sweeper must cooperate with safepoints - S7145346: VerifyStackAtCalls is broken - S7145375: 7u4 l10n message update related to langtools - S7145537: minor tweaks to LogEvents - S7145587: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV (sparc version) - S7145589: First JSDT provider creation fails - S7145768: [macosx] Regression: failure in b11 of ModalDialogInFocusEventTest - S7145798: System.loadLibrary does not search current working directory - S7145827: [macosx] JCK failure in b11: FocusableWindow3 - S7145925: Removing remote access to diagnostic commands in the HotSpotDiagnosticMBean - S7145980: Dispose method of window.java takes long - S7146099: NLS: [de,es,it,ko,pt_BR]launcher_**.properties, double backslash issue. - S7146131: [macosx] When click the show optionpane button,it display partly of dialog and hung until timeout - S7146343: PS invoke methods should indicate the type of gc done - S7146354: Re-enable Compressed OOPs after 7118647 is resolved - S7146431: java.security files out-of-sync - S7146442: assert(false) failed: bad AD file - S7146729: nightly failure after 7141200: tty is sometimes null during shutdown of main thread - S7147064: assert(allocates2(pc)) failed: not in CodeBuffer memory: 0xffffffff778d9d60 <= 0xffffffff778da69c - S7147066: [macosx] FileDialog.getDirectory() returns incorrect directory - S7147078: [macosx] Echo char set in TextField doesn't prevent word jumping - S7147666: High lock time for com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance() - S7147724: G1: hang in SurrogateLockerThread::manipulatePLL - S7148275: [macosx] setIconImages() not working correctly (distorted icon when minimized) - S7148281: [macosx] JTabbedPane tabs with HTML text do not render correctly - S7148663: new hotspot build - hs23-b17 - S7149005: [macosx] Java Control Panel's UI controls are distorted when draging scroll bar. - S7149005: [macosx] Orphaned Choice popup window - S7149085: [macosx] Quit with QuitStrategy CLOSE_ALL_WINDOWS does terminate application - S7149785: Minor corrections to ScriptEngineManager javadoc - S7149913: [macosx] Deadlock in LWTextComponentPeer - S7150051: incorrect oopmap in critical native - S7150089: [macosx] Default for a custom cursor created from non-existent image is not transparent - S7150326: new hotspot build - hs23-b18 - S7150390: JFR test crashed on assert(_jni_lock_count == count) failed: must be equal - S7150392: Linux build breaks with GCC 4.7 due to unrecognized option - S7150454: add release jdk7u4 to jprt.properties - S7150516: [macosx] appletviewer shouldn't link against libX11 on the Mac - S7150637: No newline emitted after XML decl in XSLT output - S7152608: [macosx] Crash in liblwawt.dylib in AccelGlyphCache_RemoveCellInfo - S7152784: new hotspot build - hs23-b19 - S7152952: [macosx] List rows overlap with enlarged font - S7152954: G1: Native memory leak during full GCs - S7153735: [macosx] Text with diacritics is pasted with broken encoding - S7153977: Generate English man pages for JDK 7u4 - S7154047: [macosx] When we choose print one page in the print dialog,it still prints all the pages. - S7154072: [macosx] swallowing key events - S7154177: [macosx] An invisible owner frame becomes visible upon clicking a child window - S7154333: JVM fails to start if -XX:+AggressiveHeap is set - S7154480: [macosx] Not all popup menu items are visible - S7154505: [macosx] NetBeans sometimes starts with no text rendered - S7154516: [macosx] Popup menus have no visible borders - S7154677: new hotspot build - hs23-b20 - S7154724: jdk7u4 test properties missing from jprt.properties - S7154758: NLS: 7u4 message drop 20 - S7154770: NLS: 7u4 man page update - S7155419: Remove reference to JRockit and commercial features from java man page - S7155757: make jdk7u4 the default jprt release for hs23 - S7156000: Change makefile to reflect refactored classes - S7156831: The jcmd man page is not included in generated bundles - S7156960: Incorrect copyright headers in parts of the Serviceability agent - S7158135: new hotspot build - hs23-b21 - S7158483: (tz) Support tzdata2012c - S7159266: [macosx] ApplicationDelegate should not be set in the headless mode - S7159766: Tiered compilation causes performance regressions - S7162440: Fix typo in BUNDLE_ID variable so it can be overridden The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea-2.2.tar.gz SHA256 checksums: 98bc5a0d789a686cb7a1209a8945c314e801a931b2b6004a33dfe692e93626d5 icedtea-2.2.tar.gz Each tarball is accompanied by a digital signature (available at the above URL + '.sig'). This is produced using my public key. See details below. The following people helped with these releases: * Deepak Bhole (final sync of u4, JPEG_LIBS, GCC 4.7 & gio fixes) * David Henningsson (PulseAudio ARM fix, LP862286) * Andrew John Hughes (import of u4, release work, all other fixes not part of upstream OpenJDK) * Matthias Klose (PulseAudio ARM fix) * Denis Lila (other PulseAudio fixes) * Robert Lougher (PulseAudio JNI fix) * Xerxes R?nby (PulseAudio JNI & ARM fix, LP862286) * Ralph Sennhauser (PaX fix) * Mark Wielaard (SystemTap fixes) * Jon VonAlten (SystemTap tests) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-2.2.tar.gz $ cd icedtea-2.2 Full build requirements and instructions are in INSTALL: $ ./configure [--with-parallel-jobs --enable-pulse-java --enable-systemtap ...] $ make Happy hacking! -- Andii :-) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrew at icedtea.classpath.org Wed May 30 18:18:08 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 31 May 2012 01:18:08 +0000 Subject: /hg/icedtea7: Add 2.2 release notes. Message-ID: changeset ff055500a78c in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=ff055500a78c author: Andrew John Hughes date: Thu May 31 02:17:58 2012 +0100 Add 2.2 release notes. 2012-05-30 Andrew John Hughes * NEWS: Add 2.2 release notes. diffstat: ChangeLog | 4 + NEWS | 653 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 655 insertions(+), 2 deletions(-) diffs (truncated from 687 to 500 lines): diff -r 6fde83944407 -r ff055500a78c ChangeLog --- a/ChangeLog Wed May 30 22:01:15 2012 +0100 +++ b/ChangeLog Thu May 31 02:17:58 2012 +0100 @@ -1,3 +1,7 @@ +2012-05-30 Andrew John Hughes + + * NEWS: Add 2.2 release notes. + 2012-05-30 Andrew John Hughes * Makefile.am: diff -r 6fde83944407 -r ff055500a78c NEWS --- a/NEWS Wed May 30 22:01:15 2012 +0100 +++ b/NEWS Thu May 31 02:17:58 2012 +0100 @@ -12,14 +12,13 @@ New in release 2.3 (2012-XX-XX): -New in release 2.2 (2012-XX-XX): +New in release 2.2 (2012-05-30): * Bug fixes - PR885: IcedTea7 does not build scripting support - Support glib >= 2.32. - Fix build on GCC 4.7. - Allow downloading to be disabled. - - Generalise new ucrypto cryptography tests. - Stop libraries being stripped in the OpenJDK build. - PR817: Support kernels that require PaX marking on the JDK binaries. * PulseAudio @@ -37,6 +36,656 @@ - Change symbolOopDesc to Symbol to accomodate S6990754. - Add tapset tests. - jstaptest.pl: thread_start and stop thread id can be any positive number. +* OpenJDK + - Don't create debuginfo files if not stripping. + - Fix bug whereby JPEG_LIBS were not set by jdk_generic_profile.sh + - Generalise ucrypto cryptography tests. + - Make {HOST,BUILD}_{GCC,CPP} work again, post build-infra changes. Rename {HOST_BUILD}_CPP to {HOST_BUILD}_CXX. + - Sync JAXP 1.4.5 update 1 for 7u4 to existing sources + - Remove duplicate JAXP sources from upstream and move our JAXP sources into same position. + - Normalise whitespace following test changes. + - Rename GIO typedef header to avoid conflicts with system GIO header pulled in by Gtk+. + - Skip wrap mode tests if wrap mode is not available. + - Zero fails to build in hsx22+, fix for hsx22 after runs gamma OK, hsx23 still nogo. + - Support systems with outdated versions of gio 2.0. + - Turn off strict aliasing for ExtensionSubtables.cpp + - S6205776: Some KeyboardFocusManager methods are unsafe + - S6330863: vm/gc/InfiniteList.java fails intermittently due to timeout + - S6351654: (tz) java.util.TimeZone.setDefault() should be controlled by a security manager + - S6484965: G1: piggy-back liveness accounting phase on marking + - S6484982: G1: process references during evacuation pauses + - S6505523: NullPointerException in BasicTreeUI when a node is removed by expansion listener + - S6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads + - S6636110: unaligned stackpointer leads to crash during deoptimization + - S6671616: TEST_BUG: java/io/File/BlockIsDirectory.java fails when /dev/dsk empty (sol) + - S6679764: enable parallel compaction by default + - S6802962: java/awt/FontClass/CreateFont/fileaccess/FontFile.java failed on 5u8b01 and 6u13b01 + - S6865265: JVM crashes with "missing exception handler" error + - S6868690: TEST:java/awt/FontClass/CreateFont/BigFont.java test should be modified in jdk7&8 to run via jtreg + - S6879539: enable empty password support for pkcs12 keystore + - S6888336: G1: avoid explicitly marking and pushing objects in survivor spaces + - S6890673: Eliminate allocations immediately after EA + - S6972759: Step over not working after thrown exception and Pop + - S6976060: G1: humongous object allocations should initiate marking cycles when necessary + - S7003454: order constants in constant table by number of references in code + - S7003595: IncompatibleClassChangeError with unreferenced local class with subclass + - S7005808: G1: re-enable ReduceInitialCardMarks for G1 + - S7009098: SA cannot open core files larger than 2GB on Linux 32-bit + - S7010561: Tab text position with Synth based LaF is different to Java 5/6 + - S7012206: ~20 tools tests failing due to -XX:-UsePerfData default in Java SE Embedded + - S7013347: allow crypto functions to be called inline to enhance performance + - S7017458: (cal) Multithreaded deserialization of Calendar leads to ClassCastException + - S7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary + - S7022100: Method annotations are incorrectly set when redefining classes + - S7022407: Spinning CPU in LocaleObjectCache.get() + - S7027061: Testcase failure: java/util/Locale/Bug6989440.java - java.util.ConcurrentModificationException + - S7030453: JSR 292 ClassValue.get method is too slow + - S7033170: Cipher.getMaxAllowedKeyLength(String) throws NoSuchAlgorithmException + - S7045132: sun.security.util.Resources_pt_BR.java translation error + - S7045232: G1: pool names are inconsistent with other collectors (don't have 'Space') + - S7046238: new InitialContext(); hangs + - S7046929: tools/javac/api/T6397104.java fails + - S7047200: keytool safe store + - S7050298: ARM: SIGSEGV in JNIHandleBlock::allocate_handle + - S7051189: Need to suppress info message if -xcheck:jni used with libjsig.so + - S7051769: java.text.Bidi.toString() output is wrong + - S7053252: New regression test does not compile on windows-amd64 + - S7053556: An implementation-specific feature in Oracle's JAXP: to allow disable the use of services mechanism + - S7054590: (JSR-292) MethodHandleProxies.asInterfaceInstance() accepts private/protected nested interfaces + - S7057935: com/sun/nio/sctp tests should be moved out of jdk_nio and into their own target, jdk_sctp + - S7058133: Javah should use the freshly built classes instead of those from the BOOTDIR jdk + - S7059019: G1: add G1 support to the SA + - S7059039: EA: don't change non-escaping state of NULL pointer + - S7059047: EA: can't find initializing store with several CheckCastPP + - S7059899: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV + - S7064302: JDK7 build 147 crashed after testing my java 6-compiled web app + - S7064927: retransformClasses() does not pass in LocalVariableTable of a method + - S7066129: GarbageCollectorMXBean#getLastGcInfo leaks native memory + - S7068215: G1: Print reference processing time during remark + - S7068595: html files in class-use dir do not get loaded correctly when Frames link is clicked + - S7069991: Setup make/jprt.properties files for jdk8 + - S7071311: Decoder enhancement + - S7073906: Locale.getDefault() returns wrong Locale for Java SE 7 + - S7075646: G1: fix inconsistencies in the monitoring data + - S7076523: TEST_BUG: test/java/net/NetworkInterface/NetParamsTest.java can fail with NPE + - S7077172: KerberosTime does not take into account system clock adjustement + - S7077312: Provide a CALL effect for instruct declaration in the ad file + - S7077640: gss wrap for cfx doesn't handle rrc != 0 + - S7077646: gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY + - S7077803: java.lang.InternalError in java.lang.invoke.MethodHandleNatives.init + - S7078460: JDialog is shown as separate icon on the taskbar + - S7078465: G1: Don't use the undefined value (-1) for the G1 old memory pool max size + - S7078816: /test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failure + - S7079012: test/java/net/NetworkInterface/NetParamsTest.java fails with SocketException getting mac address + - S7079904: corba issue + - S7080203: JTree.getSelectionPaths() now returns empty array instead of null + - S7081670: Disposing an AppContext can lead to a spinning EventDispatchThread + - S7081783: jarsigner error when no $HOME/.keystore + - S7081842: assert(Compile::current()->unique() < (uint)MaxNodeLimit) failed: Node limit exceeded + - S7081933: Use zeroing elimination optimization for large array + - S7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed + - S7082294: nsk/regression/b4265661 crashes on windows + - S7082299: AtomicReferenceArray should ensure that array is Object[] + - S7082443: JComboBox not backward compatible (with Java 6) + - S7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11 + - S7083621: Add fontconfig file for OEL6 and rename RH/O EL 5 file so that it is picked up for all 5.x updates + - S7085024: internal error; cannot instantiate Foo + - S7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods + - S7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835 + - S7086586: Inference producing null type argument + - S7086595: Error message bug: name of initializer is 'null' + - S7086601: Error message bug: cause for method mismatch is 'null' + - S7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use + - S7088367: JavaSound security issue (12865443) + - S7088680: G1: Cleanup in the G1CollectorPolicy class + - S7088989: Improve the performance for T4 by utilizing the newly provided crypto APIs + - S7089790: integrate bsd-port changes + - S7089889: Krb5LoginModule.login() throws an exception if used without a keytab + - S7090832: Some locale info are not localized for some languages. + - S7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop + - S7090968: Allow adlc register class to depend on runtime conditions + - S7090976: Eclipse/CDT causes a JVM crash while indexing C++ code + - S7091003: ScheduledExecutorService never executes Runnable with corePoolSize of zero + - S7091032: G1: assert failure when NewRatio is used + - S7091366: re-enable quicksort tests + - S7091388: Regular unexplained npe's from corba libs after few days + - S7091417: recvfrom's 6th input should be of type socklen_t + - S7091545: hs23 - set hotspot version & build number + - S7091764: Tiered: enable aastore profiling + - S7092236: java/util/EnumSet/EnumSetBash.java fails + - S7092238: G1: Uninitialized field gc_efficiency in G1PrintRegionLivenessInfo output + - S7092245: G1: Wrong format specifier in G1PrintRegionLivenessInfo header output + - S7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137" + - S7092309: G1: introduce old region set + - S7092412: G1: Some roots not marked during an initial mark that gets an evacuation failure + - S7092627: use agentvm mode instead of samevm in regtests + - S7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP + - S7092744: XMLEncoder fails to encode and breaks backward compatibility + - S7092825: javax.crypto.Cipher.Transform.patternCache is synchronizedMap and became scalability bottleneck. + - S7093090: Reduce synchronization in java.security.Policy.getPolicyNoCheck + - S7093690: JSR292: SA-JDI AssertionFailure: Expected raw sp likely got real sp, value was + - S7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check + - S7094155: JSR105 code throws javax.xml.crypto.URIReferenceException when running into Java 7 VM + - S7094377: Com.sun.jndi.ldap.read.timeout doesn't work with ldaps. + - S7095194: G1: HeapRegion::GrainBytes, GrainWords, and CardsPerRegion should be size_t + - S7095236: G1: _markedRegions never contains NULL regions + - S7095243: Disambiguate ReferenceProcessor::_discoveredSoftRefs + - S7095949: java/net/URLConnection/RedirectLimit.java and Redirect307Test fail intermittently + - S7095980: Ensure HttpURLConnection (and supporting APIs) don't expose HttpOnly cookies + - S7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used + - S7096016: SA build still produces "arg list too long" errors + - S7096030: G1: PrintGCDetails enhancements + - S7096124: Bump the hs23 build number to 02 + - S7096278: Update the VM name to indicate it is an embedded build + - S7096366: PPC: corruption of floating-point values with DeoptimizeALot + - S7096639: Tiered: Incorrect counter overflow handling for inlined methods + - S7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class + - S7097048: G1: extend the G1 SA changes to print per-heap space information + - S7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054 + - S7097436: Project Coin: duplicate varargs warnings on method annotated with @SafeVarargs + - S7097516: G1: assert(0<= from_card && from_card= 0) failed: Sanity check, referencePolicy.cpp: 76 + - S7098528: crash with java -XX:+ExtendedDTraceProbes + - S7098530: tools/javac/javazip/Test.sh can fail on Windows + - S7099017: jdk7u2-dev does not build + - S7099228: Use a PKCS11 config attribute to control encoding of an EC point + - S7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script + - S7099658: Properties.loadFromXML fails with ClassCastException + - S7099817: CMS: +FLSVerifyLists +FLSVerifyIndexTable asserts: odd slot non-empty, chunk not on free list + - S7099824: G1: we should take the pending list lock before doing the remark pause + - S7099849: G1: include heap region information in hs_err files + - S7100165: JSR 292: leftover printing code in methodHandleWalk.cpp + - S7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc + - S7100935: win32: memmove is not atomic but is used for pd_conjoint_*_atomic operations + - S7101096: Bump the hs23 build number to 03 + - S7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I + - S7101882: 2 tests fail in 7u4 workspace with new inference change + - S7102044: G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise + - S7102191: G1: assert(_min_desired_young_length <= initial_region_num) failed: Initial young gen size too small + - S7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely + - S7102776: Pack instanceKlass boolean fields into single u1 field + - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc + - S7103261: crash with jittester on sparc + - S7103380: assertion failure with -XX:+PrintNativeNMethods + - S7103619: Bump the hs23 build number to 04 + - S7103665: HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x97 + - S7103784: enable some flags by default + - S7104173: sun/tools tests fail with debug build after 7012206 + - S7104177: Tiered: -XX:+PrintCanonicalization doesn't work with -XX:+TieredCompilation + - S7104561: UseRDPCForConstantTableBase doesn't work after shorten branches changes + - S7104625: sun.awt.X11.XEvent is creating 600 MB of char[] for no good reason + - S7104647: Adding a diagnostic command framework + - S7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer + - S7105040: [macosx] closed/javax/swing/JPopupMenu/4966112/bug4966112.java deadlocks on MacOS + - S7105163: CMS: some mentions of MinChunkSize should be IndexSetStart + - S7105275: wrong tag added to jdk7u master repos + - S7105305: assert check_method_context proper context + - S7105364: JDK8 b10 hotspot: src/share/vm/ci/ciMethodHandle.cpp Error: Use "." or "->" + - S7105529: XAWT: Optimize getFieldsAsString() methods generated by WrapperGenerator + - S7105605: Use EA info to optimize pointers compare + - S7105611: Set::print() is broken + - S7105890: closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlocks on MacOS + - S7106024: CMS: Removed unused code for precleaning in remark phase + - S7106092: Bump the hs23 build number to 05 + - S7106277: Brokenness in the seqNumberOverflow of MAC + - S7106751: G1: gc/gctests/nativeGC03 crashes VM with SIGSEGV + - S7106766: Move the precompiled header from the src/share/vm directory + - S7106773: 512 bits RSA key cannot work with SHA384 and SHA512 + - S7106774: JSR 292: nightly test inlineMHTarget fails with wrong result + - S7106907: 64 bit VM fails test compiler/6865265/StackOverflowBug.java + - S7106944: assert(_pc == *pc_addr) failed may be too strong + - S7107042: assert(no_dead_loop) failed: dead loop detected + - S7107063: Fork hs22.1 hsx from hs22.0 for 7u3 and reinitialize build number + - S7107099: JScrollBar does not show up even if there are enough lebgth of textstring in textField + - S7107585: Test incorrect calculate position of object on frame + - S7108242: jinfo -permstat shouldn't report interned strings as part of perm + - S7108264: Fix for 7104173 is insufficient + - S7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not + - S7108553: Bump the hs23 build number to 06 + - S7109063: JSR 292: fix for 7085860 is incomplete + - S7109085: Test use hotkeys not intended for Mac + - S7109092: Wrong computation results with double at armsflt + - S7109617: Test was writed for Metal L&F but not set it + - S7109837: Provide a mechanism for computing an Adler32 checksum for the contents of a ByteBuffer + - S7109885: security baseline for 7u2 or above is not set correctly + - S7109887: java/util/Arrays/CopyMethods.java fails with -XX:+DeoptimizeALot + - S7109962: [macosx] closed/javax/swing/JList/6462008/bug6462008.java fails on MacOS + - S7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries + - S7110058: change default for ScavengeRootsInCode to 2 + - S7110104: It should be possible to stop and start JMX Agent at runtime + - S7110152: assert(size_in_words <= (julong)max_jint) failed: no overflow + - S7110173: GCNotifier::pushNotification publishes stale data. + - S7110190: GCCause::to_string missing case for _adaptive_size_policy + - S7110428: Crash during HeapDump operation + - S7110440: closed/javax/swing/JScrollBar/4865918/bug4865918.java fails on Aqua L&F + - S7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable + - S7110586: C2 generates incorrect results + - S7110700: Enhance exception throwing mechanism in ObjectStreamClass + - S7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM + - S7110815: closed/javax/swing/JSplitPane/4885629/bug4885629.java unstable on MacOS + - S7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM + - S7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM + - S7111138: delete the obsolete flag -XX:+UseRicochetFrames + - S7111795: G1: Various cleanups identified during walk through of changes for 6484965 + - S7111903: (tz) Windows-only: tzmappings needs update for KB2570791 + - S7112034: Parallel CMS fails to properly mark reference objects + - S7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks + - S7112298: remove security baseline sanity check + - S7112308: Fix Visual Studio build for precompiled header + - S7112413: JVM Crash, possibly GC-related + - S7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE + - S7112642: Incorrect checking for graphics rendering object + - S7112743: G1: Reduce overhead of marking closure during evacuation pauses + - S7112854: [macosx] closed/javax/swing/JPopupMenu/Test6827786.java unstable on MacOS + - S7112925: closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails on MacOS + - S7112931: closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails on MacOS + - S7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure + - S7113006: G1: excessive ergo output when an evac failure happens + - S7113012: G1: rename not-fully-young GCs as "mixed" + - S7113021: G1: automatically enable young gen size auto-tuning when -Xms==-Xmx + - S7113275: compatibility issue with MD2 trust anchor and old X509TrustManager + - S7113337: Swing closed test tries to click in the area reserved for resize by Mac OS X + - S7113349: Initial changset for Macosx port to jdk7u + - S7113503: Bump the hs23 build number to 07 + - S7113740: hotspot_version file has wrong JDK_MINOR_VER + - S7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj + - S7114106: C1: assert(goto_state->is_same(sux_state)) failed: states must match now + - S7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise + - S7114376: Make system dictionary hashtable bucket array size configurable + - S7114611: (fs) DirectoryStream fails with SIGBUS on some embedded platforms, dirent alignment + - S7115199: Add event tracing hooks and Java Flight Recorder infrastructure + - S7115357: closed/javax/swing/JTable/6263446/bug6263446Table.java fails on MacOS + - S7115524: Regression: keytool -printcert -sslserver failure + - S7115586: (so) Suppress creation of SocketImpl in SocketAdaptor's constructor + - S7116050: C2/ARM: memory stomping error with DivideMcTests + - S7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM + - S7116189: Export JVM_SetNativeThreadName from Hotspot + - S7116216: StackOverflow GC crash + - S7116384: backout the unallowed changes in the KeyboardFocusManager.java javadoc + - S7116452: Add support for AVX instructions + - S7116462: Bump the hs21.1 build number to 02 + - S7116481: Commercial features in Hotspot must be gated by a switch + - S7116634: [macosx] closed/javax/swing/JTree/6263446/bug6263446Tree.java fails on MacOS + - S7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch + - S7116795: Tiered: enable by default for server + - S7117052: instanceKlass::_init_state can be u1 type + - S7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac + - S7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base) + - S7117303: VM uses non-monotonic time source and complains that it is non-monotonic + - S7117389: Add a framework for vendor-specific command line switch extensions to Hotspot + - S7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes + - S7117536: new hotspot build - hs23-b08 + - S7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X + - S7118094: Use of printf on Mac cannot accept format string starting with -- + - S7118095: Add macosx targets to make/jprt.properties file + - S7118202: G1: eden size unnecessarily drops to a minimum + - S7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode + - S7118283: Better input parameter checking in zip file processing + - S7118648: disable compressed oops by default on MacOS X until 7118647 is fixed + - S7118773: Fix jdk/test/makefile so it works on the mac + - S7118809: rcache deadlock + - S7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions + - S7119027: G1: use atomics to update RS length / predict time of inc CSet + - S7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c + - S7119294: Two command line options cause JVM to crash + - S7119584: UseParallelGC barrier task can be overwritten. + - S7119730: Tiered: SIGSEGV in AdvancedThresholdPolicy::is_method_profiled(methodOop) + - S7119760: [macosx] The OpenGL queue flusher thread is created in the wrong thread group + - S7119908: G1: Cache CSet start region for each worker for subsequent reuse + - S7120038: G1: ParallelGCThreads==0 is broken + - S7120448: Fix FP values for compiled frames in frame::describe + - S7120450: complete information dumped by frame_describe + - S7120468: SPARC/x86: use frame::describe to enhance trace_method_handle + - S7120511: Add diagnostic commands + - S7120869: javax/swing/JScrollBar/4708809/bug4708809.java fails on Windows + - S7120875: fix macos ipv6 issue and update multiple test scripts + - S7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type + - S7121110: JAXP 1.4.5 update 1 for 7u4 + - S7121111: -server -Xcomp -XX:+TieredCompilation does not invoke C2 compiler + - S7121140: Allocation paths require explicit memory synchronization operations for RMO systems + - S7121368: Remove jdbc-odbc bridge from macosx build + - S7121373: Clean up CollectedHeap::is_in + - S7121482: some sun/java2d and sun/awt tests failed with InvalidPipeException since 1.7.0_03b02, 6u31b02 + - S7121496: G1: do the per-region evacuation failure handling work in parallel + - S7121547: G1: High number mispredicted branches while iterating over the marking bitmap + - S7121600: Instrumentation.redefineClasses() leaks class bytes + - S7121618: Change type of number of GC workers to unsigned int. + - S7121623: G1: always be able to reliably calculate the length of a forwarded chunked array + - S7121648: Use 3-operands SIMD instructions on x86 with AVX + - S7121765: closed/javax/swing/JTextArea/4697612/bug4697612.java fails on MacOS on Aqua L&F + - S7121961: javadoc is missing a resource property + - S7122001: new hotspot build - hs23-b09 + - S7122054: (tz) Windows-only: tzmappings needs update for KB2633952 + - S7122138: IAE thrown because Introspector ignores synthetic methods + - S7122149: [macosx] closed/javax/swing/UITest/UITest.java fails on MacOS + - S7122173: [macosx] Several Regression tests fail on MacOS + - S7122246: [macosx] JCK swing test CaretTests fails in b205 + - S7122250: [macosx] mouseMoved Events test do not respond in JCK-runtime-7 interactive + - S7122253: Instrumentation.retransformClasses() leaks class bytes + - S7122256: scrollbar thumb is not full height in SThumbTest0001 + - S7122780: (macosx) JVMTI Test DemoRun.java doesn't understand macosx .dylibs + - S7122794: (macosx) DatagramSocket.disconnect() not working + - S7122796: SunToolkit constructor should create the EventQueue for the Main AppContext + - S7122880: Extend vendor-specific command interface to include manageable switches + - S7122939: TraceBytecodes broken with UseCompressedOops + - S7123022: Fixing some Mac sanity checks + - S7123100: javac fails with java.lang.StackOverflowError + - S7123107: [macosx] native ccache + - S7123108: C1: assert(if_state != NULL) failed: states do not match up + - S7123165: G1: output during parallel verification can get messed up + - S7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02 + - S7123229: (coll) EnumMap.containsValue(null) returns true + - S7123253: C1: in store check code, usage of registers may be incorrect + - S7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type. + - S7123386: RFE: Preserve universal builds of HotSpot on Mac OS X + - S7123392: (launcher) fix MacOSX launcher failures + - S7123519: problems with certification path + - S7123679: Update regression tests that use os.name to work on MacOSX + - S7123810: new hotspot build - hs23-b10 + - S7123910: Some CTW tests crash VM: is_loaded() && that->is_loaded() + - S7123954: Some CTW test crash with SIGSEGV + - S7124089: (launcher) refactor the launcher code for macosx + - S7124171: 7u4 l10n message update related to Mac OS X port + - S7124219: [macosx] Unable to draw images to fullscreen + - S7124223: [macosx] Regression test failure with new exception, when glyph is positioned explicitly + - S7124224: [macosx] Port's controls are improperly ordered + - S7124225: [macosx] Input lines support only current sample rate + - S7124262: [macosx] Drag events go to a wrong child. + - S7124272: [macosx] VK_DELETE does produce an extraneous character in a TextArea or TextField + - S7124283: [macosx] Can't move focus out of a table with the keyboard. + - S7124286: [macosx] Option modifier should work like AltGr as in Apple jdk 6 + - S7124289: [macosx] Modal behavior difference with and without Robot interaction + - S7124303: [macosx] SwingSet2 - Control + Spacebar causes hang. + - S7124306: [macosx] VoiceOver cursor not on currently focused object when app gets focus + - S7124308: [macosx] JSlider thumb moves to the right direction when it's used as a JTable cell editor + - S7124316: [macosx] Passive and Peered IMF Client does not cope with input methods + - S7124321: [macosx] TrayIcon MouseListener is never triggered + - S7124335: [macosx] Need a java.awt.EmbeddedFrame subclass + - S7124337: [macosx] FileDialog fails to select multiple files + - S7124354: [macosx] PopipMenuTest is not functional in JCK-runtime-7 interactive + - S7124363: [macosx] ClassCastException: CFileDialog cannot be cast to LWWindowPeer + - S7124364: [macosx] Robot screen capturing functionality doesn't work + - S7124368: UnsupportedOperationException is thown on getLockingKeyState() + - S7124373: [macosx] Setting frame icon images causes IllegalArgumentException + - S7124382: [macosx] Property sun.awt.enableExtraMouseButtons is always 'false' + - S7124387: [macosx] Application freezes on dispose window, created by JFileChooser + - S7124393: [macosx] JCheckBox in JTable: checkbox doesn't alaways respond to the first mouse click + - S7124399: [macosx] All Swing drag-n-drop tests faild + - S7124428: [macosx] Frame.setExtendedState() doesn't work for undecorated windows + - S7124430: [macosx] LWCToolkit.grab() and LWCToolkit.ungrab() events are not implemented yet + - S7124511: [macosx] Strange NullPointerException (err message: 'CFMessagePort: bootstrap_register(): failed 110 + - S7124515: [macosx] Test fail like 6366126 (ArrayIndexOutOfBoundException pressing ENTER after removing items) + - S7124523: [macosx] b216: Mising part of applet UI + - S7124524: OutOfMemory exception after (or even before) some 2500 creations of LWWindowPeer + - S7124528: [macosx] Selection is not cleared properly in text component. + - S7124530: What is background color of AWT component? (And foreground, for that matter) + - S7124537: [macosx] Menu shortcuts for all menu items should be disabled if a menu itself is disabled + - S7124540: [macosx] the Color panel is a black for ColorTest0005 + - S7124543: [macosx] Horizontal scrolling doesn't work + - S7124552: [macosx] NullPointerException in getBufferStrategy() + - S7124553: [macosx] Need minimum size for titled Frames and JFrames + - S7124554: [macosx] JWindow does ignore setAlwaysOnTop property + - S7124562: [macosx] RobotTest0001 & RobotTest0002 are not functional in JCK-runtime-7 interactive + - S7124627: Please sync up changes from workspace macosx-port into the jdk7u-osx + - S7124829: NUMA: memory leak on Linux with large pages + - S7124994: [macosx] GUI app is stuck in i18n testing (caused by reference cast) + - S7125044: [macosx] Test failure because Component.transferFocus() works differently in applet and application + - S7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29 + - S7125267: TrayIcon removal test invariably crashes on System.exit after successful completion + - S7125281: G1: heap expansion code is replicated + - S7125442: jar application located in two bytes character named folder cannot be run with JRE 7 u1/u2 + - S7125456: [macosx] Programmatically selecting List item triggers an ItemEvent + - S7125491: [macosx] Regression: A component can get unexpected keyTyped event. + - S7125503: Compiling collectedHeap.cpp fails with -Werror=int-to-pointer-cast with g++ 4.6.1 + - S7125516: G1: ~ConcurrentMark() frees incorrectly + - S7125594: C-heap growth issue in ThreadService::find_deadlocks_at_safepoint + - S7125657: [macosx] SpreadSheet demo has the broken display when clicking outside of the table + - S7125722: [macosx] 7u4 b200 crash i.e. in Tonga + - S7125723: [macosx] painting artifacts after running SwingSet2 with jdk7u-osx build + - S7125793: MAC: test_gamma should always work + - S7125879: assert(proj != NULL) failed: must be found + - S7125896: Eliminate nested locks + - S7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64 + - S7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04 + - S7126185: Clean up lasterror handling, add os::get_last_error() + - S7126480: Make JVM start time in milliseconds since the Java epoch available + - S7126732: MAC: Require Mac OS X builds/tests for JPRT integrate jobs for HotSpot + - S7126832: com.sun.tools.javac.api.ClientCodeWrapper$WrappedJavaFileManager cannot be cast + - S7126889: Incorrect SSLEngine debug output + - S7126960: Add property to limit number of request headers to the HTTP Server + - S7126979: (props) JCK test java_lang/System/GetProperties.java failing [macosx] + - S7126993: JCK test api/java_util/jar/Jarfile jarFile0129 failing [macosx] + - S7127032: fix for 7122253 adds a JvmtiThreadState earlier than necessary + - S7127104: Build issue with prtconf and zones, also using := to avoid extra execs + - S7127199: [macosx] test/com/sun/jdi/ShellScaffold.sh needs to include Darwin as a recognized platform + - S7127448: Regression test scripts for policytool need to recognize Mac OS X + - S7127660: (macosx) *Socket Async close not working + - S7127706: G1: re-enable survivors during the initial-mark pause + - S7127771: (macosx)test/java/net/Socket/TrafficClass.java fails on Mac OS X + - S7127874: Add handling of MacOSX env variables to ProcessBuilder regression test + - S7127924: langtools regression tests sometimes fail en-masse on windows + - S7128352: assert(obj_node == obj) failed + - S7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed + - S7128532: G1: Change default value of G1DefaultMaxNewGenPercent to 80 + - S7128597: [macosx] Program freeze when Swing is used with -XstartOnFirstThread + - S7128648: HttpURLConnection.getHeaderFields should return an unmodifiable Map + - S7129083: CookieManager does not store cookies if url is read before setting cookie manager + - S7129125: TEST_BUG: java/lang/ProcessBuilder/Zombies.java failed on linux with "No such file" + - S7129164: JNI Get/ReleasePrimitiveArrayCritical doesn't scale + - S7129225: javac fails to run annotation processors when star import of package of gensrc + - S7129240: backout fix for 7102776 until 7128770 is resolved + - S7129271: G1: Interference from multiple threads in PrintGC/PrintGCDetails output + - S7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux + - S7129308: Handle different format of OperatingSystemMXBean.getSystemLoadAverage() output on macosx + - S7129420: [macosx] SplashScreen.getSplashScreen() returns null + - S7129512: new hotspot build - hs23-b11 + - S7129514: time warp warnings after 7117303 + - S7129618: assert(obj_node->eqv_uncast(obj),""); + - S7129732: [macosx] JCK failure: no focus transfer back to Window owner + - S7129825: [macosx] Native activation is not changed when focusing other frame's owned window + - S7129872: test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failing on non-Solaris platforms on 7u4 + - S7129892: G1: explicit marking cycle initiation might fail to initiate a marking cycle + - S7130241: [macosx] TransparentRuler demo can not run due to lacking of perpixel transparency support + - S7130319: C2: running with -XX:+PrintOptoAssembly crashes the VM with assert(false) failed: bad tag in log + - S7130334: G1: Change comments and error messages that refer to CMS in g1/concurrentMark.cpp/hpp + - S7130335: Problem with timezone in a SimpleDateFormat + - S7130360: [macosx] Packed JInternalFrame invisible on Aqua L&F + - S7130398: ProblemList.txt updates (1/2012) + - S7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 + - S7130476: Remove use of #ifdef TRACE_DEFINE_KLASS_TRACE_ID from klass.hpp + - S7130587: [macosx] Scrolling and painting issues with late invocation of setText + - S7130676: Tiered: assert(bci == 0 || 0<= bci && bci References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=885 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120531/b674f869/attachment.html From jvanek at redhat.com Wed May 30 23:47:58 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 31 May 2012 08:47:58 +0200 Subject: [rfc][icedtea-web] Tiny patch to make last param in applet tag take effect, was first In-Reply-To: <4FC68DD1.6050701@redhat.com> References: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> <4FC68B5C.8040106@redhat.com> <4FC68DD1.6050701@redhat.com> Message-ID: <4FC7141E.3030007@redhat.com> On 05/30/2012 11:14 PM, Omair Majid wrote: > On 05/30/2012 05:04 PM, Omair Majid wrote: >> On 05/30/2012 04:57 PM, Adam Domurad wrote: >>> Tiny patch to make handling of applet tags more like Oracle's plugin. >>> This makes our plugin take into account the last tag with >>> the same 'name'. It was taking into account the first such tag. >>> >>> 2012-05-30 Adam Domurad >>> >>> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: >>> (parse) Small change to have last tag to >>> take effect. >> > > Btw, I would strongly encourage you to write a reproducer (or unit) test > for this. > > Cheers, > Omair Definitely. Please provide reproducer before push of this changeset. Thanx in advance, J. From phatina at redhat.com Thu May 31 01:50:08 2012 From: phatina at redhat.com (Peter Hatina) Date: Thu, 31 May 2012 10:50:08 +0200 Subject: [PATCH] Introduced --with-gtk option for configure.ac In-Reply-To: References: Message-ID: <4FC730C0.8030901@redhat.com> On 05/30/2012 04:54 PM, Andrew Hughes wrote: > > > ----- Original Message ----- >> Hi, >> >> I fixed the diff to meet Andrew Hughes suggestions. Hope, it's OK >> now. >> >> Peter Hatina >> EMEA ENG-Desktop Development >> Red Hat Czech, Brno >> >> --- >> ChangeLog | 8 ++++++++ >> NEWS | 1 + >> acinclude.m4 | 54 >> +++++++++++++++++++++++++++++++++++++++++++++++++++++- >> 3 files changed, 62 insertions(+), 1 deletion(-) >> >> diff --git a/ChangeLog b/ChangeLog >> index 82c0feb..d6f7e0c 100644 >> --- a/ChangeLog >> +++ b/ChangeLog >> @@ -1,3 +1,11 @@ >> +2012-05-28 Peter Hatina >> + >> + Introduced configure option --with-gtk=2.0|3.0 to be able to >> compile >> + against different version of GTK+ (2.x or 3.x). >> + *NEWS: mentioned bug fix >> + *acinclude.m4: (GTK_SET_CXX_VARS) macro for settings GTK+ CFLAGS >> + (GTK_CHECK) macro for checking GTK+ version >> + >> 2012-05-02 Jiri Vanek >> >> Introduced new annotations Bug (to connect test/reproducer with >> documentation) >> diff --git a/NEWS b/NEWS >> index 8397639..30eb055 100644 >> --- a/NEWS >> +++ b/NEWS >> @@ -16,6 +16,7 @@ New in release 1.3 (2012-XX-XX): >> - PR895: IcedTea-Web searches for missing classes on each >> loadClass or findClass >> * Common >> - PR918: java applet windows uses a low resulution black/white >> icon >> + - RHX720836: project can be compiled against GTK+ 2 or 3 libraries >> >> New in release 1.2 (2011-XX-XX): >> * Security updates: >> diff --git a/acinclude.m4 b/acinclude.m4 >> index a330d0f..5b801eb 100644 >> --- a/acinclude.m4 >> +++ b/acinclude.m4 >> @@ -359,13 +359,65 @@ AC_ARG_ENABLE([plugin], >> AC_MSG_RESULT(${enable_plugin}) >> ]) >> >> +dnl GTK_CHECK_VERSION([gtk version], [ACTION-IF-FOUND], >> [ACTION-IF-NOT]) >> +AC_DEFUN([GTK_CHECK_VERSION], >> +[ >> + if $PKG_CONFIG --modversion gtk+-$1.0 &> /dev/null; then >> + $2 >> + else >> + $3 >> + fi >> +]) >> + >> +dnl ITW_GTK_SET_CXX_VARS([gtk version]) >> +AC_DEFUN([ITW_GTK_SET_CXX_VARS], >> +[ >> + GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-$1.0` >> + GTK_LIBS=`$PKG_CONFIG --libs gtk+-$1.0` >> +]) >> + >> +dnl ITW_GTK_CHECK([gtk version]) >> +AC_DEFUN([ITW_GTK_CHECK], >> +[ >> + AC_CACHE_CHECK([for GTK+], [gtk_cv_version], >> + [ >> + case "$1" in >> + default) >> + GTK_CHECK_VERSION(["3"], >> + [echo -n `$PKG_CONFIG --modversion gtk+-3.0` >> + ITW_GTK_SET_CXX_VARS(["3"])], >> + [GTK_CHECK_VERSION(["2"], >> + [echo -n `$PKG_CONFIG --modversion gtk+-2.0` >> + ITW_GTK_SET_CXX_VARS(["2"])], >> + [AC_MSG_RESULT([no]) >> + AC_MSG_ERROR([GTK+ not found])])]) >> + ;; >> + *) >> + GTK_CHECK_VERSION([$1], >> + [echo -n `$PKG_CONFIG --modversion gtk+-$1.0` >> + ITW_GTK_SET_CXX_VARS([$1])], >> + [AC_MSG_RESULT([no]) >> + AC_MSG_ERROR([GTK+ $1 not found])]) >> + ;; >> + esac >> + ]) >> +]) >> + >> AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], >> [ >> dnl Check for plugin support headers and libraries. >> dnl FIXME: use unstable >> AC_REQUIRE([IT_CHECK_PLUGIN]) >> if test "x${enable_plugin}" = "xyes" ; then >> - PKG_CHECK_MODULES(GTK, gtk+-2.0) >> + AC_ARG_WITH([gtk], >> + [AS_HELP_STRING([--with-gtk=[2|3|default]], >> + [the GTK+ version to use (default: 3)])], >> + [case "$with_gtk" in >> + 2|3|default) ;; >> + *) AC_MSG_ERROR([invalid GTK+ version specified]) ;; >> + esac], >> + [with_gtk=default]) >> + ITW_GTK_CHECK([$with_gtk]) >> PKG_CHECK_MODULES(GLIB, glib-2.0) >> AC_SUBST(GLIB_CFLAGS) >> AC_SUBST(GLIB_LIBS) >> -- >> 1.7.10.2 >> >> > > No. I said it should be using the PKG_CHECK_MODULES macro from > pkgconfig as before, not just $PKG_CONFIG. That was just an example > of one of the features you lost in changing this. I decided to use $PKG_CONFIG directly to have the output of configure script as following: "checking for GTK+... 3.4.3" If I use PKG_CHECK_MODULES, then I get: "checking for GTK+... yes" Which does not tell me, what GTK+ libraries will be used for compilation. Especially in the case, when you do not explicitly specify --with-gtk=blabla. So if you know about any other way, how to achieve this, please, show me. I've been looking for this and haven't found anything useful. That's the only reason, I used $PKG_CONFIG. regards, -- Peter Hatina EMEA ENG-Desktop Development Red Hat Czech, Brno From ptisnovs at icedtea.classpath.org Thu May 31 02:40:18 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 31 May 2012 09:40:18 +0000 Subject: /hg/release/icedtea6-1.10: PR1018: JVM fails due to SEGV during ... Message-ID: changeset d74c9a4312cd in /hg/release/icedtea6-1.10 details: http://icedtea.classpath.org/hg/release/icedtea6-1.10?cmd=changeset;node=d74c9a4312cd author: ptisnovs date: Thu May 31 12:40:08 2012 +0200 PR1018: JVM fails due to SEGV during rendering some Unicode characters diffstat: ChangeLog | 7 +++++++ Makefile.am | 3 ++- NEWS | 3 +++ patches/coverage-table.patch | 13 +++++++++++++ 4 files changed, 25 insertions(+), 1 deletions(-) diffs (57 lines): diff -r d4b5430ea2c1 -r d74c9a4312cd ChangeLog --- a/ChangeLog Wed May 16 10:56:40 2012 +0100 +++ b/ChangeLog Thu May 31 12:40:08 2012 +0200 @@ -1,3 +1,10 @@ +2012-05-31 Pavel Tisnovsky + + * patches/coverage-table.patch: + PR1018: JVM fails due to SEGV during rendering some Unicode characters + * NEWS: Mention bugfix. + * Makefile.am: Updated. + 2012-05-16 Andrew John Hughes * NEWS: Add 1.10.8 section. diff -r d4b5430ea2c1 -r d74c9a4312cd Makefile.am --- a/Makefile.am Wed May 16 10:56:40 2012 +0100 +++ b/Makefile.am Thu May 31 12:40:08 2012 +0200 @@ -384,7 +384,8 @@ patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch \ patches/openjdk/7103224-glibc_name_collision.patch \ patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch \ - patches/openjdk/remove-mimpure-option-to-gcc.patch + patches/openjdk/remove-mimpure-option-to-gcc.patch \ + patches/coverage-table.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r d4b5430ea2c1 -r d74c9a4312cd NEWS --- a/NEWS Wed May 16 10:56:40 2012 +0100 +++ b/NEWS Thu May 31 12:40:08 2012 +0200 @@ -11,6 +11,9 @@ New in release 1.10.8 (2012-XX-XX): +* Bug fixes + - PR1018: JVM fails due to SEGV during rendering some Unicode characters + New in release 1.10.7 (2012-05-11): * Fixed build with GCC 4.7 diff -r d4b5430ea2c1 -r d74c9a4312cd patches/coverage-table.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/coverage-table.patch Thu May 31 12:40:08 2012 +0200 @@ -0,0 +1,13 @@ +--- openjdk/jdk/src/share/native/sun/font/layout/CoverageTables.cpp 2012-05-01 23:18:32.000000000 +0200 ++++ openjdk.orig/jdk/src/share/native/sun/font/layout/CoverageTables.cpp 2012-05-30 13:05:52.000000000 +0200 +@@ -71,6 +71,10 @@ + le_uint16 probe = power; + le_uint16 index = 0; + ++ if (count == 0) { ++ return -1; ++ } ++ + if (SWAPW(glyphArray[extra]) <= ttGlyphID) { + index = extra; + } From ptisnovs at icedtea.classpath.org Thu May 31 02:53:15 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 31 May 2012 09:53:15 +0000 Subject: /hg/release/icedtea6-1.11: PR1018: JVM fails due to SEGV during ... Message-ID: changeset e5b5280519ef in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=e5b5280519ef author: ptisnovs date: Thu May 31 12:52:55 2012 +0200 PR1018: JVM fails due to SEGV during rendering some Unicode characters diffstat: ChangeLog | 7 +++++++ Makefile.am | 3 ++- NEWS | 3 +++ patches/coverage-table.patch | 13 +++++++++++++ 4 files changed, 25 insertions(+), 1 deletions(-) diffs (57 lines): diff -r 1d8518a44858 -r e5b5280519ef ChangeLog --- a/ChangeLog Wed May 16 10:57:49 2012 +0100 +++ b/ChangeLog Thu May 31 12:52:55 2012 +0200 @@ -1,3 +1,10 @@ +2012-05-31 Pavel Tisnovsky + + * patches/coverage-table.patch: + PR1018: JVM fails due to SEGV during rendering some Unicode characters + * NEWS: Mention bugfix. + * Makefile.am: Updated. + 2012-05-16 Andrew John Hughes * NEWS: Add 1.11.3 section. diff -r 1d8518a44858 -r e5b5280519ef Makefile.am --- a/Makefile.am Wed May 16 10:57:49 2012 +0100 +++ b/Makefile.am Thu May 31 12:52:55 2012 +0200 @@ -417,7 +417,8 @@ patches/openjdk/7140882-dont-return-booleans-from-methods-returning-pointers.patch \ patches/openjdk/remove-mimpure-option-to-gcc.patch \ patches/idresolver_fix.patch \ - patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch + patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch \ + patches/coverage-table.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 1d8518a44858 -r e5b5280519ef NEWS --- a/NEWS Wed May 16 10:57:49 2012 +0100 +++ b/NEWS Thu May 31 12:52:55 2012 +0200 @@ -12,6 +12,9 @@ New in release 1.11.3 (2012-XX-XX): +* Bug fixes + - PR1018: JVM fails due to SEGV during rendering some Unicode characters + New in release 1.11.2 (2012-05-11): * Bug fixes diff -r 1d8518a44858 -r e5b5280519ef patches/coverage-table.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/coverage-table.patch Thu May 31 12:52:55 2012 +0200 @@ -0,0 +1,13 @@ +--- openjdk/jdk/src/share/native/sun/font/layout/CoverageTables.cpp 2012-05-01 23:18:32.000000000 +0200 ++++ openjdk.orig/jdk/src/share/native/sun/font/layout/CoverageTables.cpp 2012-05-30 13:05:52.000000000 +0200 +@@ -71,6 +71,10 @@ + le_uint16 probe = power; + le_uint16 index = 0; + ++ if (count == 0) { ++ return -1; ++ } ++ + if (SWAPW(glyphArray[extra]) <= ttGlyphID) { + index = extra; + } From aph at icedtea.classpath.org Thu May 31 03:46:18 2012 From: aph at icedtea.classpath.org (aph at icedtea.classpath.org) Date: Thu, 31 May 2012 10:46:18 +0000 Subject: /hg/release/icedtea7-forest-2.1/hotspot: Back out mistaken check... Message-ID: changeset d11542907511 in /hg/release/icedtea7-forest-2.1/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot?cmd=changeset;node=d11542907511 author: aph date: Thu May 31 06:42:18 2012 -0400 Back out mistaken checkin of debug code. diffstat: make/linux/makefiles/fastdebug.make | 2 +- make/linux/makefiles/gcc.make | 2 +- make/solaris/makefiles/gcc.make | 2 +- src/cpu/zero/vm/asm_helper.cpp | 11 ---- src/os/linux/vm/os_linux.cpp | 7 +-- src/share/vm/gc_implementation/shared/markSweep.cpp | 5 -- src/share/vm/gc_implementation/shared/markSweep.inline.hpp | 6 -- src/share/vm/interpreter/bytecodeInterpreter.cpp | 8 +-- src/share/vm/runtime/frame.cpp | 3 - src/share/vm/runtime/vmThread.cpp | 35 -------------- 10 files changed, 6 insertions(+), 75 deletions(-) diffs (198 lines): diff -r 1000c4de30f8 -r d11542907511 make/linux/makefiles/fastdebug.make --- a/make/linux/makefiles/fastdebug.make Wed May 30 10:20:02 2012 -0400 +++ b/make/linux/makefiles/fastdebug.make Thu May 31 06:42:18 2012 -0400 @@ -31,7 +31,7 @@ # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) ifeq ($(BUILDARCH), ia64) - # Bug in GCC, causes hang. -O1 will override the -O0 specified earlier + # Bug in GCC, causes hang. -O1 will override the -O3 specified earlier OPT_CFLAGS/callGenerator.o += -O1 OPT_CFLAGS/ciTypeFlow.o += -O1 OPT_CFLAGS/compile.o += -O1 diff -r 1000c4de30f8 -r d11542907511 make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Wed May 30 10:20:02 2012 -0400 +++ b/make/linux/makefiles/gcc.make Thu May 31 06:42:18 2012 -0400 @@ -160,7 +160,7 @@ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) # The flags to use for an Optimized g++ build -OPT_CFLAGS += -O0 +OPT_CFLAGS += -O3 # Hotspot uses very unstrict aliasing turn this optimization off OPT_CFLAGS += -fno-strict-aliasing diff -r 1000c4de30f8 -r d11542907511 make/solaris/makefiles/gcc.make --- a/make/solaris/makefiles/gcc.make Wed May 30 10:20:02 2012 -0400 +++ b/make/solaris/makefiles/gcc.make Thu May 31 06:42:18 2012 -0400 @@ -121,7 +121,7 @@ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) # The flags to use for an Optimized g++ build -OPT_CFLAGS += -O0 +OPT_CFLAGS += -O3 # Hotspot uses very unstrict aliasing turn this optimization off OPT_CFLAGS += -fno-strict-aliasing diff -r 1000c4de30f8 -r d11542907511 src/cpu/zero/vm/asm_helper.cpp --- a/src/cpu/zero/vm/asm_helper.cpp Wed May 30 10:20:02 2012 -0400 +++ b/src/cpu/zero/vm/asm_helper.cpp Thu May 31 06:42:18 2012 -0400 @@ -403,8 +403,6 @@ return thread->pending_exception(); } -extern "C" void ps(); - extern "C" oop Helper_SafePoint(JavaThread *thread) { { @@ -414,15 +412,6 @@ return thread->pending_exception(); } -extern "C" oop Helper_SafePoint2(JavaThread *thread) -{ - { - HandleMarkCleaner __hmc(thread); - } - SafepointSynchronize::block(thread); - return thread->pending_exception(); -} - extern "C" void Helper_RaiseArrayBoundException(JavaThread *thread, int index) { char message[jintAsStringSize]; diff -r 1000c4de30f8 -r d11542907511 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Wed May 30 10:20:02 2012 -0400 +++ b/src/os/linux/vm/os_linux.cpp Thu May 31 06:42:18 2012 -0400 @@ -4215,11 +4215,8 @@ Linux::fast_thread_clock_init(); // Allocate a single page and mark it as readable for safepoint polling - julong foo = (julong) ::mmap(NULL, 65536, PROT_READ, - MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0); - address polling_page = (address)(foo & -65536L); - if ((julong)polling_page < foo) - polling_page += 65536; + address polling_page = (address) ::mmap(NULL, Linux::page_size(), PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + guarantee( polling_page != MAP_FAILED, "os::init_2: failed to allocate polling page" ); os::set_polling_page( polling_page ); diff -r 1000c4de30f8 -r d11542907511 src/share/vm/gc_implementation/shared/markSweep.cpp --- a/src/share/vm/gc_implementation/shared/markSweep.cpp Wed May 30 10:20:02 2012 -0400 +++ b/src/share/vm/gc_implementation/shared/markSweep.cpp Thu May 31 06:42:18 2012 -0400 @@ -30,11 +30,6 @@ #include "oops/objArrayKlass.inline.hpp" #include "oops/oop.inline.hpp" - -void *arse[2]; - -void sa(void*a, void *b) { arse[0] = a; arse [1] = b; } - Stack MarkSweep::_marking_stack; Stack MarkSweep::_revisit_mdo_stack; Stack MarkSweep::_revisit_klass_stack; diff -r 1000c4de30f8 -r d11542907511 src/share/vm/gc_implementation/shared/markSweep.inline.hpp --- a/src/share/vm/gc_implementation/shared/markSweep.inline.hpp Wed May 30 10:20:02 2012 -0400 +++ b/src/share/vm/gc_implementation/shared/markSweep.inline.hpp Thu May 31 06:42:18 2012 -0400 @@ -43,15 +43,9 @@ } } -extern "C" void *arse[2]; - -extern "C" void sa(void*a, void *b); - template inline void MarkSweep::follow_root(T* p) { assert(!Universe::heap()->is_in_reserved(p), "roots shouldn't be things within the heap"); - if (arse[0] <= (void *)p && arse[1] >= (void *)p) - fprintf(stderr, "Whip\n"); #ifdef VALIDATE_MARK_SWEEP if (ValidateMarkSweep) { guarantee(!_root_refs_stack->contains(p), "should only be in here once"); diff -r 1000c4de30f8 -r d11542907511 src/share/vm/interpreter/bytecodeInterpreter.cpp --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed May 30 10:20:02 2012 -0400 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu May 31 06:42:18 2012 -0400 @@ -1507,13 +1507,7 @@ CASE(_freturn): { // Allow a safepoint before returning to frame manager. - if ( SafepointSynchronize::is_synchronizing()) { - { - /* zap freed handles rather than GC'ing them */ - HandleMarkCleaner __hmc(THREAD); - } - CALL_VM(SafepointSynchronize::block(THREAD), handle_exception); - } + SAFEPOINT; goto handle_return; } diff -r 1000c4de30f8 -r d11542907511 src/share/vm/runtime/frame.cpp --- a/src/share/vm/runtime/frame.cpp Wed May 30 10:20:02 2012 -0400 +++ b/src/share/vm/runtime/frame.cpp Thu May 31 06:42:18 2012 -0400 @@ -785,9 +785,6 @@ } if (in_stack) { _f->do_oop(addr); - } else { - fprintf(stderr, "Arse! %p\n", - _fr->interpreter_frame_tos_address()); } } } diff -r 1000c4de30f8 -r d11542907511 src/share/vm/runtime/vmThread.cpp --- a/src/share/vm/runtime/vmThread.cpp Wed May 30 10:20:02 2012 -0400 +++ b/src/share/vm/runtime/vmThread.cpp Thu May 31 06:42:18 2012 -0400 @@ -245,39 +245,6 @@ } } -class BangerThread : NamedThread -{ -public: - - static BangerThread *the_thread; - - static void create() { - the_thread = new BangerThread(); - os::create_thread (the_thread, os::watcher_thread); - Thread::start(the_thread); - } - - BangerThread() : NamedThread() { - set_name("banger"); - } - - void run() { - struct timespec req; - req.tv_nsec = 0.5e9; - req.tv_sec = 0; - - for (;;) - { - nanosleep(&req, NULL); - // VM_ForceSafepoint op; - // VMThread::execute(&op); - Universe::heap()->collect(GCCause::_java_lang_system_gc); - } - } -}; - -BangerThread *BangerThread::the_thread; - void VMThread::run() { assert(this == vm_thread(), "check"); @@ -302,8 +269,6 @@ // possible to set the VM thread priority higher than any Java thread. os::set_native_priority( this, prio ); - BangerThread::create(); - // Wait for VM_Operations until termination this->loop(); From ptisnovs at redhat.com Thu May 31 08:30:46 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 31 May 2012 17:30:46 +0200 Subject: Reviewer needed: small patch for a LETypes.h + "6501644: sync LayoutEngine *code* structure to match ICU" for IcedTea6 HEAD Message-ID: <4FC78EA6.6070709@redhat.com> Hi, to be able to backport "6886358: layout code update" (== fix for PR1018) into IcedTea6 HEAD it is needed to synchronize OpenJDK6 sources with OpenJDK7. To do that the "6501644: sync LayoutEngine *code* structure to match ICU" should be backported to IcedTea6 HEAD + I added a small patch for a header file LETypes.h to allow the patch to be applied cleanly. Can anybody please review this small fix + backport of "6501644: sync LayoutEngine *code* structure to match ICU" into IcedTea6 HEAD? It's been tested w/o problems ATM. ChangeLog entry: 2012-05-31 Pavel Tisnovsky * patches/letypes-header.patch: Fix for the header file LETypes.h to allow the following patch to be applied cleanly. * patches/openjdk/6501644-sync-LayoutEngine-code-to-match-ICU.patch: 6501644: sync LayoutEngine *code* structure to match ICU * Makefile.am: Updated. Cheers, Pavel -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120531/1a9d3c7c/hg.diff From adomurad at redhat.com Thu May 31 12:31:56 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 31 May 2012 15:31:56 -0400 Subject: [rfc][icedtea-web] Tiny patch to make last param in applet tag take effect, was first In-Reply-To: <4FC7141E.3030007@redhat.com> References: <1338411425.24497.34.camel@voip-10-15-18-79.yyz.redhat.com> <4FC68B5C.8040106@redhat.com> <4FC68DD1.6050701@redhat.com> <4FC7141E.3030007@redhat.com> Message-ID: <1338492716.24497.41.camel@voip-10-15-18-79.yyz.redhat.com> Gah. Always forget to group-reply. Here are two reproducers, one for checking that the final param is taken in a .jnlp file (current behaviour), and one for checking that the final param is taken in a .html file (post-patch behaviour). ChangeLog: 2012-05-31 Adam Domurad Reproducers to ensure that equivalent parameters take the value of the second parameter tag to occur. * tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.html: New, tests parameter duplication in applet-tags. * tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp: New, tests parameter duplication in jnlp files. * tests/jnlp_tests/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java: New, reads a duplicated parameter, 'param'. * tests/jnlp_tests/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java: New, drives test for duplicated param in .jnlp and .html files. Cheers, Adam On Thu, 2012-05-31 at 08:47 +0200, Jiri Vanek wrote: > On 05/30/2012 11:14 PM, Omair Majid wrote: > > On 05/30/2012 05:04 PM, Omair Majid wrote: > >> On 05/30/2012 04:57 PM, Adam Domurad wrote: > >>> Tiny patch to make handling of applet tags more like Oracle's plugin. > >>> This makes our plugin take into account the last tag with > >>> the same 'name'. It was taking into account the first such tag. > >>> > >>> 2012-05-30 Adam Domurad > >>> > >>> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > >>> (parse) Small change to have last tag to > >>> take effect. > >> > > > > Btw, I would strongly encourage you to write a reproducer (or unit) test > > for this. > > > > Cheers, > > Omair > > Definitely. Please provide reproducer before push of this changeset. > > Thanx in advance, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducers-param-dupe.patch Type: text/x-patch Size: 10928 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120531/a7e367d9/reproducers-param-dupe.patch From smohammad at redhat.com Thu May 31 13:26:08 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Thu, 31 May 2012 16:26:08 -0400 Subject: [RFC][icedtea-web] Signed JNLP file: added regression tests In-Reply-To: <4FC4868A.7020204@redhat.com> References: <4FBBEA1F.6010007@redhat.com> <4FBCE9AE.5020808@redhat.com> <4FC3AFE8.1090406@redhat.com> <4FC3D21C.5090509@redhat.com> <4FC3F434.3080006@redhat.com> <4FC4868A.7020204@redhat.com> Message-ID: <4FC7D3E0.7040202@redhat.com> Hi, From previous reviews and suggestions, I have updated the patch which tests the launch of applications with unsigned and signed jnlp file. The test ensures that a signed jnlp file is checked/validated (if found) at launch and the appropriate actions are taken depending on the validation. * Changelog entry is attached. On a side note (and as mentioned in my previous email), Oracle's JDK validates the jnlp file (if found within jar) regardless of whether it is signed or not. But according to their specification (section 5.4): "A JNLP file can optionally be signed. A JNLP Client must check if a signed version of the JNLP file or JNLP template exist, and if so, verify that at least one of them match the JNLP file that is used to launch the application. If a match is not found (see below), then the launch must be aborted. If no signed JNLP file or JNLP template exist, then the JNLP file is not signed, and no check needs to be performed." "A JNLP file is signed either by including a copy of it in the signed main JAR file, or by including a matching (see below) template file in the signed main JAR file." After running some tests, I can say IcedTea-Web behaves according to the specification. I'm just curious to whether this is fine or if we would like IcedTea-Web to behave similar to Oracle's JDK. Also, because of this, the unsigned tests (included in the patch) ensures no signed jnlp file is checked (because the jar is unsigned). Any thoughts? Thanks. :) -- Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: patch09WithALL.patch Type: text/x-patch Size: 94971 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120531/a79024c3/patch09WithALL.patch -------------- next part -------------- 2012-05-28 Saad Mohammad Added signed jnlp file regression tests. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java: Testcase that tests the launching of applications with a signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java: Testcase that tests the launching of applications with a signed jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp: Launching jnlp file that matches the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp: Launching jnlp file that does not match the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java: Testcase that tests the launching of applications with an unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp: Launching jnlp file that matches the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp: Launching jnlp file that does not match the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java: Testcase that tests the launching of applications with an unsigned jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java: Testcase that tests the case-sensitivity of the signed jnlp application's filename. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java: Testcase that tests the case-sensitivity of the signed jnlp application template's filename. From bugzilla-daemon at icedtea.classpath.org Thu May 31 15:21:52 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 31 May 2012 22:21:52 +0000 Subject: [Bug 1021] New: Runescape fails to run Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1021 Priority: P3 Bug ID: 1021 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: Runescape fails to run Severity: normal Classification: Unclassified OS: Linux Reporter: omajid at redhat.com Hardware: x86_64 Status: NEW Version: unspecified Component: Plugin Product: IcedTea-Web Someone just reported in #fedora-java that runescape fails to run for them using Fedora 17 (that would be icedtea-web 1.2). The url they pointed me to was: http://www.runescape.com/game.ws?j=1 I tried with a custom icedtea-web build (IcedTea-Web 1.3pre+r8c9b71e1db03) and got an exception: java version "1.7.0_b147-icedtea" OpenJDK Runtime Environment (fedora-2.1.fc16.1-x86_64) OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) sun.awt.image.ImageFormatException: Unsupported color conversion request at sun.awt.image.JPEGImageDecoder.readImage(Native Method) at sun.awt.image.JPEGImageDecoder.produceImage(JPEGImageDecoder.java:136) at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269) at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205) at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169) Not sure if this is an openjdk bug or a problem in the plugin. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120531/0e469f40/attachment.html