From bugzilla-daemon at icedtea.classpath.org Mon Apr 3 18:36:50 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Apr 2017 18:36:50 +0000
Subject: [Bug 3345] New: SIGBUS error with JRE when using eclipse
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3345
Bug ID: 3345
Summary: SIGBUS error with JRE when using eclipse
Product: IcedTea
Version: unspecified
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P5
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: birkeland.ole at gmail.com
CC: unassigned at icedtea.classpath.org
Created attachment 1614
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1614&action=edit
The dump I got.
Compiling a rather large apk-file for android "Export signed application
package" in Eclipse I get this error. This has previously worked, but I have
noticed that a new libzip.so has been uploaded automatically.
I see that it has been reoprted on the web:
http://askubuntu.com/questions/548241/sigbus-error-with-jre-when-using-eclipse
Below is a screen dump:
ob at Aptiva ~ $ eclipse -i
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0x7) at pc=0x00007f34eea39fcd, pid=4415, tid=139864302417664
#
# JRE version: OpenJDK Runtime Environment (7.0_121) (build 1.7.0_121-b00)
# Java VM: OpenJDK 64-Bit Server VM (24.121-b00 mixed mode linux-amd64
compressed oops)
# Derivative: IcedTea 2.6.8
# Distribution: Ubuntu 14.04 LTS, package 7u121-2.6.8-1ubuntu0.14.04.3
# Problematic frame:
# C [libzip.so+0x4fcd]
#
# Failed to write core dump. Core dumps have been disabled. To enable core
dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/ob/hs_err_pid4415.log
Compiled method (nm) 182436 334 n java.util.zip.ZipFile::getEntry
(native)
total in heap [0x00007f34e5083490,0x00007f34e5083828] = 920
relocation [0x00007f34e50835b0,0x00007f34e5083610] = 96
main code [0x00007f34e5083620,0x00007f34e5083828] = 520
Compiled method (nm) 182436 334 n java.util.zip.ZipFile::getEntry
(native)
total in heap [0x00007f34e5083490,0x00007f34e5083828] = 920
relocation [0x00007f34e50835b0,0x00007f34e5083610] = 96
main code [0x00007f34e5083620,0x00007f34e5083828] = 520
#
# 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.
#
ob at Aptiva ~ $
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:08:35 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:08:35 +0000
Subject: [Bug 3307] 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=3307
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |devurandom at gmx.net
--- Comment #5 from Andrew John Hughes ---
*** Bug 3344 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:08:35 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:08:35 +0000
Subject: [Bug 3344] javax.net.ssl.SSLException:
java.security.ProviderException: java.io.IOException: Only uncompressed point
format supported
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3344
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #2 from Andrew John Hughes ---
I replicated this locally and then resolved it by rebuilding IcedTea. The issue
is that NSS has been updated since you last built IcedTea. If you re-emerge
IcedTea, the problem should be fixed.
*** This bug has been marked as a duplicate of bug 3307 ***
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:13:29 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:13:29 +0000
Subject: [Bug 3346] New: [IcedTea8] Backport "6515172:
Runtime.availableProcessors() ignores Linux taskset command"
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3346
Bug ID: 3346
Summary: [IcedTea8] Backport "6515172:
Runtime.availableProcessors() ignores Linux taskset
command"
Product: IcedTea
Version: 8-hg
Hardware: all
OS: All
Status: NEW
Severity: enhancement
Priority: P5
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: gnu.andrew at redhat.com
CC: unassigned at icedtea.classpath.org
https://bugs.openjdk.java.net/browse/JDK-6515172
http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/c5480d4abfe4
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:13:51 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:13:51 +0000
Subject: [Bug 3298] [TRACKER] IcedTea 3.4.0 Release
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3298
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |3346
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:13:51 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:13:51 +0000
Subject: [Bug 3346] [IcedTea8] Backport "6515172:
Runtime.availableProcessors() ignores Linux taskset command"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3346
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Blocks| |3298
Target Milestone|--- |3.4.0
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:23:50 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:23:50 +0000
Subject: [Bug 3345] SIGBUS error with JRE when using eclipse
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3345
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|unspecified |2.6.8
Severity|enhancement |normal
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 00:25:40 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 00:25:40 +0000
Subject: [Bug 3345] SIGBUS error with JRE when using eclipse
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3345
--- Comment #1 from Andrew John Hughes ---
What version of zlib do you have installed?
Do you have the zip file which is causing the error?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 01:32:35 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 01:32:35 +0000
Subject: [Bug 3347] New: [IcedTea7] jstack.stp should support AArch64
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3347
Bug ID: 3347
Summary: [IcedTea7] jstack.stp should support AArch64
Product: IcedTea
Version: 7-hg
Hardware: aarch64
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: gnu.andrew at redhat.com
CC: unassigned at icedtea.classpath.org
Clone of bug 3340 for IcedTea 2.x.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 01:39:05 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 01:39:05 +0000
Subject: [Bug 3347] [IcedTea7] jstack.stp should support AArch64
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3347
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Target Milestone|--- |2.6.10
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 01:44:27 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 01:44:27 +0000
Subject: [Bug 901] [IcedTea6] [METABUG] Give top priority to the PKCS11 NSS
provider, due to performance advantages
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=901
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |LATER
--- Comment #4 from Andrew John Hughes ---
Memory leaks make this currently unfeasible:
http://bugs.sun.com/view_bug.do?bug_id=6913047
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 01:44:29 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 01:44:29 +0000
Subject: [Bug 1503] [TRACKER] IcedTea6 1.14 Release
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1503
Bug 1503 depends on bug 901, which changed state.
Bug 901 Summary: [IcedTea6] [METABUG] Give top priority to the PKCS11 NSS provider, due to performance advantages
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=901
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |LATER
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 02:03:09 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 02:03:09 +0000
Subject: [Bug 3348] New: [IcedTea8] Architectures unsupported by SystemTap
tapsets throw a parse error
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3348
Bug ID: 3348
Summary: [IcedTea8] Architectures unsupported by SystemTap
tapsets throw a parse error
Product: IcedTea
Version: 8-hg
Hardware: all
OS: All
Status: NEW
Severity: normal
Priority: P5
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: gnu.andrew at redhat.com
CC: unassigned at icedtea.classpath.org
https://bugzilla.redhat.com/show_bug.cgi?id=1438514
1. Try to compile a systemtap script:
====
# stap -e 'probe begin { exit() }'
parse error: expected literal string or number
saw: operator '*' at
/usr/share/systemtap/tapset/powerpc/jstack-1.8.0.121-9.b14.el7.ppc64.stp:109:6
source: %: **ERROR** unknown architecture
^
1 parse error.
WARNING: tapset
"/usr/share/systemtap/tapset/powerpc/jstack-1.8.0.121-9.b14.el7.ppc64.stp" has
errors, and will be skipped
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 02:03:27 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 02:03:27 +0000
Subject: [Bug 3348] [IcedTea8] Architectures unsupported by SystemTap tapsets
throw a parse error
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3348
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
URL| |https://bugzilla.redhat.com
| |/show_bug.cgi?id=1438514
Blocks| |3298
Target Milestone|--- |3.4.0
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 02:03:27 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 02:03:27 +0000
Subject: [Bug 3298] [TRACKER] IcedTea 3.4.0 Release
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3298
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |3348
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 02:09:09 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 02:09:09 +0000
Subject: [Bug 3349] New: [IcedTea7] Architectures unsupported by SystemTap
tapsets throw a parse error
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3349
Bug ID: 3349
Summary: [IcedTea7] Architectures unsupported by SystemTap
tapsets throw a parse error
Product: IcedTea
Version: 7-hg
Hardware: all
OS: All
Status: NEW
Severity: normal
Priority: P5
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: gnu.andrew at redhat.com
CC: unassigned at icedtea.classpath.org
Clone of bug 3348 for IcedTea 2.x.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 02:09:24 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 02:09:24 +0000
Subject: [Bug 3349] [IcedTea7] Architectures unsupported by SystemTap tapsets
throw a parse error
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3349
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Target Milestone|--- |2.6.10
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Tue Apr 4 07:53:29 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Apr 2017 07:53:29 +0000
Subject: [Bug 3344] javax.net.ssl.SSLException:
java.security.ProviderException: java.io.IOException: Only uncompressed point
format supported
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3344
Dennis Schridde changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://bugs.gentoo.org/sho
| |w_bug.cgi?id=614604,
| |https://bugs.gentoo.org/sho
| |w_bug.cgi?id=605430
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 08:44:43 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 08:44:43 +0000
Subject: [Bug 3350] New: Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
Bug ID: 3350
Summary: Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
Product: IcedTea-Web
Version: hg
Hardware: x86_64
OS: Linux
Status: NEW
Severity: blocker
Priority: P5
Component: NetX (javaws)
Assignee: jvanek at redhat.com
Reporter: stefan at kemtrak.com
CC: unassigned at icedtea.classpath.org
Running OpenJDK Java 8 with latest IcedTea-Netx, with a jnlp file version spec
"7.0+" without codebase attribute (Document base).
Earliest allowed version in the jnlp file is 1.7.0.45 and security
"all-permissions". Jar codebase files are signed.
The file and code has been developed and running in all platforms (Windows
XP-7-8-10, Mac OS, with various browsers and Oracle Java 7.45+ to latest 8
versions) and also runs perfectly in Linux with Oracle Java/Web start by
running
javaws 192.168./xxxx.jnlp in the terminal
However with IcedTea webstart I get
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not
initialize applet. For more information click "more information button". ????at
net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:764) ????at
net.sourceforge.jnlp.Launcher.launchApplet(Launcher.java:653) ????at
net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:939) Caused by:
java.lang.NullPointerException ????at
net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
????at
net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkApplicationLibraryAllowableCodebaseAttribute(ManifestAttributesChecker.java:426)
????at
net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:122)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:777)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:285) ?
??at
net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:357)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:429)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:403)
????at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:729) ????... 2
more
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not
initialize applet. For more information click "more information button". ????at
net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:764) ????at
net.sourceforge.jnlp.Launcher.launchApplet(Launcher.java:653) ????at
net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:939) Caused by:
java.lang.NullPointerException ????at
net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
????at
net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkApplicationLibraryAllowableCodebaseAttribute(ManifestAttributesChecker.java:426)
????at
net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:122)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:777)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:285) ?
??at
net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:357)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:429)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:403)
????at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:729) ????... 2
more
netx: Initialization Error: Could not initialize applet. ()
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not
initialize applet. For more information click "more information button". ????at
net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:764) ????at
net.sourceforge.jnlp.Launcher.launchApplet(Launcher.java:653) ????at
net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:939) Caused by:
java.lang.NullPointerException ????at
net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
????at
net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkApplicationLibraryAllowableCodebaseAttribute(ManifestAttributesChecker.java:426)
????at
net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:122)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:777)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:285) ?
??at
net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:357)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:429)
????at
net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:403)
????at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:729) ????... 2
more
netx: Initialization Error: Could not initialize applet. ()
Stored action for matching alaca at null was null
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 10:46:48 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 10:46:48 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P5 |P3
Status|NEW |ASSIGNED
Severity|blocker |normal
--- Comment #1 from JiriVanek ---
Hi, this is very cnfusing report.
(In reply to stefan from comment #0)
> Running OpenJDK Java 8 with latest IcedTea-Netx, with a jnlp file version
java8, ok, what is ITW verison? or is it head?
> spec "7.0+" without codebase attribute (Document base).
> Earliest allowed version in the jnlp file is 1.7.0.45 and security
That is something better to not to use, but should work fine.
> "all-permissions". Jar codebase files are signed.
> The file and code has been developed and running in all platforms (Windows
> XP-7-8-10, Mac OS, with various browsers and Oracle Java 7.45+ to latest 8
> versions) and also runs perfectly in Linux with Oracle Java/Web start by
> running
Those should be irrelevant, but other security settings are. Se below.
> javaws 192.168./xxxx.jnlp in the terminal
>
To fix it in itw (if it is something to fix at all) I need URL where I can
debug, or the snapshot and deploy instructions of your application.
In this case jnlp file may be enough.
> However with IcedTea webstart I get
>
..
> java.lang.NullPointerException at
> net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
This looks like error in ALACA (application allowable codebase). This may
happen when some mandatory field is missing in jnlp/manifest. I believe all
coarsenesses were fixed in alaca dialogue, so the NPE should not happen - tahts
why I'm asking for exact version.
The oracle javaws is a bit more benevolent to jnlp specification then ITW is,
but thats not an apologise for ITW.
You should be able to workaround this by disabling security manifest checks:
cat ~/.config/icedtea-web/deployment.properties
#Netx deployment configuration
#Wed Apr 05 12:51:00 CEST 2017
deployment.manifest.attributes.check=NONE
Maybe add also:
deployment.security.level=ALLOW_UNSIGNED
see:
~/icedtea-web-image/bin/itweb-settings --verbose --help | grep manifest
maybe it will be enough to set to al but ALAC
Anyway this is not solution for your customers, so, help me to help you.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 11:09:53 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 11:09:53 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #2 from stefan at kemtrak.com ---
Created attachment 1615
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1615&action=edit
JNLP file (calls the applet jar files which I have not attached)
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 11:19:39 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 11:19:39 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #3 from stefan at kemtrak.com ---
Hi,
thanks for the quick reply and apologies for my confusing report. Please don't
hesitate to ask for more info.
(In reply to JiriVanek from comment #1)
> Hi, this is very cnfusing report.
> (In reply to stefan from comment #0)
> > Running OpenJDK Java 8 with latest IcedTea-Netx, with a jnlp file version
>
> java8, ok, what is ITW verison? or is it head?
ITW version 1.6.2-3ubuntu1
>
> > spec "7.0+" without codebase attribute (Document base).
> > Earliest allowed version in the jnlp file is 1.7.0.45 and security
>
> That is something better to not to use, but should work fine.
>
> > "all-permissions". Jar codebase files are signed.
> > The file and code has been developed and running in all platforms (Windows
> > XP-7-8-10, Mac OS, with various browsers and Oracle Java 7.45+ to latest 8
> > versions) and also runs perfectly in Linux with Oracle Java/Web start by
> > running
>
> Those should be irrelevant, but other security settings are. Se below.
> > javaws 192.168./xxxx.jnlp in the terminal
> >
>
> To fix it in itw (if it is something to fix at all) I need URL where I can
> debug, or the snapshot and deploy instructions of your application.
>
> In this case jnlp file may be enough.
I have attached the jnlp file. This is an applet started now by Web Start in
order to work around the fact that the latest browser no longer allow java
plugins. This code is on the server of different instruments. The user connects
to the instrument by typing its IP address in a browser and can through the
code interact with the instrument. That is why the jnlp file has no codebase
(according to jnlp spec 7.0+) - the codebase is the document base which is
different on every instrument.
>
> > However with IcedTea webstart I get
> >
> ..
>
> > java.lang.NullPointerException at
> > net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
>
>
> This looks like error in ALACA (application allowable codebase). This may
> happen when some mandatory field is missing in jnlp/manifest. I believe all
> coarsenesses were fixed in alaca dialogue, so the NPE should not happen -
> tahts why I'm asking for exact version.
> The oracle javaws is a bit more benevolent to jnlp specification then ITW
> is, but thats not an apologise for ITW.
>
> You should be able to workaround this by disabling security manifest checks:
>
> cat ~/.config/icedtea-web/deployment.properties
> #Netx deployment configuration
> #Wed Apr 05 12:51:00 CEST 2017
> deployment.manifest.attributes.check=NONE
>
> Maybe add also:
> deployment.security.level=ALLOW_UNSIGNED
>
>
Thanks for the tip. If I understand correctly these are itweb-settings on the
client. For this code, different users/computers need to be able to connect to
the instruments/code remotely so every user would need to change their settings
for the tip to work. Which could be indeed the fix if nothing else is possible.
It would however be my last resort. Ideally it should run on the default
settings if possible, so that it would be (in a sense) plug-and-play for the
user.
>
> see:
> ~/icedtea-web-image/bin/itweb-settings --verbose --help | grep manifest
>
> maybe it will be enough to set to al but ALAC
>
> Anyway this is not solution for your customers, so, help me to help you.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 12:04:09 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 12:04:09 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #4 from JiriVanek ---
> ITW version 1.6.2-3ubuntu1
Indeed the latest released. I'm wondering about head.
> >
> > > spec "7.0+" without codebase attribute (Document base).
> > > Earliest allowed version in the jnlp file is 1.7.0.45 and security
> >
> > That is something better to not to use, but should work fine.
...
> >
> > In this case jnlp file may be enough.
>
> I have attached the jnlp file. This is an applet started now by Web Start in
> order to work around the fact that the latest browser no longer allow java
> plugins. This code is on the server of different instruments. The user
> connects to the instrument by typing its IP address in a browser and can
> through the code interact with the instrument. That is why the jnlp file has
> no codebase (according to jnlp spec 7.0+) - the codebase is the document
> base which is different on every instrument.
Hmm..not much more clever from this but ok :)
>
> >
> > > However with IcedTea webstart I get
> > >
> > ..
> >
> > > java.lang.NullPointerException at
> > > net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
> >
> >
> > This looks like error in ALACA (application allowable codebase). This may
> > happen when some mandatory field is missing in jnlp/manifest. I believe all
> > coarsenesses were fixed in alaca dialogue, so the NPE should not happen -
> > tahts why I'm asking for exact version.
> > The oracle javaws is a bit more benevolent to jnlp specification then ITW
> > is, but thats not an apologise for ITW.
> >
> > You should be able to workaround this by disabling security manifest checks:
> >
> > cat ~/.config/icedtea-web/deployment.properties
> > #Netx deployment configuration
> > #Wed Apr 05 12:51:00 CEST 2017
> > deployment.manifest.attributes.check=NONE
> >
> > Maybe add also:
> > deployment.security.level=ALLOW_UNSIGNED
> >
> >
> Thanks for the tip. If I understand correctly these are itweb-settings on
yes
> the client. For this code, different users/computers need to be able to
> connect to the instruments/code remotely so every user would need to change
indeed.
> their settings for the tip to work. Which could be indeed the fix if nothing
> else is possible. It would however be my last resort. Ideally it should run
> on the default settings if possible, so that it would be (in a sense)
> plug-and-play for the user.
Still, may you please verify it helped?
>
> >
> > see:
> > ~/icedtea-web-image/bin/itweb-settings --verbose --help | grep manifest
> >
> > maybe it will be enough to set to al but ALAC
> >
> > Anyway this is not solution for your customers, so, help me to help you.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 12:17:50 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 12:17:50 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #5 from JiriVanek ---
Looks like the bug is pretty obvious...
http://icedtea.classpath.org/hg/release/icedtea-web-1.6/file/tip/netx/net/sourceforge/jnlp/security/SecurityDialogs.java#l405
nullable codebase can flow here....
looks like the issue is fixed in head:
http://icedtea.classpath.org/hg/icedtea-web/file/tip/netx/net/sourceforge/jnlp/security/SecurityDialogs.java#l262
will look more precisely now.
btw next release of 1.6 is not planed. So the patch to 1.6 will need to go
through ubuntu.
After 1.7 is released (should have been in March, but is delayed by de/pl
translation) i will strongly advise every distro to move to 1.7
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 13:18:02 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 13:18:02 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #6 from stefan at kemtrak.com ---
Hi, see below
(In reply to JiriVanek from comment #4)
> > ITW version 1.6.2-3ubuntu1
>
> Indeed the latest released. I'm wondering about head.
> > >
> > > > spec "7.0+" without codebase attribute (Document base).
> > > > Earliest allowed version in the jnlp file is 1.7.0.45 and security
> > >
> > > That is something better to not to use, but should work fine.
> ...
> > >
> > > In this case jnlp file may be enough.
> >
> > I have attached the jnlp file. This is an applet started now by Web Start in
> > order to work around the fact that the latest browser no longer allow java
> > plugins. This code is on the server of different instruments. The user
> > connects to the instrument by typing its IP address in a browser and can
> > through the code interact with the instrument. That is why the jnlp file has
> > no codebase (according to jnlp spec 7.0+) - the codebase is the document
> > base which is different on every instrument.
>
> Hmm..not much more clever from this but ok :)
Was the jnlp file any help?
> >
> > >
> > > > However with IcedTea webstart I get
> > > >
> > > ..
> > >
> > > > java.lang.NullPointerException at
> > > > net.sourceforge.jnlp.security.SecurityDialogs.showMatchingALACAttributePanel(SecurityDialogs.java:405)
> > >
> > >
> > > This looks like error in ALACA (application allowable codebase). This may
> > > happen when some mandatory field is missing in jnlp/manifest. I believe all
> > > coarsenesses were fixed in alaca dialogue, so the NPE should not happen -
> > > tahts why I'm asking for exact version.
> > > The oracle javaws is a bit more benevolent to jnlp specification then ITW
> > > is, but thats not an apologise for ITW.
> > >
> > > You should be able to workaround this by disabling security manifest checks:
> > >
> > > cat ~/.config/icedtea-web/deployment.properties
> > > #Netx deployment configuration
> > > #Wed Apr 05 12:51:00 CEST 2017
> > > deployment.manifest.attributes.check=NONE
> > >
> > > Maybe add also:
> > > deployment.security.level=ALLOW_UNSIGNED
> > >
> > >
> > Thanks for the tip. If I understand correctly these are itweb-settings on
>
> yes
> > the client. For this code, different users/computers need to be able to
> > connect to the instruments/code remotely so every user would need to change
>
> indeed.
>
> > their settings for the tip to work. Which could be indeed the fix if nothing
> > else is possible. It would however be my last resort. Ideally it should run
> > on the default settings if possible, so that it would be (in a sense)
> > plug-and-play for the user.
>
> Still, may you please verify it helped?
OK, I have created the file deployment.properties in ~/.config/icedtea-web/
with the following content.
#Netx deployment configuration
#Wed Apr 05 12:51:00 CEST 2017
deployment.manifest.attributes.check=NONE
I got exactly the same error as before. But
Then I tried adding
deployment.security.level=ALLOW_UNSIGNED on a second try.
That made the main class load for the first time! But it didn't load the rest
of the classes contained in the jar files and it was left hanging at what I
have as boot screen.
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
2017][net.sourceforge.jnlp.Parser.getParserInstance(Parser.java:1351)] NETX
Thread# 5fd0d5ae, name main: java.lang.ClassNotFoundException:
net/sourceforge/jnlp/MalformedXMLParser
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
2017][net.sourceforge.jnlp.JNLPFile$ManifestsAttributes.getAttribute(JNLPFile.java:1076)]
NETX Thread# 5fd0d5ae, name main: Jars not ready to provide attribute
Application-Name
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:23 CEST
2017][net.sourceforge.jnlp.browser.BrowserAwareProxySelector.getFromBrowser(BrowserAwareProxySelector.java:218)]
NETX Thread# 107e976e, name itwpool-1-itwthread-1: Browser proxy option "4"
(Automatic) not supported yet.
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:23 CEST
2017][net.sourceforge.jnlp.browser.BrowserAwareProxySelector.getFromBrowser(BrowserAwareProxySelector.java:218)]
NETX Thread# 107e976e, name itwpool-1-itwthread-1: Browser proxy option "4"
(Automatic) not supported yet.
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:23 CEST
2017][net.sourceforge.jnlp.cache.ResourceDownloader.findBestUrl(ResourceDownloader.java:254)]
NETX Thread# 107e976e, name itwpool-1-itwthread-1: All possible urls for
location=http://192.168.10.201/Kemtrak.jnlp state=PRECONNECT CONNECTING
PREDOWNLOAD PROCESSING : [http://192.168.10.201/Kemtrak.jnlp,
http://192.168.10.201/Kemtrak.jnlp]
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:23 CEST
2017][net.sourceforge.jnlp.cache.ResourceDownloader.findBestUrl(ResourceDownloader.java:253)]
NETX Thread# 107e976e, name itwpool-1-itwthread-1: Finding best URL for:
http://192.168.10.201/Kemtrak.jnlp : DownloadOptions[use pack: false; use
version: false]
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:23 CEST
2017][net.sourceforge.jnlp.services.ServiceUtil$PrivilegedHandler.invoke(ServiceUtil.java:195)]
NETX Thread# 5fd0d5ae, name main:? ? ? ? result: null
[ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:23 CEST
2017][net.sourceforge.jnlp.services.ServiceUtil$PrivilegedHandler.invoke(ServiceUtil.java:177)]
NETX Thread# 5fd0d5ae, name main: call privileged method: getCodeBase
By the way both .jar files are signed.
[ITW-JAVAWS][MESSAGE_DEBUG][Wed Apr 05 14:57:32 CEST
2017][net.sourceforge.jnlp.tools.JarCertVerifier.getAlreadyTrustPublisher(JarCertVerifier.java:121)]
NETX Thread# 4bb62a0b, name Kemtrak 007: App already has trusted publisher:
true
[ITW-JAVAWS][MESSAGE_DEBUG][Wed Apr 05 14:57:32 CEST
2017][net.sourceforge.jnlp.tools.JarCertVerifier.isFullySigned(JarCertVerifier.java:186)]
NETX Thread# 4bb62a0b, name Kemtrak 007: App already has trusted publisher:
true
The manifest in the main jar file reads
Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Permissions: all-permissions
Trusted-Only: true
Application-Name: Kemtrak
Main-Class: Kemtrak
Class-path: jcalendar.jar
Codebase: *
Application-Library-Allowable-Codebase: *
> >
> > >
> > > see:
> > > ~/icedtea-web-image/bin/itweb-settings --verbose --help | grep manifest
> > >
> > > maybe it will be enough to set to al but ALAC
> > >
> > > Anyway this is not solution for your customers, so, help me to help you.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 13:21:36 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 13:21:36 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #7 from stefan at kemtrak.com ---
Hi,
I was working on an answer to your comment 4 with deployment.properties (which
I posted above) while you posted comment 5. Hope the try with the
deployment.properties helps (it ran the main class-see above), thanks for your
effort!
(In reply to JiriVanek from comment #5)
> Looks like the bug is pretty obvious...
> http://icedtea.classpath.org/hg/release/icedtea-web-1.6/file/tip/netx/net/
> sourceforge/jnlp/security/SecurityDialogs.java#l405
>
> nullable codebase can flow here....
>
>
> looks like the issue is fixed in head:
>
> http://icedtea.classpath.org/hg/icedtea-web/file/tip/netx/net/sourceforge/
> jnlp/security/SecurityDialogs.java#l262
>
>
> will look more precisely now.
>
>
> btw next release of 1.6 is not planed. So the patch to 1.6 will need to go
> through ubuntu.
> After 1.7 is released (should have been in March, but is delayed by de/pl
> translation) i will strongly advise every distro to move to 1.7
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Wed Apr 5 13:53:03 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 13:53:03 +0000
Subject: /hg/icedtea-web: 3 new changesets
Message-ID:
changeset 2b92785e1299 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2b92785e1299
author: Jiri Vanek
date: Wed Apr 05 15:06:42 2017 +0200
netx/net/sourceforge/jnlp/security/SecurityDialogs.java (AccessWarningPaneComplexReturn) fixed javadoc warning
changeset 92956304faf4 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=92956304faf4
author: Jiri Vanek
date: Wed Apr 05 15:47:28 2017 +0200
Split ENABLE_PLUGIN to ENABLE_NATIVE_PLUGIN and ENABLE_PLUGINJAR to allow build of plugin.jar and jsobject.jar without native plugin. Doing so, javaws -html may end on plugin-less system.
--disable-plugin replaced by --disable-native_plugin and --disable-plugin.jar
* configure.ac: added check, that native_plugin can not be built without pluginjar
* acinclude.m4: IT_CHECK_PLUGIN and comp. changed to IT_CHECK_NATIVE_PLUGIN and likewise. Added IT_CHECK_PLUGINJAR to allow user enable/disable plugin completely.
* .Makefile: following configure changes, ENABLE_PLUGIN renamed/split to ENABLE_NATIVE_PLUGIN and ENABLE_PLUGINJAR all testsuites keep running with --disable-native_plugin. Not so with disabled plugin completely
changeset b3d9f5bf15f6 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b3d9f5bf15f6
author: Jiri Vanek
date: Wed Apr 05 16:00:22 2017 +0200
automerge
diffstat:
ChangeLog | 26 +++++++
Makefile.am | 34 +++++----
acinclude.m4 | 33 ++++++---
configure.ac | 5 +
netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java | 7 ++
netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 1 +
netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java | 34 +++++----
7 files changed, 100 insertions(+), 40 deletions(-)
diffs (299 lines):
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 ChangeLog
--- a/ChangeLog Wed Jan 11 16:20:21 2017 +0100
+++ b/ChangeLog Wed Apr 05 16:00:22 2017 +0200
@@ -1,3 +1,29 @@
+2017-04-05 Jiri Vanek
+
+ Split ENABLE_PLUGIN to ENABLE_NATIVE_PLUGIN and ENABLE_PLUGINJAR to allow build
+ of plugin.jar and jsobject.jar without native plugin. Doing so,
+ javaws -html may end on plugin-less system.
+ --disable-plugin replaced by --disable-native_plugin and --disable-plugin.jar
+ * configure.ac: added check, that native_plugin can not be built without pluginjar
+ * acinclude.m4: IT_CHECK_PLUGIN and comp. changed to IT_CHECK_NATIVE_PLUGIN and likewise.
+ Added IT_CHECK_PLUGINJAR to allow user enable/disable plugin completely.
+ * .Makefile: following configure changes, ENABLE_PLUGIN renamed/split to
+ ENABLE_NATIVE_PLUGIN and ENABLE_PLUGINJAR
+ all testsuites keep running with --disable-native_plugin. Not so with disabled plugin completely
+
+2017-04-05 Jiri Vanek
+
+ * netx/net/sourceforge/jnlp/security/SecurityDialogs.java:
+ (AccessWarningPaneComplexReturn) fixed javadoc warning
+
+2017-01-13 Jiri Vanek
+
+ Basic certificate got command line saving support
+ * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java: if
+ dialog is CertWarningPane and should be remembered, is.
+ * netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java: extracted
+ saving method, so it can be reused
+
2017-01-11 Jiri Vanek
* icedteaweb-completion.in: improved to suggest also files in relevant cases
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 Makefile.am
--- a/Makefile.am Wed Jan 11 16:20:21 2017 +0100
+++ b/Makefile.am Wed Apr 05 16:00:22 2017 +0200
@@ -112,7 +112,7 @@
# support for javaws -html needs plugin.jar on classpath. rest of javaws works of course without it.
# plugin jar is split into plugin.jar and jsobject.jar so it can run with modular (9+) jdk
-if ENABLE_PLUGIN
+if ENABLE_PLUGINJAR
PLUGIN_JAR=$(datadir)/$(PACKAGE_NAME)/plugin.jar
JSOBJECT_JAR=$(datadir)/$(PACKAGE_NAME)/jsobject.jar
endif
@@ -165,20 +165,25 @@
net.sourceforge.jnlp.tools net.sourceforge.jnlp.util \
sun.applet
-if ENABLE_PLUGIN
-export ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin
+if ENABLE_PLUGINJAR
+export ICEDTEAPLUGIN_TARGET = stamps/liveconnect-dist.stamp
+export PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp
+export PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp
export JSOBJECT_DIRS = netscape
export SUN_APPLET_DIRS = sun/applet
+export PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
+export LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java
export LIVECONNECT_DIR = $(JSOBJECT_DIRS) $(SUN_APPLET_DIRS)
-export PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp
-export PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp
-export LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java
+endif
+#overriding ICEDTEAPLUGIN_TARGET
+if ENABLE_NATIVE_PLUGIN
export ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) stamps/liveconnect-dist.stamp
-export PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
+export ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin
#this is for plugin testcoverage
export COVERABLE_PLUGIN_DIR=$(TESTS_DIR)/icedteanp-build-with-jacoco
endif
+
if CP_SUPPORTS_REFLINK
REFLINK = --reflink=auto
endif
@@ -283,8 +288,10 @@
install-exec-local:
${mkinstalldirs} $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ $(DESTDIR)$(libdir) $(ICONS_DEST_DIR) $(BASH_CMPL_DEST_DIR)
-if ENABLE_PLUGIN
+if ENABLE_NATIVE_PLUGIN
${INSTALL_PROGRAM} $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) $(DESTDIR)$(libdir)
+endif
+if ENABLE_PLUGINJAR
${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes-applet.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes-jsobject.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar
endif
@@ -307,7 +314,7 @@
do \
${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/netx/$${files}; \
done)
-if ENABLE_PLUGIN
+if ENABLE_PLUGINJAR
(cd ${abs_top_builddir}/docs/plugin; \
for files in $$(find . -type f); \
do \
@@ -339,7 +346,7 @@
# Plugin
-if ENABLE_PLUGIN
+if ENABLE_NATIVE_PLUGIN
# IcedTeaPlugin.so.
# Separate compile and link invocations to ensure intermediate object
# is listed before -l options. See:
@@ -495,7 +502,6 @@
# although sun and netscape packages were compiled together, we pack and install them as two jars, to follow java.desktop and jdk.jsobject jdk9 modules
# the all together jar is kept for usage in tests. Feel free to remove and refactor
-
stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp
if test "x${LIVECONNECT_DIR}" != x; then \
(cd $(abs_top_builddir)/liveconnect ; \
@@ -744,7 +750,7 @@
stamps/plugin-docs.stamp:
if ENABLE_DOCS
-if ENABLE_PLUGIN
+if ENABLE_PLUGINJAR
$(SYSTEM_JDK_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
-d ${abs_top_builddir}/docs/plugin -sourcepath $(NETX_SRCDIR):$(LIVECONNECT_SRCS) \
-doctitle 'IcedTea-Web: Plugin API Specification' \
@@ -1114,7 +1120,7 @@
#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
+if ENABLE_NATIVE_PLUGIN
stamps/user-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp \
launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
if [ $(MOZILLA_FAMILY_TEST) ] ; then \
@@ -1567,7 +1573,7 @@
# plugin tests
-if ENABLE_PLUGIN
+if ENABLE_NATIVE_PLUGIN
stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp
mkdir -p plugin/tests/LiveConnect
$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 acinclude.m4
--- a/acinclude.m4 Wed Jan 11 16:20:21 2017 +0100
+++ b/acinclude.m4 Wed Apr 05 16:00:22 2017 +0200
@@ -371,22 +371,33 @@
AC_SUBST($2_AVAILABLE)
])
-AC_DEFUN_ONCE([IT_CHECK_PLUGIN],
+AC_DEFUN_ONCE([IT_CHECK_NATIVE_PLUGIN],
[
AC_MSG_CHECKING([whether to build the browser plugin])
-AC_ARG_ENABLE([plugin],
- [AS_HELP_STRING([--disable-plugin],
+AC_ARG_ENABLE([native_plugin],
+ [AS_HELP_STRING([--disable-native-plugin],
[Disable compilation of browser plugin])],
- [enable_plugin="${enableval}"], [enable_plugin="yes"])
-AC_MSG_RESULT(${enable_plugin})
+ [enable_native_plugin="${enableval}"], [enable_native_plugin="yes"])
+AC_MSG_RESULT(${enable_native_plugin})
])
-AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES],
+AC_DEFUN_ONCE([IT_CHECK_PLUGINJAR],
+[
+AC_MSG_CHECKING([whether to build plugin jar for javaws -html])
+AC_ARG_ENABLE([pluginjar],
+ [AS_HELP_STRING([--disable-pluginjar],
+ [Disable compilation of plugin.jar for javaws -html])],
+ [enable_pluginjar="${enableval}"], [enable_pluginjar="yes"])
+AC_MSG_RESULT(${enable_pluginjar})
+AM_CONDITIONAL(ENABLE_PLUGINJAR, test "x${enable_pluginjar}" = "xyes")
+])
+
+AC_DEFUN_ONCE([IT_CHECK_NATIVE_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
+AC_REQUIRE([IT_CHECK_NATIVE_PLUGIN])
+if test "x${enable_native_plugin}" = "xyes" ; then
PKG_CHECK_MODULES(GLIB, glib-2.0)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
@@ -403,13 +414,13 @@
AC_SUBST(MOZILLA_CFLAGS)
AC_SUBST(MOZILLA_LIBS)
fi
-AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes")
+AM_CONDITIONAL(ENABLE_NATIVE_PLUGIN, test "x${enable_native_plugin}" = "xyes")
])
AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_VERSION],
[
-AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES])
-if test "x${enable_plugin}" = "xyes"
+AC_REQUIRE([IT_CHECK_NATIVE_PLUGIN_DEPENDENCIES])
+if test "x${enable_native_plugin}" = "xyes"
then
AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[
if pkg-config --modversion libxul >/dev/null 2>&1
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 configure.ac
--- a/configure.ac Wed Jan 11 16:20:21 2017 +0100
+++ b/configure.ac Wed Apr 05 16:00:22 2017 +0200
@@ -54,6 +54,11 @@
IT_SET_VERSION
IT_CHECK_XULRUNNER_VERSION
+IT_CHECK_PLUGINJAR
+
+if test "$enable_native_plugin" = yes -a ! "$enable_pluginjar" = yes ; then
+ AC_MSG_ERROR([$enable_native_plugin/$enable_pluginjar you can not build native_plugin without pluginjar])
+fi
dnl PR46074 (gcc) - Missing java.net cookie code required by IcedTea plugin
dnl IT563 - NetX uses sun.security code
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java
--- a/netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java Wed Jan 11 16:20:21 2017 +0100
+++ b/netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java Wed Apr 05 16:00:22 2017 +0200
@@ -50,6 +50,7 @@
import net.sourceforge.jnlp.runtime.Translator;
import net.sourceforge.jnlp.security.appletextendedsecurity.UnsignedAppletTrustConfirmation;
import net.sourceforge.jnlp.security.dialogresults.BasicDialogValue;
+import net.sourceforge.jnlp.security.dialogs.CertWarningPane;
import net.sourceforge.jnlp.security.dialogs.remember.RememberDialog;
import net.sourceforge.jnlp.security.dialogs.remember.RememberableDialog;
import net.sourceforge.jnlp.security.dialogs.remember.SavedRememberAction;
@@ -208,6 +209,12 @@
if (message.userResponse != null) {
value = message.userResponse.writeValue();
}
+ if (dialog.getSecurityDialogPanel() instanceof CertWarningPane) {
+ CertWarningPane cp = (CertWarningPane) (dialog.getSecurityDialogPanel());
+ if (remember) {
+ cp.saveCert();
+ }
+ }
RememberDialog.getInstance().setOrUpdateRememberedState(dialog, codebase, new SavedRememberAction(RememberDialog.createAction(remember, message.userResponse), value));
} catch (Exception ex) {
OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, ex);
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 netx/net/sourceforge/jnlp/security/SecurityDialogs.java
--- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Wed Jan 11 16:20:21 2017 +0100
+++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Wed Apr 05 16:00:22 2017 +0200
@@ -122,6 +122,7 @@
*
* @param accessType the type of system access requested.
* @param file the jnlp file associated with the requesting application.
+ * @param extras array of objects used as extra.toString or similarly later
* @return true if permission was granted by the user, false otherwise.
*/
public static AccessWarningPaneComplexReturn showAccessWarningDialog(final AccessType accessType,
diff -r 9a59ac4283f2 -r b3d9f5bf15f6 netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java
--- a/netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java Wed Jan 11 16:20:21 2017 +0100
+++ b/netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java Wed Apr 05 16:00:22 2017 +0200
@@ -336,22 +336,26 @@
@Override
public void actionPerformed(ActionEvent e) {
if (alwaysTrust != null && alwaysTrust.isSelected()) {
- try {
- KeyStore ks = KeyStores.getKeyStore(Level.USER, Type.CERTS);
- X509Certificate c = (X509Certificate) parent.getCertVerifier().getPublisher(null);
- CertificateUtils.addToKeyStore(c, ks);
- File keyStoreFile = KeyStores.getKeyStoreLocation(Level.USER, Type.CERTS).getFile();
- if (!keyStoreFile.isFile()) {
- FileUtils.createRestrictedFile(keyStoreFile, true);
- }
- SecurityUtil.storeKeyStore(ks, keyStoreFile);
- OutputController.getLogger().log("certificate is now permanently trusted");
- } catch (Exception ex) {
+ saveCert();
+ }
+ }
+ }
+
+ public void saveCert() {
+ try {
+ KeyStore ks = KeyStores.getKeyStore(Level.USER, Type.CERTS);
+ X509Certificate c = (X509Certificate) parent.getCertVerifier().getPublisher(null);
+ CertificateUtils.addToKeyStore(c, ks);
+ File keyStoreFile = KeyStores.getKeyStoreLocation(Level.USER, Type.CERTS).getFile();
+ if (!keyStoreFile.isFile()) {
+ FileUtils.createRestrictedFile(keyStoreFile, true);
+ }
+ SecurityUtil.storeKeyStore(ks, keyStoreFile);
+ OutputController.getLogger().log("certificate is now permanently trusted");
+ } catch (Exception ex) {
// TODO: Let NetX show a dialog here notifying user
- // about being unable to add cert to keystore
- OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ex);
- }
- }
+ // about being unable to add cert to keystore
+ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ex);
}
}
From jvanek at icedtea.classpath.org Wed Apr 5 17:20:10 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 17:20:10 +0000
Subject: /hg/icedtea-web: plugin.jar made buildable on windows
Message-ID:
changeset 5d0a2e26ec43 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=5d0a2e26ec43
author: Jiri Vanek
date: Wed Apr 05 19:29:02 2017 +0200
plugin.jar made buildable on windows
* Makefile.am: (liveconnect-source-files.txt) added sed to source code to use WEmbeddedFrame on windows (based on SUN_AWT_WEMBEDDEDFRAME value)
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: added warning that base class name is sedded
* acinclude.m4: IT_CHECK_FOR_CLASS got new parameter. If its value is NonFatal, then its absence is only warning
* configure.ac: IT_CHECK_FOR_CLASS SUN_AWT_X11_XEMBEDDEDFRAME made NonFatal, added similar check for SUN_AWT_WEMBEDDEDFRAME. Added checks that exactly one of them exists, otherwise error
diffstat:
ChangeLog | 15 +++++++++++++-
Makefile.am | 6 ++++-
acinclude.m4 | 9 ++++++-
configure.ac | 17 +++++++++++++++-
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 1 +
5 files changed, 43 insertions(+), 5 deletions(-)
diffs (114 lines):
diff -r b3d9f5bf15f6 -r 5d0a2e26ec43 ChangeLog
--- a/ChangeLog Wed Apr 05 16:00:22 2017 +0200
+++ b/ChangeLog Wed Apr 05 19:29:02 2017 +0200
@@ -1,3 +1,16 @@
+2017-04-05 Jiri Vanek
+
+ plugin.jar made buildable on windows
+ * Makefile.am: (liveconnect-source-files.txt) added sed to source code to
+ use WEmbeddedFrame on windows (based on SUN_AWT_WEMBEDDEDFRAME value)
+ * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: added warning
+ that base class name is sedded
+ * acinclude.m4: IT_CHECK_FOR_CLASS got new parameter. If its value is
+ NonFatal, then its absence is only warning
+ * configure.ac: IT_CHECK_FOR_CLASS SUN_AWT_X11_XEMBEDDEDFRAME made NonFatal,
+ added similar check for SUN_AWT_WEMBEDDEDFRAME. Added checks that exactly one of them exists,
+ otherwise error
+
2017-04-05 Jiri Vanek
Split ENABLE_PLUGIN to ENABLE_NATIVE_PLUGIN and ENABLE_PLUGINJAR to allow build
@@ -7,7 +20,7 @@
* configure.ac: added check, that native_plugin can not be built without pluginjar
* acinclude.m4: IT_CHECK_PLUGIN and comp. changed to IT_CHECK_NATIVE_PLUGIN and likewise.
Added IT_CHECK_PLUGINJAR to allow user enable/disable plugin completely.
- * .Makefile: following configure changes, ENABLE_PLUGIN renamed/split to
+ * Makefile.am: following configure changes, ENABLE_PLUGIN renamed/split to
ENABLE_NATIVE_PLUGIN and ENABLE_PLUGINJAR
all testsuites keep running with --disable-native_plugin. Not so with disabled plugin completely
diff -r b3d9f5bf15f6 -r 5d0a2e26ec43 Makefile.am
--- a/Makefile.am Wed Apr 05 16:00:22 2017 +0200
+++ b/Makefile.am Wed Apr 05 19:29:02 2017 +0200
@@ -485,7 +485,11 @@
liveconnect-source-files.txt:
if test "x${LIVECONNECT_DIR}" != x; then \
find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \
- fi
+ fi ; \
+ if test x$(SUN_AWT_WEMBEDDEDFRAME) = xyes ; then \
+ sed "s;sun.awt.X11.XEmbeddedFrame;sun.awt.windows.WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
+ sed "s;XEmbeddedFrame;WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
+ fi ; \
touch $@
stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp
diff -r b3d9f5bf15f6 -r 5d0a2e26ec43 acinclude.m4
--- a/acinclude.m4 Wed Apr 05 16:00:22 2017 +0200
+++ b/acinclude.m4 Wed Apr 05 19:29:02 2017 +0200
@@ -476,7 +476,7 @@
AC_DEFUN([IT_CHECK_FOR_CLASS],[
AC_REQUIRE([IT_FIND_JAVAC])
AC_REQUIRE([IT_FIND_JAVA])
-AC_CACHE_CHECK([if $2 is available], it_cv_$1, [
+AC_CACHE_CHECK([if $2 is available from $3 (module "$4") as $5], it_cv_$1, [
# first is the variableto save in, second param is name of class to find,
# third is name of package to make check in.
# mostly some.pkg is ok, but some tests must bedone in sun.applet or other special directory
@@ -522,8 +522,13 @@
# should be rmdir but has to be rm -rf due to sun.applet usage
rm -rf tmp.$$
if test x"${it_cv_$1}" = "xno"; then
- AC_MSG_ERROR([$2 not found.])
+ if test x$5 = xNonFatal; then
+ AC_MSG_WARN([$2 not found.])
+ else
+ AC_MSG_ERROR([$2 not found.])
+ fi
fi
+AC_SUBST([$1], [${it_cv_$1}])
AC_PROVIDE([$0])dnl
])
diff -r b3d9f5bf15f6 -r 5d0a2e26ec43 configure.ac
--- a/configure.ac Wed Apr 05 16:00:22 2017 +0200
+++ b/configure.ac Wed Apr 05 19:29:02 2017 +0200
@@ -97,11 +97,26 @@
IT_CHECK_FOR_CLASS(COM_SUN_NET_SSL_INTERNAL_SSL_X509EXTENDEDTRUSTMANAGER, [com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE, [sun.net.www.protocol.jar.URLJarFile], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack], [some.pkg], [$JAVA_BASE])
-IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP])
+IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP], [NonFatal])
+IT_CHECK_FOR_CLASS(SUN_AWT_WEMBEDDEDFRAME, [sun.awt.windows.WEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP], [NonFatal])
IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil], [some.pkg], [$JAVA_NAMING])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_HTTP_HANDLER, [sun.net.www.protocol.http.Handler], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
+# you can see checks for embedded frame are NonFatal. We wont exactly one of them
+if test x$SUN_AWT_X11_XEMBEDDEDFRAME = xyes -a x$SUN_AWT_WEMBEDDEDFRAME = xyes ; then
+ AC_MSG_ERROR([Your jdk have both X11 and Windows EmbeddedFrame])
+fi
+if test x$SUN_AWT_X11_XEMBEDDEDFRAME = xno -a x$SUN_AWT_WEMBEDDEDFRAME = xno ; then
+ AC_MSG_ERROR([Your jdk have non of X11 or Windows EmbeddedFrame])
+fi
+if test x$SUN_AWT_X11_XEMBEDDEDFRAME = xyes ; then
+ AC_MSG_RESULT([using X11 EmbeddedFrame])
+fi
+if test x$SUN_AWT_WEMBEDDEDFRAME = xyes ; then
+ AC_MSG_RESULT([using Windows EmbeddedFrame])
+fi
+
IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
IT_CHECK_GLIB_VERSION
IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR
diff -r b3d9f5bf15f6 -r 5d0a2e26ec43 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Apr 05 16:00:22 2017 +0200
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Apr 05 19:29:02 2017 +0200
@@ -120,6 +120,7 @@
import sun.awt.X11.XEmbeddedFrame;
/*
+ * Waring! Warious EmbeddedFrames are sedded during windows builds!
*/
// FIXME: declare JSProxy implementation
@SuppressWarnings("serial")
From bugzilla-daemon at icedtea.classpath.org Wed Apr 5 17:30:08 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Apr 2017 17:30:08 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #8 from JiriVanek ---
...
>
> Was the jnlp file any help?
>
yes!
> > >
...
> > Still, may you please verify it helped?
>
>
> OK, I have created the file deployment.properties in ~/.config/icedtea-web/
> with the following content.
ty!
>
> #Netx deployment configuration
> #Wed Apr 05 12:51:00 CEST 2017
> deployment.manifest.attributes.check=NONE
>
> I got exactly the same error as before. But
>
> Then I tried adding
> deployment.security.level=ALLOW_UNSIGNED on a second try.
>
> That made the main class load for the first time! But it didn't load the
> rest of the classes contained in the jar files and it was left hanging at
> what I have as boot screen.
this is very starnge. Do you mind to verify even with cleared cache? (javaws
-Xclearcache)
>
> [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> 2017][net.sourceforge.jnlp.Parser.getParserInstance(Parser.java:1351)] NETX
> Thread# 5fd0d5ae, name main: java.lang.ClassNotFoundException:
> net/sourceforge/jnlp/MalformedXMLParser
This smell like packaging bug. Missing tagsoup!
>
> [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
...
>
> By the way both .jar files are signed.
Are they signed by same cert or each by its own?
>
> [ITW-JAVAWS][MESSAGE_DEBUG][Wed Apr 05 14:57:32 CEST
> 2017][net.sourceforge.jnlp.tools.JarCertVerifier.
> getAlreadyTrustPublisher(JarCertVerifier.java:121)] NETX Thread# 4bb62a0b,
> name Kemtrak 007: App already has trusted publisher: true
> [ITW-JAVAWS][MESSAGE_DEBUG][Wed Apr 05 14:57:32 CEST
> 2017][net.sourceforge.jnlp.tools.JarCertVerifier.
> isFullySigned(JarCertVerifier.java:186)] NETX Thread# 4bb62a0b, name Kemtrak
> 007: App already has trusted publisher: true
Annyway, it loks very correct, and you should be abel to run *without*
deployment.security.level=ALLOW_UNSIGNED
>
> The manifest in the main jar file reads
> Manifest-Version: 1.0
> Created-By: 1.6.0 (Sun Microsystems Inc.)
> Permissions: all-permissions
> Trusted-Only: true
> Application-Name: Kemtrak
> Main-Class: Kemtrak
> Class-path: jcalendar.jar
> Codebase: *
> Application-Library-Allowable-Codebase: *
>
>
The manifest file is interesting. Thank you. I will include it in reproducer.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Thu Apr 6 10:11:45 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 10:11:45 +0000
Subject: /hg/release/icedtea-web-1.6: 2 new changesets
Message-ID:
changeset 97f1fee964ff in /hg/release/icedtea-web-1.6
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.6?cmd=changeset;node=97f1fee964ff
author: Jiri Vanek
date: Thu Apr 06 11:01:22 2017 +0200
Makefile.am - hopefully fixed issue with multiple regexes in whitelist
changeset 84de0c383e40 in /hg/release/icedtea-web-1.6
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.6?cmd=changeset;node=84de0c383e40
author: Jiri Vanek
date: Thu Apr 06 12:20:17 2017 +0200
Attempt to reproduce and fix pr3350. The reproducer did not hit the issue, so only DID NPE check was done
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (showMatchingALACAttributePanel) defensive NPE check for codebase
* netx/net/sourceforge/jnlp/util/UrlUtils.java: (setOfUrlsToHtmlList) defensive NPE check
* tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp: exact jnlp from pr3350 bug report
* tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: dummy main jar
* tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF: exact manifest from pr3350
* tests/reproducers/signed/jcalendar/srcs/jcalendar.java: dummy dependence of Kemtrak
* tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: simple launch of jnlp
diffstat:
ChangeLog | 12 +
Makefile.am | 9 +-
netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 6 +-
netx/net/sourceforge/jnlp/util/UrlUtils.java | 3 +
tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp | 50 ++++++
tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java | 83 ++++++++++
tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF | 10 +
tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java | 65 +++++++
tests/reproducers/signed/jcalendar/srcs/jcalendar.java | 80 +++++++++
9 files changed, 314 insertions(+), 4 deletions(-)
diffs (389 lines):
diff -r d33979624d93 -r 84de0c383e40 ChangeLog
--- a/ChangeLog Wed Feb 03 17:03:39 2016 +0100
+++ b/ChangeLog Thu Apr 06 12:20:17 2017 +0200
@@ -1,3 +1,15 @@
+2017-04-06 Jiri Vanek
+
+ Attempt to reproduce and fix pr3350. The reproducer did not hit the issue, so only DID NPE check was done
+ * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (showMatchingALACAttributePanel)
+ defensive NPE check for codebase
+ * netx/net/sourceforge/jnlp/util/UrlUtils.java: (setOfUrlsToHtmlList) defensive NPE check
+ * tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp: exact jnlp from pr3350 bug report
+ * tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: dummy main jar
+ * tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF: exact manifest from pr3350
+ * tests/reproducers/signed/jcalendar/srcs/jcalendar.java: dummy dependence of Kemtrak
+ * tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: simple launch of jnlp
+
2016-02-03 Jiri Vanek
Post-release changes
diff -r d33979624d93 -r 84de0c383e40 Makefile.am
--- a/Makefile.am Wed Feb 03 17:03:39 2016 +0100
+++ b/Makefile.am Thu Apr 06 12:20:17 2017 +0200
@@ -773,23 +773,26 @@
touch $@
junit-jnlp-dist-custom.txt:
+ rm -f $(abs_top_builddir)/$@ ; \
cd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/ ; \
for x in $(COMPILE_WHITELIST_FILTER) ; do \
- find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x > $(abs_top_builddir)/$@ || true ; \
+ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x >> $(abs_top_builddir)/$@ || true ; \
done
junit-jnlp-dist-simple.txt:
+ rm -f $(abs_top_builddir)/$@ ; \
cd $(REPRODUCERS_TESTS_SRCDIR)/simple/ ; \
for x in $(COMPILE_WHITELIST_FILTER) ; do \
- find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x > $(abs_top_builddir)/$@ || true ; \
+ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x >> $(abs_top_builddir)/$@ || true ; \
done
stamps/junit-jnlp-dist-signed.stamp:
types=($(SIGNED_REPRODUCERS)) ; \
for which in "$${types[@]}" ; do \
+ rm -f $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \
pushd $(REPRODUCERS_TESTS_SRCDIR)/$$which/ ; \
for x in $(COMPILE_WHITELIST_FILTER) ; do \
- find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x > $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \
+ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x >> $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \
done ; \
popd ; \
done ; \
diff -r d33979624d93 -r 84de0c383e40 netx/net/sourceforge/jnlp/security/SecurityDialogs.java
--- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Wed Feb 03 17:03:39 2016 +0100
+++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Thu Apr 06 12:20:17 2017 +0200
@@ -402,7 +402,11 @@
SecurityDialogMessage message = new SecurityDialogMessage();
message.dialogType = DialogType.MATCHING_ALACA;
- message.extras = new Object[]{file, codeBase.toString(), UrlUtils.setOfUrlsToHtmlList(remoteUrls)};
+ String codebaseString = "null-codebase";
+ if (codeBase != null) {
+ codebaseString = codeBase.toString();
+ }
+ message.extras = new Object[]{file, codebaseString, UrlUtils.setOfUrlsToHtmlList(remoteUrls)};
AppSigningWarningAction selectedValue = (AppSigningWarningAction) getUserResponse(message);
if (selectedValue != null) {
diff -r d33979624d93 -r 84de0c383e40 netx/net/sourceforge/jnlp/util/UrlUtils.java
--- a/netx/net/sourceforge/jnlp/util/UrlUtils.java Wed Feb 03 17:03:39 2016 +0100
+++ b/netx/net/sourceforge/jnlp/util/UrlUtils.java Thu Apr 06 12:20:17 2017 +0200
@@ -194,6 +194,9 @@
* @return String containing html item list of those urls
*/
public static String setOfUrlsToHtmlList(Iterable remoteUrls) {
+ if (remoteUrls == null) {
+ return "";
+ }
StringBuilder sb = new StringBuilder();
sb.append("");
for (URL url : remoteUrls) {
diff -r d33979624d93 -r 84de0c383e40 tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp Thu Apr 06 12:20:17 2017 +0200
@@ -0,0 +1,50 @@
+
+
+
+
+ Kemtrak 007
+ Kemtrak AB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d33979624d93 -r 84de0c383e40 tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java Thu Apr 06 12:20:17 2017 +0200
@@ -0,0 +1,83 @@
+/*
+Copyright (C) 2017 Red Hat, Inc.
+
+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.
+ */
+
+import java.applet.Applet;
+import java.lang.reflect.*;
+
+public class Kemtrak extends Applet {
+
+ private class Killer extends Thread {
+
+ public int n = 1000;
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(n);
+ System.out.println("Applet killing himself after " + n + " ms of life");
+ System.exit(0);
+ } catch (Exception ex) {
+ }
+ }
+ }
+ private Killer killer;
+
+ public static void main(String[] args) {
+ System.out.println("Kemtrak2");
+ jcalendar();
+ }
+
+ @Override
+ public void init() {
+ System.out.println("Kemtrak1");
+ Kemtrak.main(null);
+ killer = new Killer();
+ killer.start();
+ }
+
+ public static void jcalendar() {
+ try {
+ Class> signedAppletClass = Class.forName("jcalendar");
+ Method m = signedAppletClass.getMethod("main", String[].class);
+ m.invoke(null, (Object)null);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+}
diff -r d33979624d93 -r 84de0c383e40 tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF Thu Apr 06 12:20:17 2017 +0200
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Created-By: 1.6.0 (Sun Microsystems Inc.)
+Permissions: all-permissions
+Trusted-Only: true
+Application-Name: Kemtrak
+Main-Class: Kemtrak
+Class-path: jcalendar.jar
+Codebase: *
+Application-Library-Allowable-Codebase: *
+
diff -r d33979624d93 -r 84de0c383e40 tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java Thu Apr 06 12:20:17 2017 +0200
@@ -0,0 +1,65 @@
+/*
+Copyright (C) 20121 Red Hat, Inc.
+
+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.
+ */
+
+import net.sourceforge.jnlp.browsertesting.BrowserTest;
+
+import net.sourceforge.jnlp.ProcessResult;
+import net.sourceforge.jnlp.ServerAccess;
+import net.sourceforge.jnlp.annotations.Bug;
+
+import org.junit.Assert;
+
+import org.junit.Test;
+
+ at Bug(id = {"PR3350"})
+/**
+ * The issue is visible only in manifest attributes on, so this is manual reproducer, automated in head
+ */
+public class KemtrakTests extends BrowserTest {
+
+ private static final ServerAccess SERVER = new ServerAccess();
+
+ @Bug(id = "PR3350")
+ @Test
+ public void KemtrakTest1() throws Exception {
+ ProcessResult pr = SERVER.executeJavawsHeadless("/Kemtrak.jnlp");
+ Assert.assertTrue("Stdout should contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
+ Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
+ Assert.assertTrue("Stdout should contain jcalendar2 but did not", pr.stdout.contains("jcalendar2"));
+ }
+
+}
diff -r d33979624d93 -r 84de0c383e40 tests/reproducers/signed/jcalendar/srcs/jcalendar.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/jcalendar/srcs/jcalendar.java Thu Apr 06 12:20:17 2017 +0200
@@ -0,0 +1,80 @@
+/*
+Copyright (C) 2017 Red Hat, Inc.
+
+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.
+ */
+
+import java.applet.Applet;
+import java.lang.reflect.*;
+
+/**
+ * This is used by Kemtrak reproducer.
+ * Originally the jar was signed2, but I always forget:
+ * netx: Initialization Error: Could not initialize applet. (Fatal: Application Error: The JNLP application is not fully signed by a single cert. The JNLP application has its components individually signed, however there must be a common signer to all entries.)
+ * netx: Initialization Error: Could not initialize applet. (Fatal: Application Error: The JNLP application is not fully signed by a single cert. The JNLP application has its components individually signed, however there must be a common signer to all entries.)
+ *
+ * @author jvanek
+ */
+public class jcalendar extends Applet {
+
+ private class Killer extends Thread {
+
+ public int n = 1000;
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(n);
+ System.out.println("Applet killing himself after " + n + " ms of life");
+ System.exit(0);
+ } catch (Exception ex) {
+ }
+ }
+ }
+ private Killer killer;
+
+ public static void main(String[] args) {
+ System.out.println("jcalendar2");
+ }
+
+ @Override
+ public void init() {
+ System.out.println("jcalendar1");
+ killer = new Killer();
+ killer.start();
+ }
+
+
+
+}
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 10:11:53 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 10:11:53 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #9 from hg commits ---
details:
http://icedtea.classpath.org//hg/release/icedtea-web-1.6?cmd=changeset;node=84de0c383e40
author: Jiri Vanek
date: Thu Apr 06 12:20:17 2017 +0200
Attempt to reproduce and fix pr3350. The reproducer did not hit the issue,
so only DID NPE check was done
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java:
(showMatchingALACAttributePanel) defensive NPE check for codebase
* netx/net/sourceforge/jnlp/util/UrlUtils.java: (setOfUrlsToHtmlList)
defensive NPE check
* tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp: exact jnlp
from pr3350 bug report
* tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: dummy main jar
* tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF: exact
manifest from pr3350
* tests/reproducers/signed/jcalendar/srcs/jcalendar.java: dummy dependence
of Kemtrak
* tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: simple
launch of jnlp
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 10:13:44 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 10:13:44 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #10 from JiriVanek ---
Hmm. Using the jnlp and manifest of yours, I wrote an reproducer, however I did
not triggered the issue, nor with 1.6.2 nor 1.6.head nor 1.7.pre.
I'm using dummy jcallendar.jar with single static method and dummy
Kemtrakpro.jar printing hello, and calling jcallendar.jar and with yours
manifest. Both jars are signed by single cert, and are deplyed in single
directory.
Same behaviour on all manifest settings and all security levels.
Still I pushed an defensive commit based on #c5
There are now few options:
- you give me more deployent details - ideally url where to try. Feel free to
write private instructions
- you check both selfbuild 1.6 **and** 1.7 head
Thoughts?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 10:34:24 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 10:34:24 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #11 from stefan at kemtrak.com ---
How can I give you private instructions somewhere? Just let me know and I'll
tell you where I have an externally reachable server with the code for you to
try.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 10:37:08 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 10:37:08 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #12 from stefan at kemtrak.com ---
Hi,
I clicked on your Nickname and got a mail address.
I have send you a mail with instructions with Title Bug 3350
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Thu Apr 6 10:46:28 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 10:46:28 +0000
Subject: /hg/icedtea-web: 2 new changesets
Message-ID:
changeset 20b4d1ce80b9 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=20b4d1ce80b9
author: Jiri Vanek
date: Thu Apr 06 11:02:46 2017 +0200
Makefile.am - hopefully fixed issue with multiple regexes in whitelist
changeset e99e879a68c8 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e99e879a68c8
author: Jiri Vanek
date: Thu Apr 06 12:37:55 2017 +0200
Makefile.am: for windows build, sed PluginAppletViewer's super call
diffstat:
ChangeLog | 4 ++++
Makefile.am | 10 +++++++---
2 files changed, 11 insertions(+), 3 deletions(-)
diffs (52 lines):
diff -r 5d0a2e26ec43 -r e99e879a68c8 ChangeLog
--- a/ChangeLog Wed Apr 05 19:29:02 2017 +0200
+++ b/ChangeLog Thu Apr 06 12:37:55 2017 +0200
@@ -1,3 +1,7 @@
+2017-04-06 Jiri Vanek
+
+ * Makefile.am: for windows build, sed PluginAppletViewer's super call
+
2017-04-05 Jiri Vanek
plugin.jar made buildable on windows
diff -r 5d0a2e26ec43 -r e99e879a68c8 Makefile.am
--- a/Makefile.am Wed Apr 05 19:29:02 2017 +0200
+++ b/Makefile.am Thu Apr 06 12:37:55 2017 +0200
@@ -489,6 +489,7 @@
if test x$(SUN_AWT_WEMBEDDEDFRAME) = xyes ; then \
sed "s;sun.awt.X11.XEmbeddedFrame;sun.awt.windows.WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
sed "s;XEmbeddedFrame;WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
+ sed "s;super(handle, true);super(handle);" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
fi ; \
touch $@
@@ -818,23 +819,26 @@
touch $@
junit-jnlp-dist-custom.txt:
+ rm -f $(abs_top_builddir)/$@ ; \
cd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/ ; \
for x in $(COMPILE_WHITELIST_FILTER) ; do \
- find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x > $(abs_top_builddir)/$@ || true ; \
+ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x >> $(abs_top_builddir)/$@ || true ; \
done
junit-jnlp-dist-simple.txt:
+ rm -f $(abs_top_builddir)/$@ ; \
cd $(REPRODUCERS_TESTS_SRCDIR)/simple/ ; \
for x in $(COMPILE_WHITELIST_FILTER) ; do \
- find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x > $(abs_top_builddir)/$@ || true ; \
+ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x >> $(abs_top_builddir)/$@ || true ; \
done
stamps/junit-jnlp-dist-signed.stamp:
types=($(SIGNED_REPRODUCERS)) ; \
for which in "$${types[@]}" ; do \
+ rm -f $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \
pushd $(REPRODUCERS_TESTS_SRCDIR)/$$which/ ; \
for x in $(COMPILE_WHITELIST_FILTER) ; do \
- find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x > $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \
+ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" | grep $$x >> $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \
done ; \
popd ; \
done ; \
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 12:27:13 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 12:27:13 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #13 from stefan at kemtrak.com ---
See below
(In reply to JiriVanek from comment #8)
> ...
> >
> > Was the jnlp file any help?
> >
>
> yes!
>
> > > >
> ...
> > > Still, may you please verify it helped?
> >
> >
> > OK, I have created the file deployment.properties in ~/.config/icedtea-web/
> > with the following content.
>
> ty!
>
> >
> > #Netx deployment configuration
> > #Wed Apr 05 12:51:00 CEST 2017
> > deployment.manifest.attributes.check=NONE
> >
> > I got exactly the same error as before. But
> >
> > Then I tried adding
> > deployment.security.level=ALLOW_UNSIGNED on a second try.
> >
> > That made the main class load for the first time! But it didn't load the
> > rest of the classes contained in the jar files and it was left hanging at
> > what I have as boot screen.
>
> this is very starnge. Do you mind to verify even with cleared cache? (javaws
> -Xclearcache)
Yes, nice you mentioned that, it can be very confusing with caching. I will
from now on clear the cache between any run to make sure.
I can report that with clean cache the results are slightly different. This
time Today I have also ran multiple times each experiment to make sure. So:
With *none* of the
1) deployment.manifest.attributes.check=NONE
2) deployment.security.level=ALLOW_UNSIGNED
I get the initial bug report - nothing loads
With just nr.2 activated, main class loads but nothing else
Different than yesterday: With just nr.1 activated, now - main class loads
again but nothing else. Yesterday this did not happen, I guess probably because
it ran a cached version.
Unfortunately I can't really say I understand the results. But I hope it helps
you.
> >
> > [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> > 2017][net.sourceforge.jnlp.Parser.getParserInstance(Parser.java:1351)] NETX
> > Thread# 5fd0d5ae, name main: java.lang.ClassNotFoundException:
> > net/sourceforge/jnlp/MalformedXMLParser
>
> This smell like packaging bug. Missing tagsoup!
If there is any HTML or XML tag I need to add to make it work, I am more than
happy to try.
> >
> > [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> ...
> >
> > By the way both .jar files are signed.
>
> Are they signed by same cert or each by its own?
Same certificate but they are signed on different dates. Still Kemtrakpro.jar
contains all the important classes, jcalender only contains a calender
implementation.
>
> >
> > [ITW-JAVAWS][MESSAGE_DEBUG][Wed Apr 05 14:57:32 CEST
> > 2017][net.sourceforge.jnlp.tools.JarCertVerifier.
> > getAlreadyTrustPublisher(JarCertVerifier.java:121)] NETX Thread# 4bb62a0b,
> > name Kemtrak 007: App already has trusted publisher: true
> > [ITW-JAVAWS][MESSAGE_DEBUG][Wed Apr 05 14:57:32 CEST
> > 2017][net.sourceforge.jnlp.tools.JarCertVerifier.
> > isFullySigned(JarCertVerifier.java:186)] NETX Thread# 4bb62a0b, name Kemtrak
> > 007: App already has trusted publisher: true
>
> Annyway, it loks very correct, and you should be abel to run *without*
> deployment.security.level=ALLOW_UNSIGNED
I can confirm that I haven't had signing issues running on Oracle Webstart, no
messages about it, no warnings. It should be OK.
>
> >
> > The manifest in the main jar file reads
> > Manifest-Version: 1.0
> > Created-By: 1.6.0 (Sun Microsystems Inc.)
> > Permissions: all-permissions
> > Trusted-Only: true
> > Application-Name: Kemtrak
> > Main-Class: Kemtrak
> > Class-path: jcalendar.jar
> > Codebase: *
> > Application-Library-Allowable-Codebase: *
> >
> >
>
> The manifest file is interesting. Thank you. I will include it in reproducer.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 13:01:35 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 13:01:35 +0000
Subject: [Bug 3350] Java applet launched via jnlp web-start cannot load.
Fails with "Could not initialize applet"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #14 from JiriVanek ---
> > this is very starnge. Do you mind to verify even with cleared cache? (javaws
> > -Xclearcache)
>
> Yes, nice you mentioned that, it can be very confusing with caching. I will
Speaking about mentioning - try to enable java-console (in debugging panel) it
is providing very good info. Yo can separate stdout/err and itw/app logs, and
much more...
> from now on clear the cache between any run to make sure.
> I can report that with clean cache the results are slightly different. This
> time Today I have also ran multiple times each experiment to make sure. So:
>
> With *none* of the
> 1) deployment.manifest.attributes.check=NONE
> 2) deployment.security.level=ALLOW_UNSIGNED
> I get the initial bug report - nothing loads
>
> With just nr.2 activated, main class loads but nothing else
> Different than yesterday: With just nr.1 activated, now - main class loads
> again but nothing else. Yesterday this did not happen, I guess probably
> because it ran a cached version.
>
> Unfortunately I can't really say I understand the results. But I hope it
> helps you.
Nor do I. This is really strange. For me the app works 100% after fixing yours
bug. Also before fixing it worked 100% *except*
deployment.security.level=ALLOW_UNSIGNED -which triggered the bug.
This looks like issue in itw, but I will skip it as (at least for while or
while you bug it again if it harms later) it is different issue.
> > >
> > > [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> > > 2017][net.sourceforge.jnlp.Parser.getParserInstance(Parser.java:1351)] NETX
> > > Thread# 5fd0d5ae, name main: java.lang.ClassNotFoundException:
> > > net/sourceforge/jnlp/MalformedXMLParser
> >
> > This smell like packaging bug. Missing tagsoup!
>
> If there is any HTML or XML tag I need to add to make it work, I am more
> than happy to try.
No. Thats build switch. Looks like your distro (ubuntu) is not using tagsoup
(as it is optional, but crucial ) dependence.
>
> > >
> > > [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> > ...
> > >
> > > By the way both .jar files are signed.
> >
> > Are they signed by same cert or each by its own?
>
> Same certificate but they are signed on different dates. Still
> Kemtrakpro.jar contains all the important classes, jcalender only contains a
> calender implementation.
that is good and correct
>
> >
> > >
So your original bug - form code point - seems to be resolved (c#9).
I will keep this open for a related discussion. But close later.
Now the question is, how much busines blocker it is?
btw - you can (imho) fix this whole thing by using codebase="." in jnlp file.
All troubles should disappear.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 13:02:38 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 13:02:38 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Java applet launched via |missing codebase attribute
|jnlp web-start cannot load. |may casue NPE in ALACA
|Fails with "Could not |dialogue
|initialize applet" |
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 13:03:08 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 13:03:08 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
Severity|normal |major
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 13:17:13 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 13:17:13 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #15 from stefan at kemtrak.com ---
Hi, quick answer:
I'll be testing "." codebase ASAP, thanks a huge bunch for the tip!!
If it fixes that, I will test on all platforms to see it still works (Win XP
with Java 7.45 was very picky about that, having a "*" codebase made it fail -
omitting it worked, I'll try with "." now).
If ti works I will then implement that fix, so none of my customers will have
any problems at all!
Also: Since the current code works on all other platforms except IcedTea,
customer has the option to run it still using another platform.
So we have no emergency.
I will also answer you mail as soon as I have run the tests.
I understand the point that ITW correctly returns codebase as null but if you
read the jnlp 7.0 spec, I think it can be omitted from the jnlp file. That's
what I understood. And it seems omitting works on all other platforms. So ITW
should still work if it is null/omitted. It is also good for consistency
against the developers. That the code works the same on all platforms. You can
think about that.
As I said I will also answer you mail as soon as I have run the tests.
(In reply to JiriVanek from comment #14)
> > > this is very starnge. Do you mind to verify even with cleared cache? (javaws
> > > -Xclearcache)
> >
> > Yes, nice you mentioned that, it can be very confusing with caching. I will
>
> Speaking about mentioning - try to enable java-console (in debugging panel)
> it is providing very good info. Yo can separate stdout/err and itw/app logs,
> and much more...
>
> > from now on clear the cache between any run to make sure.
> > I can report that with clean cache the results are slightly different. This
> > time Today I have also ran multiple times each experiment to make sure. So:
> >
> > With *none* of the
> > 1) deployment.manifest.attributes.check=NONE
> > 2) deployment.security.level=ALLOW_UNSIGNED
> > I get the initial bug report - nothing loads
> >
> > With just nr.2 activated, main class loads but nothing else
> > Different than yesterday: With just nr.1 activated, now - main class loads
> > again but nothing else. Yesterday this did not happen, I guess probably
> > because it ran a cached version.
> >
> > Unfortunately I can't really say I understand the results. But I hope it
> > helps you.
>
> Nor do I. This is really strange. For me the app works 100% after fixing
> yours bug. Also before fixing it worked 100% *except*
> deployment.security.level=ALLOW_UNSIGNED -which triggered the bug.
>
> This looks like issue in itw, but I will skip it as (at least for while or
> while you bug it again if it harms later) it is different issue.
>
> > > >
> > > > [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> > > > 2017][net.sourceforge.jnlp.Parser.getParserInstance(Parser.java:1351)] NETX
> > > > Thread# 5fd0d5ae, name main: java.lang.ClassNotFoundException:
> > > > net/sourceforge/jnlp/MalformedXMLParser
> > >
> > > This smell like packaging bug. Missing tagsoup!
> >
> > If there is any HTML or XML tag I need to add to make it work, I am more
> > than happy to try.
>
> No. Thats build switch. Looks like your distro (ubuntu) is not using tagsoup
> (as it is optional, but crucial ) dependence.
> >
> > > >
> > > > [ITW-JAVAWS][ERROR_DEBUG][Wed Apr 05 14:57:25 CEST
> > > ...
> > > >
> > > > By the way both .jar files are signed.
> > >
> > > Are they signed by same cert or each by its own?
> >
> > Same certificate but they are signed on different dates. Still
> > Kemtrakpro.jar contains all the important classes, jcalender only contains a
> > calender implementation.
>
> that is good and correct
> >
> > >
> > > >
>
> So your original bug - form code point - seems to be resolved (c#9).
> I will keep this open for a related discussion. But close later.
>
> Now the question is, how much busines blocker it is?
>
>
> btw - you can (imho) fix this whole thing by using codebase="." in jnlp
> file. All troubles should disappear.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Thu Apr 6 13:22:20 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 13:22:20 +0000
Subject: /hg/icedtea-web: Reproduce and fixed pr3350.
Message-ID:
changeset f63de124adc4 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f63de124adc4
author: Jiri Vanek
date: Thu Apr 06 15:31:12 2017 +0200
Reproduce and fixed pr3350.
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (showMatchingALACAttributePanel) defensive NPE check for document base
* netx/net/sourceforge/jnlp/util/UrlUtils.java: (setOfUrlsToHtmlList) defensive NPE check
* tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp: exact jnlp from pr3350 bug report
* tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: dummy main jar
* tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF: exact manifest from pr3350
* tests/reproducers/signed/jcalendar/srcs/jcalendar.java:dummy dependence of Kemtrak
* tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: simple launch of jnlp. This test is hitting the issue. Headless dialogue used.
diffstat:
ChangeLog | 13 +
netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 6 +-
netx/net/sourceforge/jnlp/util/UrlUtils.java | 3 +
tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp | 50 +++++
tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java | 83 +++++++++
tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF | 10 +
tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java | 90 ++++++++++
tests/reproducers/signed/jcalendar/srcs/jcalendar.java | 80 ++++++++
8 files changed, 334 insertions(+), 1 deletions(-)
diffs (382 lines):
diff -r e99e879a68c8 -r f63de124adc4 ChangeLog
--- a/ChangeLog Thu Apr 06 12:37:55 2017 +0200
+++ b/ChangeLog Thu Apr 06 15:31:12 2017 +0200
@@ -1,3 +1,16 @@
+2017-04-06 Jiri Vanek
+
+ Reproduce and fixed pr3350.
+ * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (showMatchingALACAttributePanel)
+ defensive NPE check for document base
+ * netx/net/sourceforge/jnlp/util/UrlUtils.java: (setOfUrlsToHtmlList) defensive NPE check
+ * tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp: exact jnlp from pr3350 bug report
+ * tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: dummy main jar
+ * tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF: exact manifest from pr3350
+ * tests/reproducers/signed/jcalendar/srcs/jcalendar.java:dummy dependence of Kemtrak
+ * tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: simple launch of jnlp. This
+ test is hitting the issue. Headless dialogue used.
+
2017-04-06 Jiri Vanek
* Makefile.am: for windows build, sed PluginAppletViewer's super call
diff -r e99e879a68c8 -r f63de124adc4 netx/net/sourceforge/jnlp/security/SecurityDialogs.java
--- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Thu Apr 06 12:37:55 2017 +0200
+++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Thu Apr 06 15:31:12 2017 +0200
@@ -264,7 +264,11 @@
SecurityDialogMessage message = new SecurityDialogMessage(file);
message.dialogType = DialogType.MATCHING_ALACA;
- message.extras = new Object[]{documentBase.toString(), UrlUtils.setOfUrlsToHtmlList(remoteUrls)};
+ String docBaseString = "null-documentbase";
+ if (documentBase != null) {
+ docBaseString = documentBase.toString();
+ }
+ message.extras = new Object[]{docBaseString, UrlUtils.setOfUrlsToHtmlList(remoteUrls)};
DialogResult selectedValue = getUserResponse(message);
OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Decided action for matching alaca at " + file.getCodeBase() + " was " + selectedValue);
diff -r e99e879a68c8 -r f63de124adc4 netx/net/sourceforge/jnlp/util/UrlUtils.java
--- a/netx/net/sourceforge/jnlp/util/UrlUtils.java Thu Apr 06 12:37:55 2017 +0200
+++ b/netx/net/sourceforge/jnlp/util/UrlUtils.java Thu Apr 06 15:31:12 2017 +0200
@@ -208,6 +208,9 @@
* @return String containing html item list of those urls
*/
public static String setOfUrlsToHtmlList(Iterable remoteUrls) {
+ if (remoteUrls == null) {
+ return "";
+ }
StringBuilder sb = new StringBuilder();
sb.append("");
for (URL url : remoteUrls) {
diff -r e99e879a68c8 -r f63de124adc4 tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp Thu Apr 06 15:31:12 2017 +0200
@@ -0,0 +1,50 @@
+
+
+
+
+ Kemtrak 007
+ Kemtrak AB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r e99e879a68c8 -r f63de124adc4 tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java Thu Apr 06 15:31:12 2017 +0200
@@ -0,0 +1,83 @@
+/*
+Copyright (C) 2017 Red Hat, Inc.
+
+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.
+ */
+
+import java.applet.Applet;
+import java.lang.reflect.*;
+
+public class Kemtrak extends Applet {
+
+ private class Killer extends Thread {
+
+ public int n = 1000;
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(n);
+ System.out.println("Applet killing himself after " + n + " ms of life");
+ System.exit(0);
+ } catch (Exception ex) {
+ }
+ }
+ }
+ private Killer killer;
+
+ public static void main(String[] args) {
+ System.out.println("Kemtrak2");
+ jcalendar();
+ }
+
+ @Override
+ public void init() {
+ System.out.println("Kemtrak1");
+ Kemtrak.main(null);
+ killer = new Killer();
+ killer.start();
+ }
+
+ public static void jcalendar() {
+ try {
+ Class> signedAppletClass = Class.forName("jcalendar");
+ Method m = signedAppletClass.getMethod("main", String[].class);
+ m.invoke(null, (Object)null);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+}
diff -r e99e879a68c8 -r f63de124adc4 tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF Thu Apr 06 15:31:12 2017 +0200
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Created-By: 1.6.0 (Sun Microsystems Inc.)
+Permissions: all-permissions
+Trusted-Only: true
+Application-Name: Kemtrak
+Main-Class: Kemtrak
+Class-path: jcalendar.jar
+Codebase: *
+Application-Library-Allowable-Codebase: *
+
diff -r e99e879a68c8 -r f63de124adc4 tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java Thu Apr 06 15:31:12 2017 +0200
@@ -0,0 +1,90 @@
+/*
+Copyright (C) 20121 Red Hat, Inc.
+
+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.
+ */
+
+import java.util.AbstractMap;
+import java.util.Arrays;
+import net.sourceforge.jnlp.browsertesting.BrowserTest;
+
+import net.sourceforge.jnlp.ProcessResult;
+import net.sourceforge.jnlp.ProcessWrapper;
+import net.sourceforge.jnlp.ServerAccess;
+import net.sourceforge.jnlp.annotations.Bug;
+import net.sourceforge.jnlp.closinglisteners.StringBasedClosingListener;
+import net.sourceforge.jnlp.config.DeploymentConfiguration;
+import net.sourceforge.jnlp.runtime.ManifestAttributesChecker;
+import net.sourceforge.jnlp.security.appletextendedsecurity.AppletSecurityLevel;
+import net.sourceforge.jnlp.tools.DeploymentPropertiesModifier;
+
+import org.junit.Assert;
+
+import org.junit.Test;
+
+ at Bug(id = {"PR3350"})
+/**
+ * The issue is visible only in manifest attributes on, so this is manual
+ * reproducer, automated in head
+ */
+public class KemtrakTests extends BrowserTest {
+
+ private static final ServerAccess SERVER = new ServerAccess();
+
+ @Bug(id = "PR3350")
+ @Test
+ public void KemtrakTest1() throws Exception {
+ DeploymentPropertiesModifier.MultipleDeploymentPropertiesModifier dm
+ = new DeploymentPropertiesModifier.MultipleDeploymentPropertiesModifier(
+ new AbstractMap.SimpleEntry<>(
+ DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK,
+ ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALL.name()),
+ new AbstractMap.SimpleEntry<>(
+ DeploymentConfiguration.KEY_SECURITY_LEVEL,
+ AppletSecurityLevel.ASK_UNSIGNED.name()));
+ try {
+ dm.setProperties();
+ ProcessWrapper pw = new ProcessWrapper(SERVER.getJavawsLocation(),Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION}), SERVER.getUrl("Kemtrak.jnlp"));
+ pw.setWriter("YES\nYES\n");
+ pw.addStdOutListener(new StringBasedClosingListener("jcalendar2"));
+ ProcessResult pr = pw.execute();
+ Assert.assertTrue("Stdout should contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
+ Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
+ Assert.assertTrue("Stdout should contain jcalendar2 but did not", pr.stdout.contains("jcalendar2"));
+ } finally {
+ dm.restoreProperties();
+ }
+ }
+
+}
diff -r e99e879a68c8 -r f63de124adc4 tests/reproducers/signed/jcalendar/srcs/jcalendar.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/jcalendar/srcs/jcalendar.java Thu Apr 06 15:31:12 2017 +0200
@@ -0,0 +1,80 @@
+/*
+Copyright (C) 2017 Red Hat, Inc.
+
+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.
+ */
+
+import java.applet.Applet;
+import java.lang.reflect.*;
+
+/**
+ * This is used by Kemtrak reproducer.
+ * Originally the jar was signed2, but I always forget:
+ * netx: Initialization Error: Could not initialize applet. (Fatal: Application Error: The JNLP application is not fully signed by a single cert. The JNLP application has its components individually signed, however there must be a common signer to all entries.)
+ * netx: Initialization Error: Could not initialize applet. (Fatal: Application Error: The JNLP application is not fully signed by a single cert. The JNLP application has its components individually signed, however there must be a common signer to all entries.)
+ *
+ * @author jvanek
+ */
+public class jcalendar extends Applet {
+
+ private class Killer extends Thread {
+
+ public int n = 1000;
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(n);
+ System.out.println("Applet killing himself after " + n + " ms of life");
+ System.exit(0);
+ } catch (Exception ex) {
+ }
+ }
+ }
+ private Killer killer;
+
+ public static void main(String[] args) {
+ System.out.println("jcalendar2");
+ }
+
+ @Override
+ public void init() {
+ System.out.println("jcalendar1");
+ killer = new Killer();
+ killer.start();
+ }
+
+
+
+}
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 13:22:29 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 13:22:29 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #16 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=f63de124adc4
author: Jiri Vanek
date: Thu Apr 06 15:31:12 2017 +0200
Reproduce and fixed pr3350.
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java:
(showMatchingALACAttributePanel) defensive NPE check for document base
* netx/net/sourceforge/jnlp/util/UrlUtils.java: (setOfUrlsToHtmlList)
defensive NPE check
* tests/reproducers/signed/Kemtrakpro/resources/Kemtrak.jnlp: exact jnlp
from pr3350 bug report
* tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: dummy main jar
* tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF: exact
manifest from pr3350
* tests/reproducers/signed/jcalendar/srcs/jcalendar.java:dummy dependence
of Kemtrak
* tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: simple
launch of jnlp. This test is hitting the issue. Headless dialogue used.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 16:43:40 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 16:43:40 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #17 from stefan at kemtrak.com ---
(In reply to JiriVanek from comment #14)
>
> btw - you can (imho) fix this whole thing by using codebase="." in jnlp
> file. All troubles should disappear.
I have done that and tested on all Platforms. Same as before works on all
platforms but still not on IcedTea.
This time it loads the main class, I have also made a fallback for line 618 as
you suggested (even though on my runs it does not fail on 618, I still think
your suggestion was legit)
now on IcedTea it fails on a part of the code where I error-check if I can load
classes from the second jar, jcalendar.jar.
So bugged not solved yet. Or maybe not completely solved.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Thu Apr 6 16:48:14 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Apr 2017 16:48:14 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #18 from stefan at kemtrak.com ---
Forgot to mention my latest runs when it fails on that error-check for the
second jar is with cleared deployment.properties file. Default settings.
So codebase="." did major progress as now the main class loads correctly. The
second one does not.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 10:17:43 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 10:17:43 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #19 from JiriVanek ---
(In reply to stefan from comment #17)
> (In reply to JiriVanek from comment #14)
>
> >
> > btw - you can (imho) fix this whole thing by using codebase="." in jnlp
> > file. All troubles should disappear.
>
> I have done that and tested on all Platforms. Same as before works on all
> platforms but still not on IcedTea.
> This time it loads the main class, I have also made a fallback for line 618
> as you suggested (even though on my runs it does not fail on 618, I still
> think your suggestion was legit)
>
> now on IcedTea it fails on a part of the code where I error-check if I can
> load classes from the second jar, jcalendar.jar.
>
> So bugged not solved yet. Or maybe not completely solved.
Taht would be different bug with different testcase.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 10:18:07 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 10:18:07 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #20 from JiriVanek ---
(In reply to stefan from comment #17)
> (In reply to JiriVanek from comment #14)
>
> >
> > btw - you can (imho) fix this whole thing by using codebase="." in jnlp
> > file. All troubles should disappear.
>
> I have done that and tested on all Platforms. Same as before works on all
> platforms but still not on IcedTea.
> This time it loads the main class, I have also made a fallback for line 618
> as you suggested (even though on my runs it does not fail on 618, I still
> think your suggestion was legit)
>
> now on IcedTea it fails on a part of the code where I error-check if I can
> load classes from the second jar, jcalendar.jar.
>
> So bugged not solved yet. Or maybe not completely solved.
Taht would be different bug with different testcase.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 10:24:10 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 10:24:10 +0000
Subject: [Bug 3350] missing codebase attribute may casue NPE in ALACA dialogue
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3350
--- Comment #21 from stefan at kemtrak.com ---
Thanks for all your help this far and for the workaround for this bug.
I was suspecting it is a different bug.
Shall I open a new Bug ticket?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 11:44:43 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 11:44:43 +0000
Subject: [Bug 3351] New: Java applet with "." codebase launched via jnlp
web-start cannot load. Fails because NON-MAIN classes do not load
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
Bug ID: 3351
Summary: Java applet with "." codebase launched via jnlp
web-start cannot load. Fails because NON-MAIN classes
do not load
Product: IcedTea-Web
Version: hg
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: NetX (javaws)
Assignee: jvanek at redhat.com
Reporter: stefan at kemtrak.com
CC: unassigned at icedtea.classpath.org
Hi,
this regards the same applet using Java web start as on Bug 3350
Running OpenJDK Java 8 with latest IcedTea-Netx, ITW version 1.6.2-3ubuntu1
Again this behaviour is only native on IcedTea, other platforms and OSs do not
get this issue. For example it runs fine on Linux Oracle Java
Applet code consists of two signed .jar files and works on a non-defined
codebase (any server).
JNLP file and manifests can be found in the thread of Bug 3350 if needed
To reach this point, developer has to workaround the Case 3350 by using
codebase="." in the jnlp file, so that the code starts loading.
I am running default (empty) deployment.properties, except logging and console
options and I am clearing cache between each run.
So Jiri tested the code as well and gets the same behaviour as I do:
I have an error check point in the beginning of the code.
The applet tries to load a class from the second .jar and fails. My code
catches the exception and exits prematurely with an user-friendly error
message.
If I disable the exception catching (in order to check the error in the clear),
I get the following in the console:
java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1321)
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1296)
at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348)
at
net.sourceforge.jnlp.runtime.AppletEnvironment.startApplet(AppletEnvironment.java:191)
at net.sourceforge.jnlp.Launcher.launchApplet(Launcher.java:655)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:939)
Caused by: java.lang.IllegalStateException: zip file closed
at java.util.zip.ZipFile.ensureOpen(ZipFile.java:669)
at java.util.zip.ZipFile.getEntry(ZipFile.java:309)
at java.util.jar.JarFile.getEntry(JarFile.java:240)
at java.util.jar.JarFile.getJarEntry(JarFile.java:223)
at sun.misc.JarIndex.getJarIndex(JarIndex.java:137)
at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:877)
at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:869)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:868)
at sun.misc.URLClassPath$JarLoader.(URLClassPath.java:819)
at sun.misc.URLClassPath$3.run(URLClassPath.java:565)
at sun.misc.URLClassPath$3.run(URLClassPath.java:555)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:554)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:519)
at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:484)
at sun.misc.URLClassPath.getResource(URLClassPath.java:238)
at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at
net.sourceforge.jnlp.runtime.JNLPClassLoader.access$1701(JNLPClassLoader.java:103)
at
net.sourceforge.jnlp.runtime.JNLPClassLoader$5.run(JNLPClassLoader.java:1666)
at
net.sourceforge.jnlp.runtime.JNLPClassLoader$5.run(JNLPClassLoader.java:1663)
at java.security.AccessController.doPrivileged(Native Method)
at
net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:1662)
at
net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1699)
at
net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1498)
at Kemtrak.start(Kemtrak.java:915)
at
net.sourceforge.jnlp.runtime.AppletEnvironment$2.run(AppletEnvironment.java:199)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
The code that does not catch the exception is uploaded in the usual location
that Jiri knows. So you can run it.
I wanted to see if the code fails because it cannot load any non-main class or
if the problem was only when loading a class from the second .jar file.
I commented the line away (Line 915) and the code still fails on the next line
that loads a class (Line 1037) where it tries to load a class from the first
(main) . jar file.
So as far as I see it seems it cannot load any non-main classes at all.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 11:55:12 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 11:55:12 +0000
Subject: [Bug 3351] Java applet with "." codebase launched via jnlp web-start
cannot load. Fails because NON-MAIN classes do not load
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
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:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 12:43:20 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 12:43:20 +0000
Subject: [Bug 3351] Java applet with "." codebase launched via jnlp web-start
cannot load. Fails because NON-MAIN classes do not load
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
--- Comment #1 from JiriVanek ---
Hi!
looking to it. The Kemtrak does:
localObject3 = (java.net.JarURLConnection)localURL.openConnection();
java.util.jar.JarFile localJarFile =
((java.net.JarURLConnection)localObject3).getJarFile();
str9 = localJarFile.getName();
i3 = localJarFile.size();
localJarFile.close();
...
org.freixas.jcalendar.JCalendarCombo localJCalendarCombo = new
org.freixas.jcalendar.JCalendarCombo(java.util.Calendar.getInstance(),
Locale.getDefault(), 1, true, "HH:mm:ss");
Do you mind to try to remove localJarFile.close(); ?
Anyway this is interesting issue. If my bet is correct, then itw needs soem
fix, of mayb java's JarURLConnection needs some fix. (first is more
appropriate).
In all cases the fix will not 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:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 13:26:27 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 13:26:27 +0000
Subject: [Bug 3351] Java applet with "." codebase launched via jnlp web-start
cannot load. Fails because NON-MAIN classes do not load
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
--- Comment #2 from stefan at kemtrak.com ---
Hi, I'll break you the good news first, we have the code working!!
Still some warnings in the terminal window but it runs at least.
See below
(In reply to JiriVanek from comment #1)
> Hi!
>
> looking to it. The Kemtrak does:
>
> localObject3 = (java.net.JarURLConnection)localURL.openConnection();
> java.util.jar.JarFile localJarFile =
> ((java.net.JarURLConnection)localObject3).getJarFile();
> str9 = localJarFile.getName();
> i3 = localJarFile.size();
> localJarFile.close();
> ...
> org.freixas.jcalendar.JCalendarCombo localJCalendarCombo = new
> org.freixas.jcalendar.JCalendarCombo(java.util.Calendar.getInstance(),
> Locale.getDefault(), 1, true, "HH:mm:ss");
> Do you mind to try to remove localJarFile.close(); ?
Hi,
This is line 900, a part where I open a tentative connection to the jar file
just to see if it exists (error control in case it is not there). Connection
is/was closed in the end as it is not used anywhere (I thought it was good
practice to close the connection when finished). After code confirms file
exists, class is loaded on Line 915 (and it was giving the exception there).
As soon as I comment away line 900, whole code starts working!!!
Wow, that was an impressive catch you made.
>
>
> Anyway this is interesting issue. If my bet is correct, then itw needs soem
> fix, of mayb java's JarURLConnection needs some fix. (first is more
> appropriate).
I am just thinking here: If it was Java's JarURLConnection problem, wouldn't
that mean that the applet would fail in other implementations as well ?(which
it does not).
In any case the code with the localJarFile.close(); commented away is in the
usual place and you can see it running now :)
Still some warning messages come up in the console but they are not "fatal"
anyway.
>
> In all cases the fix will not be easy.
Should I leave the code with that line commented away? Is it OK if I do *not*
close that connection? I closed the connection after using it because I thought
it was good practice. And because Java does not complain, except on the IcedTea
case, the code has been running like that for years now. Would it create any
problems leaving the connection open? Or it closes when the applet exits?
Thanks!
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 13:56:56 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 13:56:56 +0000
Subject: [Bug 3351] Java applet with "." codebase launched via jnlp web-start
cannot load. Fails because NON-MAIN classes do not load
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
--- Comment #3 from JiriVanek ---
(In reply to stefan from comment #2)
> Hi, I'll break you the good news first, we have the code working!!
> Still some warnings in the terminal window but it runs at least.
> See below
good!
>
> (In reply to JiriVanek from comment #1)
> > Hi!
...
>
> I am just thinking here: If it was Java's JarURLConnection problem, wouldn't
> that mean that the applet would fail in other implementations as well
> ?(which it does not).
Other implementations means proprietary Oracle javaws. HAve you tried on IBM
javaws? They may even be returning different stream then JarURLConnection. This
is not safe retyping...
Last time I was looking into oracle plugin (and so a bit also to javaws) there
was a lot of copypasted code from Openjdk. With small tweeks. MAybe Tehre was
also JarURLConnection overwritten.
That something ITW can not afford.
>
> In any case the code with the localJarFile.close(); commented away is in the
> usual place and you can see it running now :)
>
> Still some warning messages come up in the console but they are not "fatal"
> anyway.
thank you for uplading the app again. As for wornings, I think you can ignore
happily all http and bundle related.
however the java.lang.ClassCastException: java.awt.Frame cannot be cast to
javax.swing.JFrame is worty of thinking about. This is not first app having
this problem:
topFrame =
((javax.swing.JFrame)javax.swing.SwingUtilities.getWindowAncestor(this));
If you can, try to cast it to something more deepr in inheritance. awt.Frame
should be fine.
>
>
> >
> > In all cases the fix will not be easy.
>
>
> Should I leave the code with that line commented away? Is it OK if I do
> *not* close that connection? I closed the connection after using it because
> I thought it was good practice. And because Java does not complain, except
> on the IcedTea case, the code has been running like that for years now.
> Would it create any problems leaving the connection open? Or it closes when
> the applet exits?
Dont forget we are no longer speaking about applet. But about javaws
application. So having this opened will not harm to much (unlike applet, after
closgin javaws, its done).
Anyway - I would recommend you to get rid of those calls at all.
If you simply call Class.forName on any class from jcalendar, you will
immediately know if it is correctly downloaded and usable. No need to bother
with urlstreams.
Also when you have already have localURL = new java.net.URL("jar", "", cbase +
"jcalendar.jar!/"); you can simply ocnvert it to File and you will have its
size.
Still - note - this may be serious issue in itw. Please fix your application so
it works on all desired platforms, but dont close this issue. I will creeate
autoamted reproducer (so you can remove the app you exposed for me) and debug
internals of itw...
happy your app runs fine now. Please get rid of that jarurl connection :)
>
> Thanks!
np!
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From andrew at icedtea.classpath.org Fri Apr 7 14:38:34 2017
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 14:38:34 +0000
Subject: /hg/release/icedtea7-forest-2.6/jdk: 8173783, PR3329: IllegalArg...
Message-ID:
changeset e8821d591081 in /hg/release/icedtea7-forest-2.6/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.6/jdk?cmd=changeset;node=e8821d591081
author: coffeys
date: Wed Apr 05 06:08:25 2017 +0100
8173783, PR3329: IllegalArgumentException: jdk.tls.namedGroups
Reviewed-by: xuelei, wetmore
diffstat:
src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java | 23 +-
test/sun/security/ssl/ServerHandshaker/HelloExtensionsTest.java | 287 ++++++++++
2 files changed, 303 insertions(+), 7 deletions(-)
diffs (349 lines):
diff -r c5d3193865e9 -r e8821d591081 src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
--- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Mon Feb 13 17:08:54 2017 +0000
+++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Wed Apr 05 06:08:25 2017 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2017, 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,6 +43,9 @@
final class SupportedEllipticCurvesExtension extends HelloExtension {
+ /* Class and subclass dynamic debugging support */
+ private static final Debug debug = Debug.getInstance("ssl");
+
private static final int ARBITRARY_PRIME = 0xff01;
private static final int ARBITRARY_CHAR2 = 0xff02;
@@ -159,6 +162,11 @@
} // ignore unknown curves
}
}
+ if (idList.isEmpty() && JsseJce.isEcAvailable()) {
+ throw new IllegalArgumentException(
+ "System property jdk.tls.namedGroups(" + property + ") " +
+ "contains no supported elliptic curves");
+ }
} else { // default curves
int[] ids;
if (requireFips) {
@@ -183,18 +191,19 @@
}
}
- if (idList.isEmpty()) {
- throw new IllegalArgumentException(
- "System property jdk.tls.namedGroups(" + property + ") " +
- "contains no supported elliptic curves");
- } else {
+ if (debug != null && idList.isEmpty()) {
+ debug.println(
+ "Initialized [jdk.tls.namedGroups|default] list contains " +
+ "no available elliptic curves. " +
+ (property != null ? "(" + property + ")" : "[Default]"));
+ }
+
supportedCurveIds = new int[idList.size()];
int i = 0;
for (Integer id : idList) {
supportedCurveIds[i++] = id;
}
}
- }
// check whether the curve is supported by the underlying providers
private static boolean isAvailableCurve(int curveId) {
diff -r c5d3193865e9 -r e8821d591081 test/sun/security/ssl/ServerHandshaker/HelloExtensionsTest.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/ServerHandshaker/HelloExtensionsTest.java Wed Apr 05 06:08:25 2017 +0100
@@ -0,0 +1,287 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 8173783
+ * @summary 6u141 IllegalArgumentException: jdk.tls.namedGroups
+ * @run main/othervm HelloExtensionsTest
+ * @run main/othervm HelloExtensionsTest -Djdk.tls.namedGroups="bug, bug"
+ * @run main/othervm HelloExtensionsTest -Djdk.tls.namedGroups="secp521r1"
+ *
+ */
+import javax.crypto.*;
+import javax.net.ssl.*;
+import javax.net.ssl.SSLEngineResult.*;
+import java.io.*;
+import java.nio.*;
+import java.security.*;
+
+public class HelloExtensionsTest {
+
+ private static boolean debug = false;
+ private static boolean proceed = true;
+ private static boolean EcAvailable = isEcAvailable();
+
+ static String pathToStores = "../etc";
+ private static String keyStoreFile = "keystore";
+ private static String trustStoreFile = "truststore";
+ private static String passwd = "passphrase";
+
+ private static String keyFilename =
+ System.getProperty("test.src", "./") + "/" + pathToStores +
+ "/" + keyStoreFile;
+ private static String trustFilename =
+ System.getProperty("test.src", "./") + "/" + pathToStores +
+ "/" + trustStoreFile;
+
+ private static void checkDone(SSLEngine ssle) throws Exception {
+ if (!ssle.isInboundDone()) {
+ throw new Exception("isInboundDone isn't done");
+ }
+ if (!ssle.isOutboundDone()) {
+ throw new Exception("isOutboundDone isn't done");
+ }
+ }
+
+ private static void runTest(SSLEngine ssle) throws Exception {
+
+ /*
+
+ A client hello message captured via wireshark by selecting
+ a TLSv1.2 Client Hello record and clicking through to the
+ TLSv1.2 Record Layer line and then selecting the hex stream
+ via "copy -> bytes -> hex stream".
+
+ For Record purposes, here's the ClientHello :
+
+ *** ClientHello, TLSv1.2
+ RandomCookie: GMT: 1469560450 bytes = { 108, 140, 12, 202,
+ 2, 213, 10, 236, 143, 223, 58, 162, 228, 155, 239, 3, 98,
+ 232, 89, 41, 116, 120, 13, 37, 105, 153, 97, 241 }
+ Session ID: {}
+ Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256,
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+ TLS_RSA_WITH_AES_128_CBC_SHA,
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
+ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+ TLS_RSA_WITH_AES_128_GCM_SHA256,
+ TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
+ TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
+ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
+ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
+ SSL_RSA_WITH_3DES_EDE_CBC_SHA,
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
+ SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
+ SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
+ Compression Methods: { 0 }
+ Extension elliptic_curves, curve names: {secp256r1,
+ sect163k1, sect163r2, secp192r1, secp224r1, sect233k1, sect233r1,
+ sect283k1, sect283r1, secp384r1, sect409k1, sect409r1, secp521r1,
+ sect571k1, sect571r1, secp160k1, secp160r1, secp160r2, sect163r1,
+ secp192k1, sect193r1, sect193r2, secp224k1, sect239k1, secp256k1}
+ Extension ec_point_formats, formats: [uncompressed]
+ Extension signature_algorithms, signature_algorithms:
+ SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA,
+ SHA256withECDSA, SHA256withRSA, Unknown (hash:0x3, signature:0x3),
+ Unknown (hash:0x3, signature:0x1), SHA1withECDSA,
+ SHA1withRSA, SHA1withDSA
+ Extension server_name, server_name:
+ [host_name: bugs.openjdk.java.net]
+ */
+
+ String hello = "16030300df010000db03035898b7826c8c0cc" +
+ "a02d50aec8fdf3aa2e49bef0362e8592974780d25699961f" +
+ "100003ac023c027003cc025c02900670040c009c013002fc" +
+ "004c00e00330032c02bc02f009cc02dc031009e00a2c008c" +
+ "012000ac003c00d0016001300ff01000078000a003400320" +
+ "0170001000300130015000600070009000a0018000b000c0" +
+ "019000d000e000f001000110002001200040005001400080" +
+ "016000b00020100000d00180016060306010503050104030" +
+ "401030303010203020102020000001a00180000156275677" +
+ "32e6f70656e6a646b2e6a6176612e6e6574";
+
+ byte[] msg_clihello = hexStringToByteArray(hello);
+ ByteBuffer bf_clihello = ByteBuffer.wrap(msg_clihello);
+
+ SSLSession session = ssle.getSession();
+ int appBufferMax = session.getApplicationBufferSize();
+ int netBufferMax = session.getPacketBufferSize();
+
+ ByteBuffer serverIn = ByteBuffer.allocate(appBufferMax + 50);
+ ByteBuffer serverOut = ByteBuffer.wrap("I'm Server".getBytes());
+ ByteBuffer sTOc = ByteBuffer.allocate(netBufferMax);
+
+ ssle.beginHandshake();
+
+ // unwrap the clientHello message.
+ SSLEngineResult result = ssle.unwrap(bf_clihello, serverIn);
+ System.out.println("server unwrap " + result);
+ runDelegatedTasks(result, ssle);
+
+ if (!proceed) {
+ //expected exception occurred. Don't process anymore
+ return;
+ }
+
+ // one more step, ensure the clientHello message is parsed.
+ SSLEngineResult.HandshakeStatus status = ssle.getHandshakeStatus();
+ if ( status == HandshakeStatus.NEED_UNWRAP) {
+ result = ssle.unwrap(bf_clihello, serverIn);
+ System.out.println("server unwrap " + result);
+ runDelegatedTasks(result, ssle);
+ } else if ( status == HandshakeStatus.NEED_WRAP) {
+ result = ssle.wrap(serverOut, sTOc);
+ System.out.println("server wrap " + result);
+ runDelegatedTasks(result, ssle);
+ } else {
+ throw new Exception("unexpected handshake status " + status);
+ }
+
+ // enough, stop
+ }
+
+ /*
+ * If the result indicates that we have outstanding tasks to do,
+ * go ahead and run them in this thread.
+ */
+ private static void runDelegatedTasks(SSLEngineResult result,
+ SSLEngine engine) throws Exception {
+
+ if (result.getHandshakeStatus() == HandshakeStatus.NEED_TASK) {
+ Runnable runnable;
+ try {
+ while ((runnable = engine.getDelegatedTask()) != null) {
+ log("\trunning delegated task...");
+ runnable.run();
+ }
+ } catch (ExceptionInInitializerError e) {
+ String v = System.getProperty("jdk.tls.namedGroups");
+ if (!EcAvailable || v == null) {
+ // we weren't expecting this if no EC providers
+ throw new RuntimeException("Unexpected Error :" + e);
+ }
+ if (v != null && v.contains("bug")) {
+ // OK - we were expecting this Error
+ log("got expected error for bad jdk.tls.namedGroups");
+ proceed = false;
+ return;
+ } else {
+ System.out.println("Unexpected error. " +
+ "jdk.tls.namedGroups value: " + v);
+ throw e;
+ }
+ }
+ HandshakeStatus hsStatus = engine.getHandshakeStatus();
+ if (hsStatus == HandshakeStatus.NEED_TASK) {
+ throw new Exception(
+ "handshake shouldn't need additional tasks");
+ }
+ log("\tnew HandshakeStatus: " + hsStatus);
+ }
+ }
+
+ private static byte[] hexStringToByteArray(String s) {
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ private static boolean isEcAvailable() {
+ try {
+ Signature.getInstance("SHA1withECDSA");
+ Signature.getInstance("NONEwithECDSA");
+ KeyAgreement.getInstance("ECDH");
+ KeyFactory.getInstance("EC");
+ KeyPairGenerator.getInstance("EC");
+ AlgorithmParameters.getInstance("EC");
+ } catch (Exception e) {
+ log("EC not available. Received: " + e);
+ return false;
+ }
+ return true;
+ }
+
+ public static void main(String args[]) throws Exception {
+ SSLEngine ssle = createSSLEngine(keyFilename, trustFilename);
+ runTest(ssle);
+ System.out.println("Test Passed.");
+ }
+
+ /*
+ * Create an initialized SSLContext to use for this test.
+ */
+ static private SSLEngine createSSLEngine(String keyFile, String trustFile)
+ throws Exception {
+
+ SSLEngine ssle;
+
+ KeyStore ks = KeyStore.getInstance("JKS");
+ KeyStore ts = KeyStore.getInstance("JKS");
+
+ char[] passphrase = "passphrase".toCharArray();
+
+ ks.load(new FileInputStream(keyFile), passphrase);
+ ts.load(new FileInputStream(trustFile), passphrase);
+
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
+ kmf.init(ks, passphrase);
+
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
+ tmf.init(ts);
+
+ SSLContext sslCtx = SSLContext.getInstance("TLS");
+
+ sslCtx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+
+ ssle = sslCtx.createSSLEngine();
+ ssle.setUseClientMode(false);
+
+ return ssle;
+ }
+
+
+ private static void log(String str) {
+ if (debug) {
+ System.out.println(str);
+ }
+ }
+}
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 14:38:40 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 14:38:40 +0000
Subject: [Bug 3329] [IcedTea7] Backport "8173783: IllegalArgumentException:
jdk.tls.namedGroups"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3329
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/release/icedtea7-forest-2.6/jdk?cmd=changeset;node=e8821d591081
author: coffeys
date: Wed Apr 05 06:08:25 2017 +0100
8173783, PR3329: IllegalArgumentException: jdk.tls.namedGroups
Reviewed-by: xuelei, wetmore
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From andrew at icedtea.classpath.org Fri Apr 7 14:44:04 2017
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 14:44:04 +0000
Subject: /hg/icedtea7-forest/jdk: 2 new changesets
Message-ID:
changeset 3b70d96af7bd in /hg/icedtea7-forest/jdk
details: http://icedtea.classpath.org/hg/icedtea7-forest/jdk?cmd=changeset;node=3b70d96af7bd
author: asmotrak
date: Wed Jun 24 14:38:15 2015 +0300
8078823, PR2809: javax/net/ssl/ciphersuites/DisabledAlgorithms.java fails intermittently
Reviewed-by: xuelei
changeset d6392d3c3e8d in /hg/icedtea7-forest/jdk
details: http://icedtea.classpath.org/hg/icedtea7-forest/jdk?cmd=changeset;node=d6392d3c3e8d
author: coffeys
date: Mon Sep 19 11:44:50 2016 +0100
8148516, PR2809: Improve the default strength of EC in JDK [test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java update]
Reviewed-by: xuelei
diffstat:
test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java | 23 ++++++++++++++--
1 files changed, 20 insertions(+), 3 deletions(-)
diffs (73 lines):
diff -r 437d6130ad8d -r d6392d3c3e8d test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java
--- a/test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java Tue Apr 04 02:43:53 2017 +0100
+++ b/test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java Mon Sep 19 11:44:50 2016 +0100
@@ -41,7 +41,8 @@
* @bug 8076221
* @summary Check if weak cipher suites are disabled
* @run main/othervm DisabledAlgorithms default
- * @run main/othervm DisabledAlgorithms empty
+ * @run main/othervm -Djdk.tls.namedGroups="secp256r1,secp192r1"
+ * DisabledAlgorithms empty
*/
public class DisabledAlgorithms {
@@ -97,6 +98,11 @@
System.out.println("jdk.tls.disabledAlgorithms = "
+ Security.getProperty("jdk.tls.disabledAlgorithms"));
+ // some of the certs in our test are weak; disable
+ Security.setProperty("jdk.certpath.disabledAlgorithms", "");
+ System.out.println("jdk.certpath.disabledAlgorithms = "
+ + Security.getProperty("jdk.cerpath.disabledAlgorithms"));
+
// check if RC4 cipher suites can be used
// if jdk.tls.disabledAlgorithms is empty
checkSuccess(rc4_ciphersuites);
@@ -104,6 +110,8 @@
default:
throw new RuntimeException("Wrong parameter: " + args[0]);
}
+
+ System.out.println("Test passed");
}
/*
@@ -128,7 +136,6 @@
}
}
- server.stop();
while (server.isRunning()) {
sleep();
}
@@ -223,12 +230,21 @@
socket.getSession().invalidate();
} catch (SSLHandshakeException e) {
System.out.println("Server: run: " + e);
+ e.printStackTrace();
sslError = true;
+ stopped = true;
} catch (IOException e) {
if (!stopped) {
- System.out.println("Server: run: " + e);
+ System.out.println("Server: run: unexpected exception: "
+ + e);
e.printStackTrace();
otherError = true;
+ stopped = true;
+ } else {
+ System.out.println("Server: run: " + e);
+ System.out.println("The exception above occurred "
+ + "because socket was closed, "
+ + "please ignore it");
}
}
}
@@ -261,6 +277,7 @@
stopped = true;
if (!ssocket.isClosed()) {
try {
+ System.out.println("Server: close socket");
ssocket.close();
} catch (IOException e) {
System.out.println("Server: close: " + e);
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 14:44:10 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 14:44:10 +0000
Subject: [Bug 2809] [IcedTea7] Backport "8076221: Disable RC4 cipher suites"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2809
--- Comment #4 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=3b70d96af7bd
author: asmotrak
date: Wed Jun 24 14:38:15 2015 +0300
8078823, PR2809: javax/net/ssl/ciphersuites/DisabledAlgorithms.java fails
intermittently
Reviewed-by: xuelei
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 14:44:20 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 14:44:20 +0000
Subject: [Bug 2809] [IcedTea7] Backport "8076221: Disable RC4 cipher suites"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2809
--- Comment #5 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=d6392d3c3e8d
author: coffeys
date: Mon Sep 19 11:44:50 2016 +0100
8148516, PR2809: Improve the default strength of EC in JDK
[test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java update]
Reviewed-by: xuelei
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From andrew at icedtea.classpath.org Fri Apr 7 15:15:09 2017
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 15:15:09 +0000
Subject: /hg/icedtea7: 2 new changesets
Message-ID:
changeset 01cf9369e77a in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=01cf9369e77a
author: Andrew John Hughes
date: Tue Apr 04 03:17:18 2017 +0100
PR3347: jstack.stp should support AArch64
2017-03-15 Andrew John Hughes
PR3347: jstack.stp should support AArch64
Patch by Andrew Dinn
and Mark Wielaard
* AUTHORS: Add Andrew Dinn.
* NEWS: Updated.
* tapset/jstack.stp.in:
Add AArch64 support.
changeset d0a40015c820 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=d0a40015c820
author: Andrew John Hughes
date: Tue Apr 04 03:29:16 2017 +0100
PR3349: Architectures unsupported by SystemTap tapsets throw a parse error
2017-04-03 Andrew John Hughes
PR3349: Architectures unsupported by SystemTap
tapsets throw a parse error
Patch by David Smith
* AUTHORS: Add Andrew Dinn.
* NEWS: Updated.
* tapset/jstack.stp.in:
Call the error function if no architecture is matched.
diffstat:
AUTHORS | 2 ++
ChangeLog | 20 ++++++++++++++++++++
NEWS | 2 ++
tapset/jstack.stp.in | 16 ++++++++++++++--
4 files changed, 38 insertions(+), 2 deletions(-)
diffs (88 lines):
diff -r 7e5ce31d9d31 -r d0a40015c820 AUTHORS
--- a/AUTHORS Tue Apr 04 03:02:35 2017 +0100
+++ b/AUTHORS Tue Apr 04 03:29:16 2017 +0100
@@ -11,6 +11,7 @@
Pablo del Campo
James Le Cuirot
Tiago Sturmer Daitx
+Andrew Dinn
Thomas Fitzsimmons
Matthew Flaschen
Michael Franz
@@ -40,6 +41,7 @@
Marc Schoenefeld
Keith Seitz
Ralph Sennhauser
+David Smith
Joshua Sumali
Pavel Tisnovsky
Christian Thalinger
diff -r 7e5ce31d9d31 -r d0a40015c820 ChangeLog
--- a/ChangeLog Tue Apr 04 03:02:35 2017 +0100
+++ b/ChangeLog Tue Apr 04 03:29:16 2017 +0100
@@ -1,3 +1,23 @@
+2017-04-03 Andrew John Hughes
+
+ PR3349: Architectures unsupported by SystemTap
+ tapsets throw a parse error
+ Patch by David Smith
+ * AUTHORS: Add Andrew Dinn.
+ * NEWS: Updated.
+ * tapset/jstack.stp.in:
+ Call the error function if no architecture is matched.
+
+2017-03-15 Andrew John Hughes
+
+ PR3347: jstack.stp should support AArch64
+ Patch by Andrew Dinn
+ and Mark Wielaard
+ * AUTHORS: Add Andrew Dinn.
+ * NEWS: Updated.
+ * tapset/jstack.stp.in:
+ Add AArch64 support.
+
2017-04-03 Andrew John Hughes
* NEWS:
diff -r 7e5ce31d9d31 -r d0a40015c820 NEWS
--- a/NEWS Tue Apr 04 03:02:35 2017 +0100
+++ b/NEWS Tue Apr 04 03:29:16 2017 +0100
@@ -16,10 +16,12 @@
* New features
- PR3180: Support building without pre-compiled headers
+ - PR3347: jstack.stp should support AArch64
* Backports
- S8076221, PR2809, RH1302385: Disable RC4 cipher suites
* Bug fixes
- PR3162: Remove reference to AbstractPlainDatagramSocketImpl.c, removed in 8072466
+ - PR3349: Architectures unsupported by SystemTap tapsets throw a parse error
* AArch64 port
- PR3209: Backed out changeset 3cc3ab869ccf
diff -r 7e5ce31d9d31 -r d0a40015c820 tapset/jstack.stp.in
--- a/tapset/jstack.stp.in Tue Apr 04 03:02:35 2017 +0100
+++ b/tapset/jstack.stp.in Tue Apr 04 03:29:16 2017 +0100
@@ -139,8 +139,20 @@
pc_register = "rip";
ptr_size = 8; // XXX - might be probing 32-on-64 jvm.
ptr_mask = 0xFFFFFFFFFFFFFFFF;
- %: **ERROR** unknown architecture
- %) %)
+ %: %(arch == "arm64" %?
+ sp_register = "sp";
+ fp_register = "fp";
+ pc_register = "pc";
+ ptr_size = 8; // XXX - might be probing 32-on-64 jvm.
+ ptr_mask = 0xFFFFFFFFFFFFFFFF;
+ %:
+ sp_register = "";
+ fp_register = "";
+ pc_register = "";
+ ptr_size = 8;
+ ptr_mask = 0xFFFFFFFFFFFFFFFF;
+ error("unknown architecture")
+ %) %) %)
// Pretend we have an array at address zero and take address of second
// element and we have the size.
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 15:15:18 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 15:15:18 +0000
Subject: [Bug 3347] [IcedTea7] jstack.stp should support AArch64
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3347
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=01cf9369e77a
author: Andrew John Hughes
date: Tue Apr 04 03:17:18 2017 +0100
PR3347: jstack.stp should support AArch64
2017-03-15 Andrew John Hughes
PR3347: jstack.stp should support AArch64
Patch by Andrew Dinn
and Mark Wielaard
* AUTHORS: Add Andrew Dinn.
* NEWS: Updated.
* tapset/jstack.stp.in:
Add AArch64 support.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 15:15:24 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 15:15:24 +0000
Subject: [Bug 3349] [IcedTea7] Architectures unsupported by SystemTap tapsets
throw a parse error
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3349
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=d0a40015c820
author: Andrew John Hughes
date: Tue Apr 04 03:29:16 2017 +0100
PR3349: Architectures unsupported by SystemTap tapsets throw a parse error
2017-04-03 Andrew John Hughes
PR3349: Architectures unsupported by SystemTap
tapsets throw a parse error
Patch by David Smith
* AUTHORS: Add Andrew Dinn.
* NEWS: Updated.
* tapset/jstack.stp.in:
Call the error function if no architecture is matched.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 16:45:28 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 16:45:28 +0000
Subject: [Bug 3352] New: [IcedTea8] Backport "8144566: Custom
HostnameVerifier disables SNI extension"
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3352
Bug ID: 3352
Summary: [IcedTea8] Backport "8144566: Custom HostnameVerifier
disables SNI extension"
Product: IcedTea
Version: 8-hg
Hardware: all
OS: All
Status: NEW
Severity: normal
Priority: P5
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: gnu.andrew at redhat.com
CC: unassigned at icedtea.classpath.org
https://bugs.openjdk.java.net/browse/JDK-8144566
SNI support has regressed so the server_name extension is no longer present in
HTTPS connections.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 16:45:57 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 16:45:57 +0000
Subject: [Bug 3298] [TRACKER] IcedTea 3.4.0 Release
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3298
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |3352
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 16:45:57 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 16:45:57 +0000
Subject: [Bug 3352] [IcedTea8] Backport "8144566: Custom HostnameVerifier
disables SNI extension"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3352
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Blocks| |3298
Target Milestone|--- |3.4.0
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From andrew at icedtea.classpath.org Fri Apr 7 17:41:37 2017
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:41:37 +0000
Subject: /hg/icedtea8-forest/jdk: 4 new changesets
Message-ID:
changeset 1ac9b0f1bf17 in /hg/icedtea8-forest/jdk
details: http://icedtea.classpath.org/hg/icedtea8-forest/jdk?cmd=changeset;node=1ac9b0f1bf17
author: coffeys
date: Wed Feb 08 12:10:00 2017 +0000
8173783, PR3328: IllegalArgumentException: jdk.tls.namedGroups
Reviewed-by: xuelei, wetmore
changeset d41592af9af3 in /hg/icedtea8-forest/jdk
details: http://icedtea.classpath.org/hg/icedtea8-forest/jdk?cmd=changeset;node=d41592af9af3
author: adinn
date: Fri Feb 24 10:19:24 2017 +0000
8174729, PR3336, RH1420518: Race Condition in java.lang.reflect.WeakCache
Summary: Race can occur between Proxy.getProxyClass and Proxy.isProxyClass
Reviewed-by: mchung
changeset fb617df8fbac in /hg/icedtea8-forest/jdk
details: http://icedtea.classpath.org/hg/icedtea8-forest/jdk?cmd=changeset;node=fb617df8fbac
author: rpatil
date: Fri Sep 23 15:14:57 2016 +0530
8144566, PR3352: Custom HostnameVerifier disables SNI extension
Reviewed-by: coffeys
changeset c0e856f2dacd in /hg/icedtea8-forest/jdk
details: http://icedtea.classpath.org/hg/icedtea8-forest/jdk?cmd=changeset;node=c0e856f2dacd
author: rhalade
date: Mon May 16 10:36:51 2016 -0700
8155049, PR3352: New tests from 8144566 fail with "No expected Server Name Indication"
Reviewed-by: xuelei
diffstat:
src/share/classes/java/lang/reflect/WeakCache.java | 8 +-
src/share/classes/sun/security/ssl/SSLSocketImpl.java | 95 +-
src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java | 23 +-
test/java/lang/reflect/Proxy/ProxyRace.java | 88 ++
test/javax/net/ssl/ServerName/BestEffortOnLazyConnected.java | 335 ++++++++
test/sun/net/www/protocol/https/HttpsURLConnection/ImpactOnSNI.java | 391 ++++++++++
test/sun/security/ssl/ServerHandshaker/HelloExtensionsTest.java | 287 +++++++
7 files changed, 1193 insertions(+), 34 deletions(-)
diffs (truncated from 1359 to 500 lines):
diff -r 9f6a0864a734 -r c0e856f2dacd src/share/classes/java/lang/reflect/WeakCache.java
--- a/src/share/classes/java/lang/reflect/WeakCache.java Mon Mar 21 11:24:09 2016 +0100
+++ b/src/share/classes/java/lang/reflect/WeakCache.java Mon May 16 10:36:51 2016 -0700
@@ -239,11 +239,11 @@
// wrap value with CacheValue (WeakReference)
CacheValue cacheValue = new CacheValue<>(value);
+ // put into reverseMap
+ reverseMap.put(cacheValue, Boolean.TRUE);
+
// try replacing us with CacheValue (this should always succeed)
- if (valuesMap.replace(subKey, this, cacheValue)) {
- // put also in reverseMap
- reverseMap.put(cacheValue, Boolean.TRUE);
- } else {
+ if (!valuesMap.replace(subKey, this, cacheValue)) {
throw new AssertionError("Should not reach here");
}
diff -r 9f6a0864a734 -r c0e856f2dacd src/share/classes/sun/security/ssl/SSLSocketImpl.java
--- a/src/share/classes/sun/security/ssl/SSLSocketImpl.java Mon Mar 21 11:24:09 2016 +0100
+++ b/src/share/classes/sun/security/ssl/SSLSocketImpl.java Mon May 16 10:36:51 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2016, 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
@@ -220,6 +220,11 @@
Collections.emptyList();
Collection sniMatchers =
Collections.emptyList();
+ // Is the serverNames set to empty with SSLParameters.setServerNames()?
+ private boolean noSniExtension = false;
+
+ // Is the sniMatchers set to empty with SSLParameters.setSNIMatchers()?
+ private boolean noSniMatcher = false;
/*
* READ ME * READ ME * READ ME * READ ME * READ ME * READ ME *
@@ -666,6 +671,11 @@
}
super.connect(endpoint, timeout);
+
+ if (host == null || host.length() == 0) {
+ useImplicitHost(false);
+ }
+
doneConnect();
}
@@ -2158,41 +2168,61 @@
output.r.setVersion(protocolVersion);
}
+ //
+ // ONLY used by ClientHandshaker for the server hostname during handshaking
+ //
synchronized String getHost() {
// Note that the host may be null or empty for localhost.
if (host == null || host.length() == 0) {
- if (!trustNameService) {
- // If the local name service is not trustworthy, reverse host
- // name resolution should not be performed for endpoint
- // identification. Use the application original specified
- // hostname or IP address instead.
- host = getOriginalHostname(getInetAddress());
- } else {
- host = getInetAddress().getHostName();
- }
+ useImplicitHost(true);
}
return host;
}
/*
- * Get the original application specified hostname.
+ * Try to set and use the implicit specified hostname
*/
- private static String getOriginalHostname(InetAddress inetAddress) {
- /*
- * Get the original hostname via sun.misc.SharedSecrets.
- */
+ private synchronized void useImplicitHost(boolean noSniUpdate) {
+
+ // Note: If the local name service is not trustworthy, reverse
+ // host name resolution should not be performed for endpoint
+ // identification. Use the application original specified
+ // hostname or IP address instead.
+
+ // Get the original hostname via jdk.internal.misc.SharedSecrets
+ InetAddress inetAddress = getInetAddress();
+ if (inetAddress == null) { // not connected
+ return;
+ }
+
JavaNetAccess jna = SharedSecrets.getJavaNetAccess();
String originalHostname = jna.getOriginalHostName(inetAddress);
+ if ((originalHostname != null) &&
+ (originalHostname.length() != 0)) {
- /*
- * If no application specified hostname, use the IP address.
- */
- if (originalHostname == null || originalHostname.length() == 0) {
- originalHostname = inetAddress.getHostAddress();
+ host = originalHostname;
+ if (!noSniUpdate && serverNames.isEmpty() && !noSniExtension) {
+ serverNames =
+ Utilities.addToSNIServerNameList(serverNames, host);
+
+ if (!roleIsServer &&
+ (handshaker != null) && !handshaker.started()) {
+ handshaker.setSNIServerNames(serverNames);
+ }
+ }
+
+ return;
}
- return originalHostname;
+ // No explicitly specified hostname, no server name indication.
+ if (!trustNameService) {
+ // The local name service is not trustworthy, use IP address.
+ host = inetAddress.getHostAddress();
+ } else {
+ // Use the underlying reverse host name resolution service.
+ host = getInetAddress().getHostName();
+ }
}
@@ -2205,6 +2235,10 @@
this.host = host;
this.serverNames =
Utilities.addToSNIServerNameList(this.serverNames, this.host);
+
+ if (!roleIsServer && (handshaker != null) && !handshaker.started()) {
+ handshaker.setSNIServerNames(serverNames);
+ }
}
/**
@@ -2571,8 +2605,21 @@
// the super implementation does not handle the following parameters
params.setEndpointIdentificationAlgorithm(identificationProtocol);
params.setAlgorithmConstraints(algorithmConstraints);
- params.setSNIMatchers(sniMatchers);
- params.setServerNames(serverNames);
+
+ if (sniMatchers.isEmpty() && !noSniMatcher) {
+ // 'null' indicates none has been set
+ params.setSNIMatchers(null);
+ } else {
+ params.setSNIMatchers(sniMatchers);
+ }
+
+ if (serverNames.isEmpty() && !noSniExtension) {
+ // 'null' indicates none has been set
+ params.setServerNames(null);
+ } else {
+ params.setServerNames(serverNames);
+ }
+
params.setUseCipherSuitesOrder(preferLocalCipherSuites);
return params;
@@ -2592,11 +2639,13 @@
List sniNames = params.getServerNames();
if (sniNames != null) {
+ noSniExtension = sniNames.isEmpty();
serverNames = sniNames;
}
Collection matchers = params.getSNIMatchers();
if (matchers != null) {
+ noSniMatcher = matchers.isEmpty();
sniMatchers = matchers;
}
diff -r 9f6a0864a734 -r c0e856f2dacd src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
--- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Mon Mar 21 11:24:09 2016 +0100
+++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Mon May 16 10:36:51 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2017, 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,6 +43,9 @@
final class SupportedEllipticCurvesExtension extends HelloExtension {
+ /* Class and subclass dynamic debugging support */
+ private static final Debug debug = Debug.getInstance("ssl");
+
private static final int ARBITRARY_PRIME = 0xff01;
private static final int ARBITRARY_CHAR2 = 0xff02;
@@ -159,6 +162,11 @@
} // ignore unknown curves
}
}
+ if (idList.isEmpty() && JsseJce.isEcAvailable()) {
+ throw new IllegalArgumentException(
+ "System property jdk.tls.namedGroups(" + property + ") " +
+ "contains no supported elliptic curves");
+ }
} else { // default curves
int[] ids;
if (requireFips) {
@@ -183,18 +191,19 @@
}
}
- if (idList.isEmpty()) {
- throw new IllegalArgumentException(
- "System property jdk.tls.namedGroups(" + property + ") " +
- "contains no supported elliptic curves");
- } else {
+ if (debug != null && idList.isEmpty()) {
+ debug.println(
+ "Initialized [jdk.tls.namedGroups|default] list contains " +
+ "no available elliptic curves. " +
+ (property != null ? "(" + property + ")" : "[Default]"));
+ }
+
supportedCurveIds = new int[idList.size()];
int i = 0;
for (Integer id : idList) {
supportedCurveIds[i++] = id;
}
}
- }
// check whether the curve is supported by the underlying providers
private static boolean isAvailableCurve(int curveId) {
diff -r 9f6a0864a734 -r c0e856f2dacd test/java/lang/reflect/Proxy/ProxyRace.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/lang/reflect/Proxy/ProxyRace.java Mon May 16 10:36:51 2016 -0700
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+import java.lang.reflect.Proxy;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Phaser;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * @test
+ * @bug 8174729
+ * @summary Proxy.getProxyClass() / Proxy.isProxyClass() race detector
+ * @run main ProxyRace
+ * @author plevart
+ */
+
+public class ProxyRace {
+
+ static final int threads = 8;
+
+ static volatile ClassLoader classLoader;
+ static volatile boolean terminate;
+ static final AtomicInteger racesDetected = new AtomicInteger();
+
+ public static void main(String[] args) throws Exception {
+
+ Phaser phaser = new Phaser(threads) {
+ @Override
+ protected boolean onAdvance(int phase, int registeredParties) {
+ // install new ClassLoader on each advance
+ classLoader = new CL();
+ return terminate;
+ }
+ };
+
+ ExecutorService exe = Executors.newFixedThreadPool(threads);
+
+ for (int i = 0; i < threads; i++) {
+ exe.execute(() -> {
+ while (phaser.arriveAndAwaitAdvance() >= 0) {
+ Class> proxyClass = Proxy.getProxyClass(classLoader, Runnable.class);
+ if (!Proxy.isProxyClass(proxyClass)) {
+ racesDetected.incrementAndGet();
+ }
+ }
+ });
+ }
+
+ Thread.sleep(5000L);
+
+ terminate = true;
+ exe.shutdown();
+ exe.awaitTermination(5L, TimeUnit.SECONDS);
+
+ System.out.println(racesDetected.get() + " races detected");
+ if (racesDetected.get() != 0) {
+ throw new RuntimeException(racesDetected.get() + " races detected");
+ }
+ }
+
+ static class CL extends ClassLoader {
+ public CL() {
+ super(ClassLoader.getSystemClassLoader());
+ }
+ }
+}
diff -r 9f6a0864a734 -r c0e856f2dacd test/javax/net/ssl/ServerName/BestEffortOnLazyConnected.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/net/ssl/ServerName/BestEffortOnLazyConnected.java Mon May 16 10:36:51 2016 -0700
@@ -0,0 +1,335 @@
+/*
+ * Copyright (c) 2016, 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.
+ *
+ * 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.
+ */
+
+//
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+//
+
+/**
+ * @test
+ * @bug 8144566
+ * @summary Custom HostnameVerifier disables SNI extension
+ * @run main/othervm BestEffortOnLazyConnected
+ */
+
+import java.io.*;
+import java.net.*;
+import javax.net.ssl.*;
+
+public class BestEffortOnLazyConnected {
+
+ /*
+ * =============================================================
+ * Set the various variables needed for the tests, then
+ * specify what tests to run on each side.
+ */
+
+ /*
+ * Should we run the client or server in a separate thread?
+ * Both sides can throw exceptions, but do you have a preference
+ * as to which side should be the main thread.
+ */
+ private static final boolean separateServerThread = true;
+
+ /*
+ * Where do we find the keystores?
+ */
+ private static final String pathToStores = "../../../../sun/security/ssl/etc";
+ private static final String keyStoreFile = "keystore";
+ private static final String trustStoreFile = "truststore";
+ private static final String passwd = "passphrase";
+
+ /*
+ * Is the server ready to serve?
+ */
+ private static volatile boolean serverReady = false;
+
+ /*
+ * Turn on SSL debugging?
+ */
+ private static final boolean debug = false;
+
+ /*
+ * the fully qualified domain name of localhost
+ */
+ private static String hostname = null;
+
+ /*
+ * If the client or server is doing some kind of object creation
+ * that the other side depends on, and that thread prematurely
+ * exits, you may experience a hang. The test harness will
+ * terminate all hung threads after its timeout has expired,
+ * currently 3 minutes by default, but you might try to be
+ * smart about it....
+ */
+
+ /*
+ * Define the server side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ private void doServerSide() throws Exception {
+ SSLServerSocketFactory sslssf =
+ (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
+ try (SSLServerSocket sslServerSocket =
+ (SSLServerSocket) sslssf.createServerSocket(serverPort)) {
+
+ serverPort = sslServerSocket.getLocalPort();
+
+ /*
+ * Signal Client, we're ready for his connect.
+ */
+ serverReady = true;
+
+ try (SSLSocket sslSocket = (SSLSocket)sslServerSocket.accept()) {
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslIS.read();
+ sslOS.write(85);
+ sslOS.flush();
+
+ ExtendedSSLSession session =
+ (ExtendedSSLSession)sslSocket.getSession();
+ if (session.getRequestedServerNames().isEmpty()) {
+ throw new Exception("No expected Server Name Indication");
+ }
+ }
+ }
+ }
+
+ /*
+ * Define the client side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ private void doClientSide() throws Exception {
+
+ /*
+ * Wait for server to get started.
+ */
+ while (!serverReady) {
+ Thread.sleep(50);
+ }
+
+ SSLSocketFactory sslsf =
+ (SSLSocketFactory) SSLSocketFactory.getDefault();
+
+ try (SSLSocket sslSocket = (SSLSocket)sslsf.createSocket()) {
+
+ sslSocket.connect(new InetSocketAddress(hostname, serverPort), 0);
+
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslOS.write(280);
+ sslOS.flush();
+ sslIS.read();
+ }
+ }
+
+
+ /*
+ * =============================================================
+ * The remainder is just support stuff
+ */
+
+ // use any free port by default
+ private volatile int serverPort = 0;
+
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:41:45 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:41:45 +0000
Subject: [Bug 3328] [IcedTea8] Backport "8173783: IllegalArgumentException:
jdk.tls.namedGroups"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3328
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/jdk?cmd=changeset;node=1ac9b0f1bf17
author: coffeys
date: Wed Feb 08 12:10:00 2017 +0000
8173783, PR3328: IllegalArgumentException: jdk.tls.namedGroups
Reviewed-by: xuelei, wetmore
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:41:53 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:41:53 +0000
Subject: [Bug 3336] [IcedTea8] Backport "8174729: Race Condition in
java.lang.reflect.WeakCache"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3336
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/jdk?cmd=changeset;node=d41592af9af3
author: adinn
date: Fri Feb 24 10:19:24 2017 +0000
8174729, PR3336, RH1420518: Race Condition in java.lang.reflect.WeakCache
Summary: Race can occur between Proxy.getProxyClass and Proxy.isProxyClass
Reviewed-by: mchung
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:00 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:00 +0000
Subject: [Bug 3352] [IcedTea8] Backport "8144566: Custom HostnameVerifier
disables SNI extension"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3352
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/jdk?cmd=changeset;node=fb617df8fbac
author: rpatil
date: Fri Sep 23 15:14:57 2016 +0530
8144566, PR3352: Custom HostnameVerifier disables SNI extension
Reviewed-by: coffeys
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:07 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:07 +0000
Subject: [Bug 3352] [IcedTea8] Backport "8144566: Custom HostnameVerifier
disables SNI extension"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3352
--- Comment #2 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/jdk?cmd=changeset;node=c0e856f2dacd
author: rhalade
date: Mon May 16 10:36:51 2016 -0700
8155049, PR3352: New tests from 8144566 fail with "No expected Server Name
Indication"
Reviewed-by: xuelei
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From andrew at icedtea.classpath.org Fri Apr 7 17:42:22 2017
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:22 +0000
Subject: /hg/icedtea8-forest/hotspot: 6 new changesets
Message-ID:
changeset 15922b2f31db in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=15922b2f31db
author: ysuenaga
date: Tue Feb 14 20:51:31 2017 -0500
8173941, PR3326: SA does not work if executable is DSO
Reviewed-by: aph, dsamersoff
changeset a9cbaff50d3d in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=a9cbaff50d3d
author: roland
date: Wed Feb 15 17:26:37 2017 -0800
8174164, PR3334, RH1417266: SafePointNode::_replaced_nodes breaks with irreducible loops
Reviewed-by: kvn
changeset 1b4eb44fbfcd in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=1b4eb44fbfcd
author: roland
date: Thu Feb 16 15:14:44 2017 -0800
8175097, PR3334, RH1417266: [TESTBUG] 8174164 fix missed the test
Reviewed-by: kvn
changeset 49e72c5c468e in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=49e72c5c468e
author: tschatzl
date: Thu Dec 15 19:48:32 2016 -0500
8147910, PR3346: Cache initial active_processor_count
Summary: Introduce and initialize active_processor_count variable in VM.
Reviewed-by: dholmes, jprovino
changeset 62212568179b in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=62212568179b
author: tschatzl
date: Thu Dec 15 20:00:01 2016 -0500
8161993, PR3346: G1 crashes if active_processor_count changes during startup
Summary: Use the initial active processor count for memory initialization instead of the current active one.
Reviewed-by: dholmes, mgerdin
changeset baf64c88538f in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=baf64c88538f
author: shshahma
date: Thu Sep 22 02:04:40 2016 -0700
6515172, PR3346: Runtime.availableProcessors() ignores Linux taskset command
Summary: extract processor count from sched_getaffinity mask
Reviewed-by: dholmes, gthornbr
diffstat:
agent/src/os/linux/elfmacros.h | 2 +
agent/src/os/linux/ps_core.c | 25 ++++-
src/os/linux/vm/globals_linux.hpp | 7 +-
src/os/linux/vm/os_linux.cpp | 50 ++++++++-
src/share/vm/gc_implementation/g1/concurrentMark.cpp | 7 +-
src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp | 4 +-
src/share/vm/opto/callnode.hpp | 4 +-
src/share/vm/opto/parse1.cpp | 4 +-
src/share/vm/opto/replacednodes.cpp | 8 +-
src/share/vm/opto/replacednodes.hpp | 2 +-
src/share/vm/runtime/os.cpp | 15 ++-
src/share/vm/runtime/os.hpp | 13 ++-
src/share/vm/runtime/vm_version.cpp | 4 +-
test/compiler/c2/TestReplacedNodesOSR.java | 86 +++++++++++++++
test/runtime/os/AvailableProcessors.java | 103 +++++++++++++++++++
15 files changed, 304 insertions(+), 30 deletions(-)
diffs (truncated from 580 to 500 lines):
diff -r 652fe741b8f2 -r baf64c88538f agent/src/os/linux/elfmacros.h
--- a/agent/src/os/linux/elfmacros.h Thu Jan 05 18:55:20 2017 -0500
+++ b/agent/src/os/linux/elfmacros.h Thu Sep 22 02:04:40 2016 -0700
@@ -33,6 +33,7 @@
#define ELF_NHDR Elf64_Nhdr
#define ELF_DYN Elf64_Dyn
#define ELF_ADDR Elf64_Addr
+#define ELF_AUXV Elf64_auxv_t
#define ELF_ST_TYPE ELF64_ST_TYPE
@@ -45,6 +46,7 @@
#define ELF_NHDR Elf32_Nhdr
#define ELF_DYN Elf32_Dyn
#define ELF_ADDR Elf32_Addr
+#define ELF_AUXV Elf32_auxv_t
#define ELF_ST_TYPE ELF32_ST_TYPE
diff -r 652fe741b8f2 -r baf64c88538f agent/src/os/linux/ps_core.c
--- a/agent/src/os/linux/ps_core.c Thu Jan 05 18:55:20 2017 -0500
+++ b/agent/src/os/linux/ps_core.c Thu Sep 22 02:04:40 2016 -0700
@@ -642,6 +642,18 @@
if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true) {
return false;
}
+ } else if (notep->n_type == NT_AUXV) {
+ // Get first segment from entry point
+ ELF_AUXV *auxv = (ELF_AUXV *)descdata;
+ while (auxv->a_type != AT_NULL) {
+ if (auxv->a_type == AT_ENTRY) {
+ // Set entry point address to address of dynamic section.
+ // We will adjust it in read_exec_segments().
+ ph->core->dynamic_addr = auxv->a_un.a_val;
+ break;
+ }
+ auxv++;
+ }
}
p = descdata + ROUNDUP(notep->n_descsz, 4);
}
@@ -826,7 +838,13 @@
// from PT_DYNAMIC we want to read address of first link_map addr
case PT_DYNAMIC: {
- ph->core->dynamic_addr = exec_php->p_vaddr;
+ if (exec_ehdr->e_type == ET_EXEC) {
+ ph->core->dynamic_addr = exec_php->p_vaddr;
+ } else { // ET_DYN
+ // dynamic_addr has entry point of executable.
+ // Thus we should substract it.
+ ph->core->dynamic_addr += exec_php->p_vaddr - exec_ehdr->e_entry;
+ }
print_debug("address of _DYNAMIC is 0x%lx\n", ph->core->dynamic_addr);
break;
}
@@ -1024,8 +1042,9 @@
goto err;
}
- if (read_elf_header(ph->core->exec_fd, &exec_ehdr) != true || exec_ehdr.e_type != ET_EXEC) {
- print_debug("executable file is not a valid ELF ET_EXEC file\n");
+ if (read_elf_header(ph->core->exec_fd, &exec_ehdr) != true ||
+ ((exec_ehdr.e_type != ET_EXEC) && (exec_ehdr.e_type != ET_DYN))) {
+ print_debug("executable file is not a valid ELF file\n");
goto err;
}
diff -r 652fe741b8f2 -r baf64c88538f src/os/linux/vm/globals_linux.hpp
--- a/src/os/linux/vm/globals_linux.hpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/os/linux/vm/globals_linux.hpp Thu Sep 22 02:04:40 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2016, 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
@@ -47,7 +47,10 @@
"Load DLLs with executable-stack attribute in the VM Thread") \
\
product(bool, UseSHM, false, \
- "Use SYSV shared memory for large pages")
+ "Use SYSV shared memory for large pages") \
+ \
+ diagnostic(bool, PrintActiveCpus, false, \
+ "Print the number of CPUs detected in os::active_processor_count")
//
// Defines Linux-specific default values. The flags are available on all
diff -r 652fe741b8f2 -r baf64c88538f src/os/linux/vm/os_linux.cpp
--- a/src/os/linux/vm/os_linux.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/os/linux/vm/os_linux.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, 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
@@ -104,6 +104,14 @@
PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
+#ifndef _GNU_SOURCE
+ #define _GNU_SOURCE
+ #include
+ #undef _GNU_SOURCE
+#else
+ #include
+#endif
+
// if RUSAGE_THREAD for getrusage() has not been defined, do it here. The code calling
// getrusage() is prepared to handle the associated failure.
#ifndef RUSAGE_THREAD
@@ -5027,12 +5035,42 @@
}
};
+static int os_cpu_count(const cpu_set_t* cpus) {
+ int count = 0;
+ // only look up to the number of configured processors
+ for (int i = 0; i < os::processor_count(); i++) {
+ if (CPU_ISSET(i, cpus)) {
+ count++;
+ }
+ }
+ return count;
+}
+
+// Get the current number of available processors for this process.
+// This value can change at any time during a process's lifetime.
+// sched_getaffinity gives an accurate answer as it accounts for cpusets.
+// If anything goes wrong we fallback to returning the number of online
+// processors - which can be greater than the number available to the process.
int os::active_processor_count() {
- // Linux doesn't yet have a (official) notion of processor sets,
- // so just return the number of online processors.
- int online_cpus = ::sysconf(_SC_NPROCESSORS_ONLN);
- assert(online_cpus > 0 && online_cpus <= processor_count(), "sanity check");
- return online_cpus;
+ cpu_set_t cpus; // can represent at most 1024 (CPU_SETSIZE) processors
+ int cpus_size = sizeof(cpu_set_t);
+ int cpu_count = 0;
+
+ // pid 0 means the current thread - which we have to assume represents the process
+ if (sched_getaffinity(0, cpus_size, &cpus) == 0) {
+ cpu_count = os_cpu_count(&cpus);
+ if (PrintActiveCpus) {
+ tty->print_cr("active_processor_count: sched_getaffinity processor count: %d", cpu_count);
+ }
+ }
+ else {
+ cpu_count = ::sysconf(_SC_NPROCESSORS_ONLN);
+ warning("sched_getaffinity failed (%s)- using online processor count (%d) "
+ "which may exceed available processors", strerror(errno), cpu_count);
+ }
+
+ assert(cpu_count > 0 && cpu_count <= processor_count(), "sanity check");
+ return cpu_count;
}
void os::set_native_thread_name(const char *name) {
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/gc_implementation/g1/concurrentMark.cpp
--- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, 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
@@ -631,11 +631,10 @@
double overall_cm_overhead =
(double) MaxGCPauseMillis * marking_overhead /
(double) GCPauseIntervalMillis;
- double cpu_ratio = 1.0 / (double) os::processor_count();
+ double cpu_ratio = 1.0 / os::initial_active_processor_count();
double marking_thread_num = ceil(overall_cm_overhead / cpu_ratio);
double marking_task_overhead =
- overall_cm_overhead / marking_thread_num *
- (double) os::processor_count();
+ overall_cm_overhead / marking_thread_num * os::initial_active_processor_count();
double sleep_factor =
(1.0 - marking_task_overhead) / marking_task_overhead;
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp
--- a/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, 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
@@ -80,7 +80,7 @@
// Determines how many mutator threads can process the buffers in parallel.
uint DirtyCardQueueSet::num_par_ids() {
- return (uint)os::processor_count();
+ return (uint)os::initial_active_processor_count();
}
void DirtyCardQueueSet::initialize(CardTableEntryClosure* cl, Monitor* cbl_mon, Mutex* fl_lock,
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/opto/callnode.hpp
--- a/src/share/vm/opto/callnode.hpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/opto/callnode.hpp Thu Sep 22 02:04:40 2016 -0700
@@ -449,8 +449,8 @@
void delete_replaced_nodes() {
_replaced_nodes.reset();
}
- void apply_replaced_nodes() {
- _replaced_nodes.apply(this);
+ void apply_replaced_nodes(uint idx) {
+ _replaced_nodes.apply(this, idx);
}
void merge_replaced_nodes_with(SafePointNode* sfpt) {
_replaced_nodes.merge_with(sfpt->_replaced_nodes);
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/opto/parse1.cpp
--- a/src/share/vm/opto/parse1.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/opto/parse1.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -1048,7 +1048,7 @@
kit.make_dtrace_method_exit(method());
}
if (_replaced_nodes_for_exceptions) {
- kit.map()->apply_replaced_nodes();
+ kit.map()->apply_replaced_nodes(_new_idx);
}
// Done with exception-path processing.
ex_map = kit.make_exception_state(ex_oop);
@@ -1069,7 +1069,7 @@
_exits.add_exception_state(ex_map);
}
}
- _exits.map()->apply_replaced_nodes();
+ _exits.map()->apply_replaced_nodes(_new_idx);
}
//-----------------------------create_entry_map-------------------------------
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/opto/replacednodes.cpp
--- a/src/share/vm/opto/replacednodes.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/opto/replacednodes.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -91,13 +91,17 @@
}
// Perfom node replacement (used when returning to caller)
-void ReplacedNodes::apply(Node* n) {
+void ReplacedNodes::apply(Node* n, uint idx) {
if (is_empty()) {
return;
}
for (int i = 0; i < _replaced_nodes->length(); i++) {
ReplacedNode replaced = _replaced_nodes->at(i);
- n->replace_edge(replaced.initial(), replaced.improved());
+ // Only apply if improved node was created in a callee to avoid
+ // issues with irreducible loops in the caller
+ if (replaced.improved()->_idx >= idx) {
+ n->replace_edge(replaced.initial(), replaced.improved());
+ }
}
}
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/opto/replacednodes.hpp
--- a/src/share/vm/opto/replacednodes.hpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/opto/replacednodes.hpp Thu Sep 22 02:04:40 2016 -0700
@@ -71,7 +71,7 @@
void record(Node* initial, Node* improved);
void transfer_from(const ReplacedNodes& other, uint idx);
void reset();
- void apply(Node* n);
+ void apply(Node* n, uint idx);
void merge_with(const ReplacedNodes& other);
bool is_empty() const;
void dump(outputStream *st) const;
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/runtime/os.cpp
--- a/src/share/vm/runtime/os.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/runtime/os.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, 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
@@ -78,6 +78,7 @@
uintptr_t os::_serialize_page_mask = 0;
long os::_rand_seed = 1;
int os::_processor_count = 0;
+int os::_initial_active_processor_count = 0;
size_t os::_page_sizes[os::page_sizes_max];
#ifndef PRODUCT
@@ -322,6 +323,7 @@
}
void os::init_before_ergo() {
+ initialize_initial_active_processor_count();
// We need to initialize large page support here because ergonomics takes some
// decisions depending on large page support and the calculated large page size.
large_page_init();
@@ -835,7 +837,11 @@
st->print("CPU:");
st->print("total %d", os::processor_count());
// It's not safe to query number of active processors after crash
- // st->print("(active %d)", os::active_processor_count());
+ // st->print("(active %d)", os::active_processor_count()); but we can
+ // print the initial number of active processors.
+ // We access the raw value here because the assert in the accessor will
+ // fail if the crash occurs before initialization of this value.
+ st->print(" (initial active %d)", _initial_active_processor_count);
st->print(" %s", VM_Version::cpu_features());
st->cr();
pd_print_cpu_info(st);
@@ -1418,6 +1424,11 @@
return result;
}
+void os::initialize_initial_active_processor_count() {
+ assert(_initial_active_processor_count == 0, "Initial active processor count already set.");
+ _initial_active_processor_count = active_processor_count();
+}
+
void os::SuspendedThreadTask::run() {
assert(Threads_lock->owned_by_self() || (_thread == VMThread::vm_thread()), "must have threads lock to call this");
internal_do_task();
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/runtime/os.hpp
--- a/src/share/vm/runtime/os.hpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/runtime/os.hpp Thu Sep 22 02:04:40 2016 -0700
@@ -151,6 +151,7 @@
static size_t page_size_for_region(size_t region_size, size_t min_pages, bool must_be_aligned);
+ static void initialize_initial_active_processor_count();
public:
static void init(void); // Called before command line parsing
static void init_before_ergo(void); // Called after command line parsing
@@ -238,6 +239,13 @@
// Note that on some OSes this can change dynamically.
static int active_processor_count();
+ // At startup the number of active CPUs this process is allowed to run on.
+ // This value does not change dynamically. May be different from active_processor_count().
+ static int initial_active_processor_count() {
+ assert(_initial_active_processor_count > 0, "Initial active processor count not set yet.");
+ return _initial_active_processor_count;
+ }
+
// Bind processes to processors.
// This is a two step procedure:
// first you generate a distribution of processes to processors,
@@ -978,8 +986,9 @@
protected:
- static long _rand_seed; // seed for random number generator
- static int _processor_count; // number of processors
+ static long _rand_seed; // seed for random number generator
+ static int _processor_count; // number of processors
+ static int _initial_active_processor_count; // number of active processors during initialization.
static char* format_boot_path(const char* format_string,
const char* home,
diff -r 652fe741b8f2 -r baf64c88538f src/share/vm/runtime/vm_version.cpp
--- a/src/share/vm/runtime/vm_version.cpp Thu Jan 05 18:55:20 2017 -0500
+++ b/src/share/vm/runtime/vm_version.cpp Thu Sep 22 02:04:40 2016 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2016, 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
@@ -300,7 +300,7 @@
// processor after the first 8. For example, on a 72 cpu machine
// and a chosen fraction of 5/8
// use 8 + (72 - 8) * (5/8) == 48 worker threads.
- unsigned int ncpus = (unsigned int) os::active_processor_count();
+ unsigned int ncpus = (unsigned int) os::initial_active_processor_count();
return (ncpus <= switch_pt) ?
ncpus :
(switch_pt + ((ncpus - switch_pt) * num) / den);
diff -r 652fe741b8f2 -r baf64c88538f test/compiler/c2/TestReplacedNodesOSR.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/compiler/c2/TestReplacedNodesOSR.java Thu Sep 22 02:04:40 2016 -0700
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2017, Red Hat, 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8174164
+ * @summary SafePointNode::_replaced_nodes breaks with irreducible loops
+ * @run main/othervm -XX:-BackgroundCompilation TestReplacedNodesOSR
+ *
+ */
+
+public class TestReplacedNodesOSR {
+
+ static Object dummy;
+
+ static interface I {
+ }
+
+ static class A implements I {
+ }
+
+ static final class MyException extends Exception {
+ }
+
+ static final A obj = new A();
+ static I static_field() { return obj; }
+
+ // When OSR compiled, this method has an irreducible loop
+ static void test(int v, MyException e) {
+ int i = 0;
+ for (;;) {
+ if (i == 1000) {
+ break;
+ }
+ try {
+ if ((i%2) == 0) {
+ int j = 0;
+ for (;;) {
+ j++;
+ if (i+j != v) {
+ if (j == 1000) {
+ break;
+ }
+ } else {
+ A a = (A)static_field();
+ // replaced node recorded here
+ throw e;
+ }
+ }
+ }
+ } catch(MyException ex) {
+ }
+ i++;
+ // replaced node applied on return of the method
+ // replaced node used here
+ dummy = static_field();
+ }
+ }
+
+
+ static public void main(String[] args) {
+ for (int i = 0; i < 1000; i++) {
+ test(1100, new MyException());
+ }
+ }
+}
diff -r 652fe741b8f2 -r baf64c88538f test/runtime/os/AvailableProcessors.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/runtime/os/AvailableProcessors.java Thu Sep 22 02:04:40 2016 -0700
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2016, 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.
+ *
+ * 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.
+ */
+import java.io.File;
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:30 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:30 +0000
Subject: [Bug 3326] [IcedTea8] 8173941: SA does not work if executable is DSO
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3326
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/hotspot?cmd=changeset;node=15922b2f31db
author: ysuenaga
date: Tue Feb 14 20:51:31 2017 -0500
8173941, PR3326: SA does not work if executable is DSO
Reviewed-by: aph, dsamersoff
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:37 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:37 +0000
Subject: [Bug 3334] [IcedTea8] Backport "8174164
SafePointNode::_replaced_nodes breaks with irreducible loops"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3334
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/hotspot?cmd=changeset;node=a9cbaff50d3d
author: roland
date: Wed Feb 15 17:26:37 2017 -0800
8174164, PR3334, RH1417266: SafePointNode::_replaced_nodes breaks with
irreducible loops
Reviewed-by: kvn
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:44 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:44 +0000
Subject: [Bug 3334] [IcedTea8] Backport "8174164
SafePointNode::_replaced_nodes breaks with irreducible loops"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3334
--- Comment #2 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/hotspot?cmd=changeset;node=1b4eb44fbfcd
author: roland
date: Thu Feb 16 15:14:44 2017 -0800
8175097, PR3334, RH1417266: [TESTBUG] 8174164 fix missed the test
Reviewed-by: kvn
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:51 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:51 +0000
Subject: [Bug 3346] [IcedTea8] Backport "6515172:
Runtime.availableProcessors() ignores Linux taskset command"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3346
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/hotspot?cmd=changeset;node=49e72c5c468e
author: tschatzl
date: Thu Dec 15 19:48:32 2016 -0500
8147910, PR3346: Cache initial active_processor_count
Summary: Introduce and initialize active_processor_count variable in VM.
Reviewed-by: dholmes, jprovino
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:42:59 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:42:59 +0000
Subject: [Bug 3346] [IcedTea8] Backport "6515172:
Runtime.availableProcessors() ignores Linux taskset command"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3346
--- Comment #2 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/hotspot?cmd=changeset;node=62212568179b
author: tschatzl
date: Thu Dec 15 20:00:01 2016 -0500
8161993, PR3346: G1 crashes if active_processor_count changes during
startup
Summary: Use the initial active processor count for memory initialization
instead of the current active one.
Reviewed-by: dholmes, mgerdin
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Fri Apr 7 17:43:06 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 07 Apr 2017 17:43:06 +0000
Subject: [Bug 3346] [IcedTea8] Backport "6515172:
Runtime.availableProcessors() ignores Linux taskset command"
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3346
--- Comment #3 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8-forest/hotspot?cmd=changeset;node=baf64c88538f
author: shshahma
date: Thu Sep 22 02:04:40 2016 -0700
6515172, PR3346: Runtime.availableProcessors() ignores Linux taskset
command
Summary: extract processor count from sched_getaffinity mask
Reviewed-by: dholmes, gthornbr
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From cjritola at gmail.com Sun Apr 9 03:57:53 2017
From: cjritola at gmail.com (Chuck Ritola)
Date: Sat, 8 Apr 2017 23:57:53 -0400
Subject: Possible deadlock bug in
org.classpath.icedtea.pulseaudio.PulseAudioDataLine
Message-ID:
Hello.
There is a possible deadlock bug between the PulseAudio Eventloop Thread
and outside threads when invoking PulseAudioDataLine.stop() and possibly
others. The issue appears to be rooted in the locking order being reversed
between close() and EventLoop.run().
close() locks the PulseAudioDataLine ending in 0490 first before attempting
to lock the Object ending in 4380 inside of EventLoop.
However, the EventLoop locks the Object 4380 first before attempting to
lock the PulseAudioDataLine ending in 0490.
This creates opportunity for deadlock which I confirm occurs on occasion. I
wish I could provide deeper detail but I am having trouble finding the
source for this in the ubuntu openjdk-8-source package.
Using ubuntu package openjdk-8-jdk 8u121-b13-0ubuntu1.16.04.2
Below is a truncated thread dump from VisualVM:
Found one Java-level deadlock:
=============================
"PulseAudio Eventloop Thread":
waiting to lock monitor 0x00007fb0c4508538 (object 0x00000000e4640490, a
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine),
which is held by "main"
"main":
waiting to lock monitor 0x00007fb0c45085e8 (object 0x00000000e3be4380, a
java.lang.Object),
which is held by "PulseAudio Eventloop Thread"
Java stack information for the threads listed above:
===================================================
"PulseAudio Eventloop Thread":
at
org.classpath.icedtea.pulseaudio.PulseAudioDataLine$3.update(PulseAudioDataLine.java:215)
- waiting to lock <0x00000000e4640490> (a
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine)
at
org.classpath.icedtea.pulseaudio.Stream.playbackStartedCallback(Stream.java:688)
- locked <0x00000000e4640658> (a java.util.LinkedList)
at org.classpath.icedtea.pulseaudio.EventLoop.native_iterate(Native Method)
at org.classpath.icedtea.pulseaudio.EventLoop.run(EventLoop.java:133)
- locked <0x00000000e3be4380> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)
"main":
at
org.classpath.icedtea.pulseaudio.PulseAudioDataLine.stop(PulseAudioDataLine.java:386)
- waiting to lock <0x00000000e3be4380> (a java.lang.Object)
- locked <0x00000000e4640490> (a
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine)
at
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.stop(PulseAudioSourceDataLine.java:51)
at
[the rest is application-specific]
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at redhat.com Mon Apr 10 10:04:27 2017
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 10 Apr 2017 12:04:27 +0200
Subject: Question about OpenJDK package for Fedora
In-Reply-To:
References:
Message-ID:
On 04/07/2017 06:18 PM, Nikolas Everett wrote:
> I'm sorry to contact you directly. I know that can be a pain but I'm not sure what to do. About a
Thats perfectly ok.
> month ago we started having trouble with the OpenJDK package on Fedora and it looks like
>
> it is your baby. We're periodically seeing NullPointerExceptions in very strange places. Here
> is an example of one of the
> exceptions and here
> is
> the line that through the exception. These happen all over the place, in Lucene, in Joda Time
> ,
> and other spots, all of which don't make a whole lot of sense.
Hm, I'm not much clever from that anyway.
>
> Do you have any hints on how to make a minimal reproduction for this? It only happens in Fedora and
> we think it started with the latest version of the package. The failures come about once a day on
> average but there is a lot of deviation.
>
> I've seen similar issues, but only on machines with broken hardware. We've replaced the hardware and
> still see the issue. And, again, it only happens on fedora and didn't show up until about a month ago.
>
> We don't see similar exceptions on the other distributions but with different line numbers. So it
> feels like something internal but we have no idea what and don't have the knowledge to figure it out.
>
Well, you wrote "month ago" and "latest packages" - that do not left much clue. So first steps on
your side will be:
- pinpoint the exact version wehre it started to fail
- then we will move to search for exact patch which caused it
- move this discussion to more public list. Lucene is one of the best OpenJDK consummers
- As it looks like distribution specific, mor then upstream-sepcific, I would recommend IcedTea
Distro List (cced)
- But you, or any other Lucene representative must sign in.
Thanx!
J.
From jvanek at icedtea.classpath.org Mon Apr 10 11:35:23 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 11:35:23 +0000
Subject: /hg/icedtea-web: 2 new changesets
Message-ID:
changeset b1fd49e9cd8f in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b1fd49e9cd8f
author: Jiri Vanek
date: Mon Apr 10 13:10:17 2017 +0200
On windows, shutdown hook added like we do, via lazy initiated OutputController (which may be swing/awt hidden call (not verified)) causes exception "can't add shutdown hook, shutdown already in progress"
* netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java: (main) enforced headless mode, to prevent itw debug console from showing.
changeset cd4cbbbc6e31 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cd4cbbbc6e31
author: Jiri Vanek
date: Mon Apr 10 13:44:10 2017 +0200
made fully buildable (java) on windows
* Makefile.am: on windows used ";" as cp separator on win, TOP_BUILD_DIR and expanded to win paths. macros TOP_BUILD_DIR and TOP_SRC_DIR used constantly over abs_top_builddir and abs_top_srcdir
* configure.ac: added win/linux recognition based on autotools standard approaches
diffstat:
ChangeLog | 19 +
Makefile.am | 179 +++++----
configure.ac | 16 +
netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java | 8 +-
4 files changed, 136 insertions(+), 86 deletions(-)
diffs (truncated from 613 to 500 lines):
diff -r f63de124adc4 -r cd4cbbbc6e31 ChangeLog
--- a/ChangeLog Thu Apr 06 15:31:12 2017 +0200
+++ b/ChangeLog Mon Apr 10 13:44:10 2017 +0200
@@ -1,3 +1,22 @@
+2017-04-10 Michal Vala
+ Jiri Vanek
+
+ made fully buildable (java) on windows
+ * Makefile.am: on windows used ";" as cp separator
+ on win, TOP_BUILD_DIR and expanded to win paths.
+ macros TOP_BUILD_DIR and TOP_SRC_DIR used constantly over
+ abs_top_builddir and abs_top_srcdir
+ * configure.ac: added win/linux recognition based on
+ autotools standard approaches
+
+2017-04-10 Jiri Vanek
+
+ On windows, shutdown hook added like we do, via lazy initiated OutputController
+ (which may be swing/awt hidden call (not verified)) causes exception
+ "can't add shutdown hook, shutdown already in progress"
+ * netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java: (main) enforced
+ headless mode, to prevent itw debug console from showing.
+
2017-04-06 Jiri Vanek
Reproduce and fixed pr3350.
diff -r f63de124adc4 -r cd4cbbbc6e31 Makefile.am
--- a/Makefile.am Thu Apr 06 15:31:12 2017 +0200
+++ b/Makefile.am Mon Apr 10 13:44:10 2017 +0200
@@ -1,29 +1,40 @@
+if WINDOWS
+ export CLASSPATH_SEPARATOR = ;
+else
+ export CLASSPATH_SEPARATOR = :
+endif
+
# Functions to compose path/classpath
EMPTY :=
SPACE := $(EMPTY) $(EMPTY)
define joinsegments
-$(subst $(SPACE),:,$(strip $1))
+$(subst $(SPACE),$(CLASSPATH_SEPARATOR),$(strip $1))
endef
define composeclasspath
$(if $(call joinsegments,$1),-classpath $(call joinsegments,$1),)
endef
# Source directories
+if WINDOWS
+ export TOP_BUILD_DIR := $(shell cygpath -p -m "$(abs_top_builddir)")
+ export TOP_SRC_DIR := $(shell cygpath -p -m "$(abs_top_srcdir)")
+else
+ export TOP_BUILD_DIR = $(abs_top_builddir)
+ export TOP_SRC_DIR = $(abs_top_srcdir)
+endif
-export TOP_BUILD_DIR = $(abs_top_builddir)
-
-export NETX_DIR = $(abs_top_builddir)/netx.build
+export NETX_DIR = $(TOP_BUILD_DIR)/netx.build
export DOCS_DIR=$(TOP_BUILD_DIR)/icedtea-web-docs/$(FULL_VERSION)
-export NETX_SRCDIR = $(abs_top_srcdir)/netx
+export NETX_SRCDIR = $(TOP_SRC_DIR)/netx
export NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources
export ICONS_DEST_DIR=$(DESTDIR)$(datadir)/pixmaps
export BASH_CMPL_DEST_DIR=$(DESTDIR)$(sysconfdir)/bash_completion.d
export REPORT_STYLES_DIRNAME=report-styles
-export TESTS_SRCDIR=$(abs_top_srcdir)/tests
-export TESTS_DIR=$(abs_top_builddir)/tests.build
+export TESTS_SRCDIR=$(TOP_SRC_DIR)/tests
+export TESTS_DIR=$(TOP_BUILD_DIR)/tests.build
export NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit
export NETX_TEST_DIR=$(TESTS_DIR)/netx
@@ -54,10 +65,10 @@
export PUBLIC_KEYSTORE_STUB=icedtea-web/security/trusted.certs
export PUBLIC_KEYSTORE_PASS=changeit
-export JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar
-export UNIT_CLASS_NAMES = $(abs_top_builddir)/unit_class_names
-export REPRODUCERS_CLASS_NAMES = $(abs_top_builddir)/reproducers_class_names
-export REPRODUCERS_CLASS_WHITELIST = $(abs_top_srcdir)/netx-dist-tests-whitelist
+export JUNIT_RUNNER_JAR=$(TOP_BUILD_DIR)/junit-runner.jar
+export UNIT_CLASS_NAMES = $(TOP_BUILD_DIR)/unit_class_names
+export REPRODUCERS_CLASS_NAMES = $(TOP_BUILD_DIR)/reproducers_class_names
+export REPRODUCERS_CLASS_WHITELIST = $(TOP_SRC_DIR)/netx-dist-tests-whitelist
export COVERAGE_JAVA_ARGS=-Xmx2G
export COVERAGE_MODIFIED_FILES=tests-output.xml ServerAccess-logs.xml stdout.log stderr.log all.log
export EMMA_BACKUP_SUFFIX=_noEmma
@@ -154,7 +165,7 @@
# Sources list
-export PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java
+export PLUGIN_TEST_SRCS = $(TOP_SRC_DIR)/plugin/tests/LiveConnect/*.java
export NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
net.sourceforge.jnlp.about \
@@ -167,8 +178,8 @@
if ENABLE_PLUGINJAR
export ICEDTEAPLUGIN_TARGET = stamps/liveconnect-dist.stamp
-export PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp
-export PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp
+export PLUGIN_DIR=$(TOP_BUILD_DIR)/plugin/icedteanp
+export PLUGIN_SRCDIR=$(TOP_SRC_DIR)/plugin/icedteanp
export JSOBJECT_DIRS = netscape
export SUN_APPLET_DIRS = sun/applet
export PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
@@ -292,13 +303,13 @@
${INSTALL_PROGRAM} $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) $(DESTDIR)$(libdir)
endif
if ENABLE_PLUGINJAR
- ${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes-applet.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
- ${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes-jsobject.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar
+ ${INSTALL_DATA} $(TOP_BUILD_DIR)/liveconnect/lib/classes-applet.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
+ ${INSTALL_DATA} $(TOP_BUILD_DIR)/liveconnect/lib/classes-jsobject.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar
endif
${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png
- ${INSTALL_DATA} $(abs_top_srcdir)/javaws.png $(ICONS_DEST_DIR)/
- ${INSTALL_DATA} $(abs_top_builddir)/icedteaweb-completion $(BASH_CMPL_DEST_DIR)/icedteaweb-completion
+ ${INSTALL_DATA} $(TOP_SRC_DIR)/javaws.png $(ICONS_DEST_DIR)/
+ ${INSTALL_DATA} $(TOP_BUILD_DIR)/icedteaweb-completion $(BASH_CMPL_DEST_DIR)/icedteaweb-completion
${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir)
${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir)
${INSTALL_PROGRAM} launcher.build/$(policyeditor) $(DESTDIR)$(bindir)
@@ -309,13 +320,13 @@
cp -r "$(DOCS_DIR)/man/"* $(DESTDIR)$(mandir)/
if ENABLE_DOCS
${mkinstalldirs} $(DESTDIR)$(htmldir)
- (cd ${abs_top_builddir}/docs/netx; \
+ (cd ${TOP_BUILD_DIR}/docs/netx; \
for files in $$(find . -type f); \
do \
${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/netx/$${files}; \
done)
if ENABLE_PLUGINJAR
- (cd ${abs_top_builddir}/docs/plugin; \
+ (cd ${TOP_BUILD_DIR}/docs/plugin; \
for files in $$(find . -type f); \
do \
${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/plugin/$${files}; \
@@ -467,10 +478,10 @@
clean-IcedTeaPlugin:
rm -f $(PLUGIN_DIR)/*.o
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 ; \
- rmdir $(abs_top_builddir)/plugin ; \
+ if [ $(TOP_SRC_DIR) != $(TOP_BUILD_DIR) ]; then \
+ if [ -e $(TOP_BUILD_DIR)/plugin/icedteanp ] ; then \
+ rmdir $(TOP_BUILD_DIR)/plugin/icedteanp ; \
+ rmdir $(TOP_BUILD_DIR)/plugin ; \
fi ; \
fi
endif
@@ -495,9 +506,9 @@
stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp
if test "x${LIVECONNECT_DIR}" != x; then \
- mkdir -p $(abs_top_builddir)/liveconnect && \
+ mkdir -p $(TOP_BUILD_DIR)/liveconnect && \
$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
- -d $(abs_top_builddir)/liveconnect \
+ -d $(TOP_BUILD_DIR)/liveconnect \
$(call composeclasspath,$(NETX_DIR) $(TAGSOUP_JAR) $(RHINO_JAR)) \
-sourcepath $(LIVECONNECT_SRCS) \
@liveconnect-source-files.txt ; \
@@ -509,7 +520,7 @@
# the all together jar is kept for usage in tests. Feel free to remove and refactor
stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp
if test "x${LIVECONNECT_DIR}" != x; then \
- (cd $(abs_top_builddir)/liveconnect ; \
+ (cd $(TOP_BUILD_DIR)/liveconnect ; \
mkdir -p lib ; \
$(SYSTEM_JDK_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \
$(SYSTEM_JDK_DIR)/bin/jar cf lib/classes-applet.jar $(SUN_APPLET_DIRS) ; \
@@ -517,13 +528,13 @@
cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \
find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
cd src ; \
- $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \
+ $(ZIP) -qr $(TOP_BUILD_DIR)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \
fi
mkdir -p stamps
touch $@
clean-liveconnect:
- rm -rf $(abs_top_builddir)/liveconnect
+ rm -rf $(TOP_BUILD_DIR)/liveconnect
rm -f stamps/liveconnect-dist.stamp
rm -f liveconnect-source-files.txt
rm -f stamps/liveconnect.stamp
@@ -544,8 +555,8 @@
# the 'sed' cycles is changing some custom version like 1.6.2 fedora23.4 to simple 1.6
# if changed, keep in mind that also 1.7 should bubble to 1.7
# also 1.7pre or 1.7preHASH should end up like 1.7
-$(abs_top_builddir)/metadata: $(top_srcdir)/metadata.in
- mkdir -p $(abs_top_builddir)/metadata-work ; \
+$(TOP_BUILD_DIR)/metadata: $(top_srcdir)/metadata.in
+ mkdir -p $(TOP_BUILD_DIR)/metadata-work ; \
METAFILES=`ls $(top_srcdir)/metadata.in` ; \
SEDDED_VERSION=`echo "$(FULL_VERSION)" | sed 's/[^0-9]\+/ /g'` ; \
x=0; for i in $$SEDDED_VERSION ; do \
@@ -555,34 +566,34 @@
done; \
XVERSION=$$V1.$$V2; \
for F in $$METAFILES ; do \
- cat $(top_srcdir)/metadata.in/$$F | sed "s;%{name};$(PACKAGE_NAME);g" | sed "s;%{version};$$XVERSION;g" > $(abs_top_builddir)/metadata-work/$$F ; \
+ cat $(top_srcdir)/metadata.in/$$F | sed "s;%{name};$(PACKAGE_NAME);g" | sed "s;%{version};$$XVERSION;g" > $(TOP_BUILD_DIR)/metadata-work/$$F ; \
done ; \
- mv $(abs_top_builddir)/metadata-work $(abs_top_builddir)/metadata ;
+ mv $(TOP_BUILD_DIR)/metadata-work $(TOP_BUILD_DIR)/metadata ;
-check-metadata: $(abs_top_builddir)/metadata
- xmllint --noout $(abs_top_builddir)/metadata/* ; \
+check-metadata: $(TOP_BUILD_DIR)/metadata
+ xmllint --noout $(TOP_BUILD_DIR)/metadata/* ; \
if [ $$? -eq 0 ] ; then \
echo "Passed: well formed" ; \
else \
echo "FAILED: well formed" ; \
fi ; \
- xmllint --noout --schema http://maven.apache.org/xsd/maven-4.0.0.xsd $(abs_top_builddir)/metadata/*.pom ; \
+ xmllint --noout --schema http://maven.apache.org/xsd/maven-4.0.0.xsd $(TOP_BUILD_DIR)/metadata/*.pom ; \
if [ $$? -eq 0 ] ; then \
echo "Passed: valid poms" ; \
else \
echo "FAILED: valid poms" ; \
fi ; \
- appstream-util validate $(abs_top_builddir)/metadata/*.appdata.xml $(abs_top_builddir)/metadata/*.metainfo.xml ; \
+ appstream-util validate $(TOP_BUILD_DIR)/metadata/*.appdata.xml $(TOP_BUILD_DIR)/metadata/*.metainfo.xml ; \
if [ $$? -eq 0 ] ; then \
echo "Passed: valid software descriptors" ; \
else \
echo "FAILED: valid software descriptors" ; \
fi ;
# very strange results:
-# appstreamcli validate $(abs_top_builddir)/metadata/*.appdata.xml $(abs_top_builddir)/metadata/*.metainfo.xml
+# appstreamcli validate $(TOP_BUILD_DIR)/metadata/*.appdata.xml $(TOP_BUILD_DIR)/metadata/*.metainfo.xml
-$(abs_top_builddir)/icedteaweb-completion: $(abs_top_srcdir)/icedteaweb-completion.in stamps/netx.stamp
+$(TOP_BUILD_DIR)/icedteaweb-completion: $(TOP_SRC_DIR)/icedteaweb-completion.in stamps/netx.stamp
OPTIONS_COMMAND="$(SYSTEM_JRE_DIR)/bin/java -cp $(NETX_DIR) net.sourceforge.jnlp.OptionsDefinitions" ; \
JAVAWS=`$$OPTIONS_COMMAND javaws` ; \
POLICYEDITOR=`$$OPTIONS_COMMAND policyeditor` ; \
@@ -590,9 +601,9 @@
echo $$JAVAWS ; \
echo $$POLICYEDITOR ; \
echo $$ITWEBSETTINGS ; \
- cat $(abs_top_srcdir)/icedteaweb-completion.in | sed "s/@JAVAWS@/$${JAVAWS}/" \
+ cat $(TOP_SRC_DIR)/icedteaweb-completion.in | sed "s/@JAVAWS@/$${JAVAWS}/" \
| sed "s/@POLICYEDITOR@/$${POLICYEDITOR}/" | \
- sed "s/@ITWEBSETTINGS@/$${ITWEBSETTINGS}/" > $(abs_top_builddir)/icedteaweb-completion ;
+ sed "s/@ITWEBSETTINGS@/$${ITWEBSETTINGS}/" > $(TOP_BUILD_DIR)/icedteaweb-completion ;
stamps/generate-docs.stamp: stamps/netx.stamp
mkdir -p "$(DOCS_DIR)" ; \
@@ -661,11 +672,11 @@
mkdir -p stamps
touch $@
-stamps/netx-dist.stamp: stamps/netx.stamp $(abs_top_builddir)/netx.manifest stamps/generate-docs.stamp $(abs_top_builddir)/icedteaweb-completion $(abs_top_builddir)/metadata
+stamps/netx-dist.stamp: stamps/netx.stamp $(TOP_BUILD_DIR)/netx.manifest stamps/generate-docs.stamp $(TOP_BUILD_DIR)/icedteaweb-completion $(TOP_BUILD_DIR)/metadata
(cd $(NETX_DIR) ; \
mkdir -p lib ; \
$(SYSTEM_JDK_DIR)/bin/jar cfm lib/classes.jar \
- $(abs_top_builddir)/netx.manifest javax/jnlp net sun; \
+ $(TOP_BUILD_DIR)/netx.manifest javax/jnlp net sun; \
cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \
find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
cd src ; \
@@ -731,15 +742,15 @@
touch stamps/docs.stamp
clean-docs: clean-netx-docs clean-plugin-docs
- if [ -e ${abs_top_builddir}/docs ] ; then \
- rmdir ${abs_top_builddir}/docs ; \
+ if [ -e ${TOP_BUILD_DIR}/docs ] ; then \
+ rmdir ${TOP_BUILD_DIR}/docs ; \
fi
rm -f stamps/docs.stamp
stamps/netx-docs.stamp:
if ENABLE_DOCS
$(SYSTEM_JDK_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
- -d ${abs_top_builddir}/docs/netx -sourcepath $(NETX_SRCDIR) \
+ -d ${TOP_BUILD_DIR}/docs/netx -sourcepath $(NETX_SRCDIR) \
-doctitle 'IcedTea-Web: NetX API Specification' \
-windowtitle 'IcedTea-Web: NetX ' \
-header 'IcedTea-Web
NetX' \
@@ -750,14 +761,14 @@
touch stamps/netx-docs.stamp
clean-netx-docs:
- rm -rf ${abs_top_builddir}/docs/netx
+ rm -rf ${TOP_BUILD_DIR}/docs/netx
rm -f stamps/netx-docs.stamp
stamps/plugin-docs.stamp:
if ENABLE_DOCS
if ENABLE_PLUGINJAR
$(SYSTEM_JDK_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
- -d ${abs_top_builddir}/docs/plugin -sourcepath $(NETX_SRCDIR):$(LIVECONNECT_SRCS) \
+ -d ${TOP_BUILD_DIR}/docs/plugin -sourcepath "$(NETX_SRCDIR)$(CLASSPATH_SEPARATOR)$(LIVECONNECT_SRCS)" \
-doctitle 'IcedTea-Web: Plugin API Specification' \
-windowtitle 'IcedTea-Web: Plugin ' \
-header 'IcedTea-Web
Plugin' \
@@ -769,7 +780,7 @@
touch stamps/plugin-docs.stamp
clean-plugin-docs:
- rm -rf ${abs_top_builddir}/docs/plugin
+ rm -rf ${TOP_BUILD_DIR}/docs/plugin
rm -f stamps/plugin-docs.stamp
clean-generated-docs:
@@ -777,10 +788,10 @@
rm -f stamps/generate-docs.stamp
clean-icedteaweb-completion:
- rm -f $(abs_top_builddir)/icedteaweb-completion
+ rm -f $(TOP_BUILD_DIR)/icedteaweb-completion
clean-metadata:
- rm -rf $(abs_top_builddir)/metadata
+ rm -rf $(TOP_BUILD_DIR)/metadata
# check
# ==========================
@@ -794,8 +805,8 @@
fi
stamps/check-pac-functions.stamp:
- ./jrunscript $(abs_top_srcdir)/tests/netx/pac/pac-funcs-test.js \
- $$(readlink -f $(abs_top_srcdir)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js) ; \
+ ./jrunscript $(TOP_SRC_DIR)/tests/netx/pac/pac-funcs-test.js \
+ $$(readlink -f $(TOP_SRC_DIR)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js) ; \
mkdir -p stamps && \
touch $@
@@ -848,8 +859,8 @@
stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs stamps/liveconnect-dist.stamp stamps/netx-dist.stamp stamps/plugin.stamp
types=($(ALL_NONCUSTOM_REPRODUCERS)); \
for which in "$${types[@]}" ; do \
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ simpleReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-$$which.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${simpleReproducers[@]}" ; do \
echo "processing: $$dir" ; \
@@ -859,7 +870,7 @@
cd "$(REPRODUCERS_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/.\/*//"` ; \
- $(SYSTEM_JDK_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect -d "$(REPRODUCERS_BUILD_DIR)/$$dir/" $$srcFiles ; \
+ $(SYSTEM_JDK_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar:$(TOP_BUILD_DIR)/liveconnect -d "$(REPRODUCERS_BUILD_DIR)/$$dir/" $$srcFiles ; \
if [ -n "$$notSrcFiles" ] ; then \
cp -R --parents $$notSrcFiles "$(REPRODUCERS_BUILD_DIR)/$$dir/" ; \
fi ; \
@@ -888,13 +899,13 @@
touch $@
stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp
- keystore=$(abs_top_builddir)/$(PRIVATE_KEYSTORE_NAME); \
+ keystore=$(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME); \
types=($(SIGNED_REPRODUCERS)) ; \
for which in "$${types[@]}" ; do \
tcaw=$(TEST_CERT_ALIAS)_$$which ; \
$(SYSTEM_JRE_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 `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ signedReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-$$which.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${signedReproducers[@]}" ; do \
$(SYSTEM_JDK_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$tcaw ; \
@@ -907,8 +918,8 @@
pushd $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
types=($(ALL_NONCUSTOM_REPRODUCERS)); \
for which in "$${types[@]}" ; do \
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ simpleReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-$$which.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${simpleReproducers[@]}" ; do \
if test "$${dir:0:1}" = "." ; then \
@@ -995,7 +1006,7 @@
ln -s $(TEST_EXTENSIONS_DIR) $(TEST_EXTENSIONS_COMPATIBILITY_SYMLINK);
$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
-d $(TEST_EXTENSIONS_DIR) \
- $(call composeclasspath, $(JUNIT_RUNTIME) $(NETX_DIR)/lib/classes.jar $(abs_top_builddir)/liveconnect/lib/classes.jar) \
+ $(call composeclasspath, $(JUNIT_RUNTIME) $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar) \
@test-extensions-source-files.txt && \
mkdir -p stamps && \
touch $@
@@ -1007,7 +1018,7 @@
stamps/test-extensions-tests-compile.stamp: stamps/junit-jnlp-dist-dirs test-extensions-tests-source-files.txt stamps/test-extensions-compile.stamp
mkdir -p $(TEST_EXTENSIONS_TESTS_DIR);
- for x in `cat $(abs_top_builddir)/test-extensions-tests-source-files.txt` ; do \
+ for x in `cat $(TOP_BUILD_DIR)/test-extensions-tests-source-files.txt` ; do \
$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
-d $(TEST_EXTENSIONS_TESTS_DIR) \
$(call composeclasspath, $(JUNIT_RUNTIME) $(NETX_DIR)/lib/classes.jar $(TEST_EXTENSIONS_DIR)) \
@@ -1020,8 +1031,8 @@
test-extensions-source-files.txt stamps/test-extensions-compile.stamp stamps/test-extensions-tests-compile.stamp
types=($(ALL_REPRODUCERS)); \
for which in "$${types[@]}" ; do \
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ simpleReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-$$which.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${simpleReproducers[@]}" ; do \
TESTCASEPATH="$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases" ; \
@@ -1049,8 +1060,8 @@
stamps/copy-reproducers-resources.stamp: stamps/junit-jnlp-dist-dirs
types=($(ALL_REPRODUCERS)); \
for which in "$${types[@]}" ; do \
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ simpleReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-$$which.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${simpleReproducers[@]}" ; do \
cp -R "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/ ; \
@@ -1103,8 +1114,8 @@
stamps/process-custom-reproducers.stamp: stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \
stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES)
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- customReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ customReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-custom.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${customReproducers[@]}" ; do \
pushd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/$$dir/srcs; \
@@ -1115,8 +1126,8 @@
touch $@
clean-custom-reproducers: junit-jnlp-dist-custom.txt
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- customReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
+ customReproducers=(`cat $(TOP_BUILD_DIR)/junit-jnlp-dist-custom.txt `); \
IFS="$$IFS_BACKUP" ; \
for dir in "$${customReproducers[@]}" ; do \
pushd $(REPRODUCERS_TESTS_SRCDIR)/custom/$$dir/srcs; \
@@ -1239,7 +1250,7 @@
mkdir -p $(NETX_UNIT_TEST_DIR) && \
$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
-d $(NETX_UNIT_TEST_DIR) \
- $(call composeclasspath, $(JUNIT_RUNTIME) $(abs_top_builddir)/liveconnect/lib/classes.jar $(NETX_DIR)/lib/classes.jar $(TEST_EXTENSIONS_DIR) $(TAGSOUP_JAR)) \
+ $(call composeclasspath, $(JUNIT_RUNTIME) $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(NETX_DIR)/lib/classes.jar $(TEST_EXTENSIONS_DIR) $(TAGSOUP_JAR)) \
@netx-unit-tests-source-files.txt && \
mkdir -p stamps && \
touch $@
@@ -1269,7 +1280,7 @@
done ; \
cd $(NETX_UNIT_TEST_DIR) ; \
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
- CLASSPATH=$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(abs_top_builddir)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) . $(TEST_EXTENSIONS_SRCDIR) $(TAGSOUP_JAR)) ; \
+ CLASSPATH=$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) . $(TEST_EXTENSIONS_SRCDIR) $(TAGSOUP_JAR)) ; \
$(SYSTEM_JRE_DIR)/bin/java -Xbootclasspath/a:$$CLASSPATH CommandLine $$class_names
if WITH_XSLTPROC
-$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html
@@ -1309,7 +1320,7 @@
mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \
done ;\
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
- CLASSPATH=$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(abs_top_builddir)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) $(JACOCO_CLASSPATH) . $(TEST_EXTENSIONS_SRCDIR) $(TAGSOUP_JAR)) ; \
+ CLASSPATH=$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) $(JACOCO_CLASSPATH) . $(TEST_EXTENSIONS_SRCDIR) $(TAGSOUP_JAR)) ; \
$(SYSTEM_JRE_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath/a:$$CLASSPATH CommandLine $$class_names ; \
for file in $(COVERAGE_MODIFIED_FILES) ; do \
mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_SUFFIX)" ; \
@@ -1318,7 +1329,7 @@
$(JACOCO_OPERATOR_EXEC) \
report --die-soon --html-output coverage --xml-output coverage.xml --input-file jacoco.exec \
--input-srcs $(NETX_SRCDIR) $(PLUGIN_SRCDIR)/java $(NETX_UNIT_TEST_SRCDIR) $(JUNIT_RUNNER_SRCDIR) $(TEST_EXTENSIONS_SRCDIR) \
- --input-builds $(NETX_DIR)/lib/classes.jar $(abs_top_builddir)/liveconnect/lib/classes.jar $(NETX_UNIT_TEST_DIR) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) \
+ --input-builds $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(NETX_UNIT_TEST_DIR) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) \
--title "IcedTea-Web unit-tests codecoverage" ;
else
echo "Sorry, coverage report cant be run without jacoco installed. Try installing jacoco or specify with-jacoco value" ;
@@ -1387,8 +1398,8 @@
k=0 ; \
types=($(ALL_REPRODUCERS)); \
for which in "$${types[@]}" ; do \
- . $(abs_top_srcdir)/NEW_LINE_IFS ; \
- simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
+ . $(TOP_SRC_DIR)/NEW_LINE_IFS ; \
From jvanek at icedtea.classpath.org Mon Apr 10 12:35:47 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 12:35:47 +0000
Subject: /hg/icedtea-web: better handling of WEmbeddedFrame/XEmbeddedFrame
Message-ID:
changeset 233e93731f1e in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=233e93731f1e
author: Jiri Vanek
date: Mon Apr 10 14:44:43 2017 +0200
better handling of WEmbeddedFrame/XEmbeddedFrame
* configure.ac: IT_CHECK_FOR_CLASS removed NonFatal support check for WEmbeddedFrame/XEmbeddedFrame done by windows/linux recognition removed checks on SUN_AWT_X11_XEMBEDDEDFRAME and SUN_AWT_WEMBEDDEDFRAME
* Makefile.am: sed in PluginAppletViewer.java conditioned by WINDOWS variable isntead of SUN_AWT_WEMBEDDEDFRAME one
diffstat:
ChangeLog | 9 +++++++++
Makefile.am | 13 ++++++++-----
acinclude.m4 | 8 ++------
configure.ac | 22 ++++++----------------
4 files changed, 25 insertions(+), 27 deletions(-)
diffs (103 lines):
diff -r cd4cbbbc6e31 -r 233e93731f1e ChangeLog
--- a/ChangeLog Mon Apr 10 13:44:10 2017 +0200
+++ b/ChangeLog Mon Apr 10 14:44:43 2017 +0200
@@ -1,3 +1,12 @@
+2017-04-10 Jiri Vanek
+
+ better handling of WEmbeddedFrame/XEmbeddedFrame
+ * configure.ac: IT_CHECK_FOR_CLASS removed NonFatal support
+ check for WEmbeddedFrame/XEmbeddedFrame done by windows/linux recognition
+ removed checks on SUN_AWT_X11_XEMBEDDEDFRAME and SUN_AWT_WEMBEDDEDFRAME
+ * Makefile.am: sed in PluginAppletViewer.java conditioned
+ by WINDOWS variable isntead of SUN_AWT_WEMBEDDEDFRAME one
+
2017-04-10 Michal Vala
Jiri Vanek
diff -r cd4cbbbc6e31 -r 233e93731f1e Makefile.am
--- a/Makefile.am Mon Apr 10 13:44:10 2017 +0200
+++ b/Makefile.am Mon Apr 10 14:44:43 2017 +0200
@@ -494,14 +494,17 @@
rm -f stamps/plugin.stamp
liveconnect-source-files.txt:
+if WINDOWS
+ echo "Using WEmbeddedFrame" ; \
+ sed "s;sun.awt.X11.XEmbeddedFrame;sun.awt.windows.WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
+ sed "s;XEmbeddedFrame;WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
+ sed "s;super(handle, true);super(handle);" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ;
+else
+ echo "Using XEmbeddedFrame" ;
+endif
if test "x${LIVECONNECT_DIR}" != x; then \
find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \
fi ; \
- if test x$(SUN_AWT_WEMBEDDEDFRAME) = xyes ; then \
- sed "s;sun.awt.X11.XEmbeddedFrame;sun.awt.windows.WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
- sed "s;XEmbeddedFrame;WEmbeddedFrame;" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
- sed "s;super(handle, true);super(handle);" -i $(LIVECONNECT_SRCS)/$(SUN_APPLET_DIRS)/PluginAppletViewer.java ; \
- fi ; \
touch $@
stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp
diff -r cd4cbbbc6e31 -r 233e93731f1e acinclude.m4
--- a/acinclude.m4 Mon Apr 10 13:44:10 2017 +0200
+++ b/acinclude.m4 Mon Apr 10 14:44:43 2017 +0200
@@ -476,7 +476,7 @@
AC_DEFUN([IT_CHECK_FOR_CLASS],[
AC_REQUIRE([IT_FIND_JAVAC])
AC_REQUIRE([IT_FIND_JAVA])
-AC_CACHE_CHECK([if $2 is available from $3 (module "$4") as $5], it_cv_$1, [
+AC_CACHE_CHECK([if $2 is available from $3 (module "$4")], it_cv_$1, [
# first is the variableto save in, second param is name of class to find,
# third is name of package to make check in.
# mostly some.pkg is ok, but some tests must bedone in sun.applet or other special directory
@@ -522,11 +522,7 @@
# should be rmdir but has to be rm -rf due to sun.applet usage
rm -rf tmp.$$
if test x"${it_cv_$1}" = "xno"; then
- if test x$5 = xNonFatal; then
- AC_MSG_WARN([$2 not found.])
- else
- AC_MSG_ERROR([$2 not found.])
- fi
+ AC_MSG_ERROR([$2 not found.])
fi
AC_SUBST([$1], [${it_cv_$1}])
AC_PROVIDE([$0])dnl
diff -r cd4cbbbc6e31 -r 233e93731f1e configure.ac
--- a/configure.ac Mon Apr 10 13:44:10 2017 +0200
+++ b/configure.ac Mon Apr 10 14:44:43 2017 +0200
@@ -113,26 +113,16 @@
IT_CHECK_FOR_CLASS(COM_SUN_NET_SSL_INTERNAL_SSL_X509EXTENDEDTRUSTMANAGER, [com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE, [sun.net.www.protocol.jar.URLJarFile], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack], [some.pkg], [$JAVA_BASE])
-IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP], [NonFatal])
-IT_CHECK_FOR_CLASS(SUN_AWT_WEMBEDDEDFRAME, [sun.awt.windows.WEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP], [NonFatal])
+if test "x$build_linux" = xyes ; then
+ IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP])
+fi
+if test "x$build_windows" = xyes ; then
+ IT_CHECK_FOR_CLASS(SUN_AWT_WEMBEDDEDFRAME, [sun.awt.windows.WEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP])
+fi
IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil], [some.pkg], [$JAVA_NAMING])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_HTTP_HANDLER, [sun.net.www.protocol.http.Handler], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
-# you can see checks for embedded frame are NonFatal. We wont exactly one of them
-if test x$SUN_AWT_X11_XEMBEDDEDFRAME = xyes -a x$SUN_AWT_WEMBEDDEDFRAME = xyes ; then
- AC_MSG_ERROR([Your jdk have both X11 and Windows EmbeddedFrame])
-fi
-if test x$SUN_AWT_X11_XEMBEDDEDFRAME = xno -a x$SUN_AWT_WEMBEDDEDFRAME = xno ; then
- AC_MSG_ERROR([Your jdk have non of X11 or Windows EmbeddedFrame])
-fi
-if test x$SUN_AWT_X11_XEMBEDDEDFRAME = xyes ; then
- AC_MSG_RESULT([using X11 EmbeddedFrame])
-fi
-if test x$SUN_AWT_WEMBEDDEDFRAME = xyes ; then
- AC_MSG_RESULT([using Windows EmbeddedFrame])
-fi
-
IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
IT_CHECK_GLIB_VERSION
IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR
From bugzilla-daemon at icedtea.classpath.org Mon Apr 10 12:57:38 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 12:57:38 +0000
Subject: [Bug 3351] closing jarfile on member of classpath is causing this
member to be unusable for all classloaders
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Java applet with "." |closing jarfile on member
|codebase launched via jnlp |of classpath is causing
|web-start cannot load. |this member to be unusable
|Fails because NON-MAIN |for all classloaders
|classes do not load |
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Mon Apr 10 16:46:24 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 16:46:24 +0000
Subject: /hg/icedtea-web: Reproduced issue PR3351
Message-ID:
changeset f34f9ca3c3ef in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f34f9ca3c3ef
author: Jiri Vanek
date: Mon Apr 10 18:55:17 2017 +0200
Reproduced issue PR3351
* tests/reproducers/signed/Kemtrakpro/resources/Kemtrak_javaws.jnlp: jnlp file to test also javaws (next to applet) behavior
* tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: added code to reproduce issue
* tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: added testcases for applet to close jar and try to load class again. added same testcases for javaws. Added testcase for plain java run to prove underlying jdk is not guilty
* tests/reproducers/signed/jcalendar/srcs/jcalendar.java: small modification to add distinguish call inside.
diffstat:
ChangeLog | 14 +
tests/reproducers/signed/Kemtrakpro/resources/Kemtrak_javaws.jnlp | 47 ++++
tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java | 60 ++++-
tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java | 115 +++++++++-
tests/reproducers/signed/jcalendar/srcs/jcalendar.java | 26 +-
5 files changed, 240 insertions(+), 22 deletions(-)
diffs (376 lines):
diff -r 233e93731f1e -r f34f9ca3c3ef ChangeLog
--- a/ChangeLog Mon Apr 10 14:44:43 2017 +0200
+++ b/ChangeLog Mon Apr 10 18:55:17 2017 +0200
@@ -1,3 +1,17 @@
+2017-04-10 Jiri Vanek
+
+ Reproduced issue PR3351
+ * tests/reproducers/signed/Kemtrakpro/resources/Kemtrak_javaws.jnlp:
+ jnlp file to test also javaws (next to applet) behavior
+ * tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: added code to
+ reproduce issue
+ * tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java:
+ added testcases for applet to close jar and try to load class again.
+ added same testcases for javaws. Added testcase for plain java run to
+ prove underlying jdk is not guilty
+ * tests/reproducers/signed/jcalendar/srcs/jcalendar.java: small modification
+ to add distinguish call inside.
+
2017-04-10 Jiri Vanek
better handling of WEmbeddedFrame/XEmbeddedFrame
diff -r 233e93731f1e -r f34f9ca3c3ef tests/reproducers/signed/Kemtrakpro/resources/Kemtrak_javaws.jnlp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/Kemtrakpro/resources/Kemtrak_javaws.jnlp Mon Apr 10 18:55:17 2017 +0200
@@ -0,0 +1,47 @@
+
+
+
+
+ Kemtrak 007
+ Kemtrak AB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 233e93731f1e -r f34f9ca3c3ef tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java
--- a/tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java Mon Apr 10 14:44:43 2017 +0200
+++ b/tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java Mon Apr 10 18:55:17 2017 +0200
@@ -36,7 +36,12 @@
*/
import java.applet.Applet;
+import java.io.File;
+import java.io.IOException;
import java.lang.reflect.*;
+import java.net.JarURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
public class Kemtrak extends Applet {
@@ -56,28 +61,65 @@
}
private Killer killer;
- public static void main(String[] args) {
+ public static void main(String[] args) throws IOException {
System.out.println("Kemtrak2");
- jcalendar();
+ if (args.length == 2 && args[0].equals("closeJar")) {
+ String cbase = args[1];
+ System.out.println("Closing Jar!");
+ URL localURL = new java.net.URL("jar", "", cbase + "jcalendar.jar!/");
+ JarURLConnection localObject3 = (java.net.JarURLConnection) localURL.openConnection();
+ java.util.jar.JarFile localJarFile = ((java.net.JarURLConnection) localObject3).getJarFile();
+ String str9 = localJarFile.getName();
+ int i3 = localJarFile.size();
+ localJarFile.close();
+ System.out.println("jcalendar " + localURL + " " + str9 + ", entrie: " + i3);
+ //if one call inisde jcalendar.jar (jcalendar1() and/or jcalendar2) *BEFORE* closing, issue is NOT hit
+ jcalendar2();
+ } else {
+ jcalendar1();
+ }
+ System.out.println("kemtrak finished");
}
@Override
public void init() {
- System.out.println("Kemtrak1");
- Kemtrak.main(null);
- killer = new Killer();
- killer.start();
+ try {
+ System.out.println("Kemtrak1");
+ String cj = this.getParameter("closeJar");
+ if ("closeJar".equals(cj)) {
+ Kemtrak.main(new String[]{"closeJar", getCodeBase().toExternalForm()});
+ } else {
+ Kemtrak.main(new String[0]);
+ }
+ } catch (IOException u) {
+ throw new RuntimeException(u);
+ } finally {
+ killer = new Killer();
+ killer.start();
+ }
}
+
+
+ //we use reflection only to avoid jcalendar.jar on classpath
- public static void jcalendar() {
+ public static void jcalendar1() {
try {
Class> signedAppletClass = Class.forName("jcalendar");
- Method m = signedAppletClass.getMethod("main", String[].class);
- m.invoke(null, (Object)null);
+ Method m = signedAppletClass.getMethod("main1", String[].class);
+ m.invoke(null, (Object) null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
+ public static void jcalendar2() {
+ try {
+ Class> signedAppletClass = Class.forName("jcalendar");
+ Method m = signedAppletClass.getMethod("main2", String[].class);
+ m.invoke(null, (Object) null);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
}
diff -r 233e93731f1e -r f34f9ca3c3ef tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java
--- a/tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java Mon Apr 10 14:44:43 2017 +0200
+++ b/tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java Mon Apr 10 18:55:17 2017 +0200
@@ -35,21 +35,27 @@
exception statement from your version.
*/
+import java.io.File;
+import java.io.IOException;
import java.util.AbstractMap;
import java.util.Arrays;
+import net.sourceforge.jnlp.OptionsDefinitions;
import net.sourceforge.jnlp.browsertesting.BrowserTest;
import net.sourceforge.jnlp.ProcessResult;
import net.sourceforge.jnlp.ProcessWrapper;
import net.sourceforge.jnlp.ServerAccess;
import net.sourceforge.jnlp.annotations.Bug;
+import net.sourceforge.jnlp.annotations.KnownToFail;
import net.sourceforge.jnlp.closinglisteners.StringBasedClosingListener;
import net.sourceforge.jnlp.config.DeploymentConfiguration;
import net.sourceforge.jnlp.runtime.ManifestAttributesChecker;
import net.sourceforge.jnlp.security.appletextendedsecurity.AppletSecurityLevel;
import net.sourceforge.jnlp.tools.DeploymentPropertiesModifier;
+import net.sourceforge.jnlp.util.FileUtils;
import org.junit.Assert;
+import org.junit.BeforeClass;
import org.junit.Test;
@@ -61,6 +67,37 @@
public class KemtrakTests extends BrowserTest {
private static final ServerAccess SERVER = new ServerAccess();
+ private static final String JNLP_APPLET_ORIG = "Kemtrak.jnlp";
+ private static final String JNLP_APP_ORIG = "Kemtrak_javaws.jnlp";
+
+ private static final String JNLP_APPLET_CODEBASED = "Kemtrak_cb.jnlp";
+ private static final String JNLP_APP_CODEBASED = "Kemtrak_javaws_cb.jnlp";
+
+ @BeforeClass
+ public static void prepareCodebasedFiles() throws IOException {
+ /**
+ * Kemtrak added the codebase="." during fixing the pr3350 then pr3351
+ * rised
+ */
+ File dir = SERVER.getDir();
+ File jnlp1 = new File(dir, JNLP_APPLET_ORIG);
+ File jnlp2 = new File(dir, JNLP_APP_ORIG);
+
+ File jnlp12 = new File(dir, JNLP_APPLET_CODEBASED);
+ File jnlp22 = new File(dir, JNLP_APP_CODEBASED);
+ String file1 = FileUtils.loadFileAsString(jnlp1);
+ String file2 = FileUtils.loadFileAsString(jnlp2);
+ file1=addCodebase(file1);
+ file2=addCodebase(file2);
+ file1 = file1.replaceAll(JNLP_APPLET_ORIG, JNLP_APPLET_CODEBASED);
+ file2 = file2.replaceAll(JNLP_APP_ORIG, JNLP_APP_CODEBASED);
+ FileUtils.saveFile(file1, jnlp12);
+ FileUtils.saveFile(file2, jnlp22);
+ }
+
+ private static String addCodebase(String s){
+ return s.replaceFirst("version=\"1.302.1.29\"", "version=\"1.302.1.29\" codebase=\".\"");
+ }
@Bug(id = "PR3350")
@Test
@@ -75,16 +112,88 @@
AppletSecurityLevel.ASK_UNSIGNED.name()));
try {
dm.setProperties();
- ProcessWrapper pw = new ProcessWrapper(SERVER.getJavawsLocation(),Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION}), SERVER.getUrl("Kemtrak.jnlp"));
+ ProcessWrapper pw = new ProcessWrapper(SERVER.getJavawsLocation(), Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION}), SERVER.getUrl(JNLP_APPLET_ORIG));
pw.setWriter("YES\nYES\n");
- pw.addStdOutListener(new StringBasedClosingListener("jcalendar2"));
+ pw.addStdOutListener(new StringBasedClosingListener("kemtrak finished"));
ProcessResult pr = pw.execute();
Assert.assertTrue("Stdout should contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
- Assert.assertTrue("Stdout should contain jcalendar2 but did not", pr.stdout.contains("jcalendar2"));
+ Assert.assertTrue("Stdout should contain jcalendar1 but did not", pr.stdout.contains("jcalendar1"));
} finally {
dm.restoreProperties();
}
}
+ @Bug(id = "PR3351")
+ @KnownToFail
+ @Test
+ public void KemtrakTest2() throws Exception {
+ ProcessWrapper pw = new ProcessWrapper(SERVER.getJavawsLocation(), Arrays.asList(new String[]{
+ ServerAccess.HEADLES_OPTION, OptionsDefinitions.OPTIONS.PARAM.option, "closeJar=closeJar", OptionsDefinitions.OPTIONS.JNLP.option}), SERVER.getUrl(JNLP_APPLET_CODEBASED));
+ pw.setWriter("YES\nYES\n");
+ pw.addStdOutListener(new StringBasedClosingListener("kemtrak finished"));
+ ProcessResult pr = pw.execute();
+ Assert.assertTrue("Stdout should contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
+ Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
+ Assert.assertTrue("Stdout should contain jcalendar2 but did not", pr.stdout.contains("jcalendar2"));
+ }
+
+ @Test
+ public void KemtrakTest_javaws1() throws Exception {
+ DeploymentPropertiesModifier.MultipleDeploymentPropertiesModifier dm
+ = new DeploymentPropertiesModifier.MultipleDeploymentPropertiesModifier(
+ new AbstractMap.SimpleEntry<>(
+ DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK,
+ ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALL.name()),
+ new AbstractMap.SimpleEntry<>(
+ DeploymentConfiguration.KEY_SECURITY_LEVEL,
+ AppletSecurityLevel.ASK_UNSIGNED.name()));
+ try {
+ dm.setProperties();
+ ProcessWrapper pw = new ProcessWrapper(SERVER.getJavawsLocation(), Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION}), SERVER.getUrl(JNLP_APP_ORIG));
+ pw.setWriter("YES\nYES\n");
+ pw.addStdOutListener(new StringBasedClosingListener("kemtrak finished"));
+ ProcessResult pr = pw.execute();
+ Assert.assertFalse("Stdout must nor contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
+ Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
+ Assert.assertTrue("Stdout should contain jcalendar1 but did not", pr.stdout.contains("jcalendar1"));
+ } finally {
+ dm.restoreProperties();
+ }
+ }
+
+ @Bug(id = "PR3351")
+ @KnownToFail
+ @Test
+ public void KemtrakTest_javaws2() throws Exception {
+ ProcessWrapper pw = new ProcessWrapper(SERVER.getJavawsLocation(), Arrays.asList(new String[]{
+ ServerAccess.HEADLES_OPTION, OptionsDefinitions.OPTIONS.ARG.option, "closeJar", SERVER.getUrl().toExternalForm()+"/", OptionsDefinitions.OPTIONS.JNLP.option}), SERVER.getUrl(JNLP_APP_CODEBASED));
+ pw.setWriter("YES\nYES\n");
+ pw.addStdOutListener(new StringBasedClosingListener("kemtrak finished"));
+ ProcessResult pr = pw.execute();
+ Assert.assertFalse("Stdout must not contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
+ Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
+ Assert.assertTrue("Stdout should contain jcalendar2 but did not", pr.stdout.contains("jcalendar2"));
+ }
+
+
+ @Test
+ /**
+ * We can see that issue is not reproducible outside itw
+ */
+ public void KemtrakTest_java() throws Exception {
+ ProcessWrapper pw = new ProcessWrapper(System.getProperty("java.home")+"/bin/java", Arrays.asList(new String[]{
+ "-cp",
+ new File(SERVER.getDir(), "jcalendar.jar").getAbsolutePath()+File.pathSeparator+new File(SERVER.getDir(), "Kemtrakpro.jar").getAbsolutePath(),
+ "Kemtrak",
+ "closeJar",
+ }), SERVER.getDir().toURI().toURL().toExternalForm()+"/");
+ pw.setWriter("YES\nYES\n");
+ pw.addStdOutListener(new StringBasedClosingListener("kemtrak finished"));
+ ProcessResult pr = pw.execute();
+ Assert.assertFalse("Stdout must not contain Kemtrak1 but did not", pr.stdout.contains("Kemtrak1"));
+ Assert.assertTrue("Stdout should contain Kemtrak2 but did not", pr.stdout.contains("Kemtrak2"));
+ Assert.assertTrue("Stdout should contain jcalendar2 but did not", pr.stdout.contains("jcalendar2"));
+ }
+
}
diff -r 233e93731f1e -r f34f9ca3c3ef tests/reproducers/signed/jcalendar/srcs/jcalendar.java
--- a/tests/reproducers/signed/jcalendar/srcs/jcalendar.java Mon Apr 10 14:44:43 2017 +0200
+++ b/tests/reproducers/signed/jcalendar/srcs/jcalendar.java Mon Apr 10 18:55:17 2017 +0200
@@ -36,14 +36,18 @@
*/
import java.applet.Applet;
-import java.lang.reflect.*;
/**
- * This is used by Kemtrak reproducer.
- * Originally the jar was signed2, but I always forget:
- * netx: Initialization Error: Could not initialize applet. (Fatal: Application Error: The JNLP application is not fully signed by a single cert. The JNLP application has its components individually signed, however there must be a common signer to all entries.)
- * netx: Initialization Error: Could not initialize applet. (Fatal: Application Error: The JNLP application is not fully signed by a single cert. The JNLP application has its components individually signed, however there must be a common signer to all entries.)
- *
+ * This is used by Kemtrak reproducer. Originally the jar was signed2, but I
+ * always forget: netx: Initialization Error: Could not initialize applet.
+ * (Fatal: Application Error: The JNLP application is not fully signed by a
+ * single cert. The JNLP application has its components individually signed,
+ * however there must be a common signer to all entries.) netx: Initialization
+ * Error: Could not initialize applet. (Fatal: Application Error: The JNLP
+ * application is not fully signed by a single cert. The JNLP application has
+ * its components individually signed, however there must be a common signer to
+ * all entries.)
+ *
* @author jvanek
*/
public class jcalendar extends Applet {
@@ -64,17 +68,19 @@
}
private Killer killer;
- public static void main(String[] args) {
+ public static void main1(String[] args) {
+ System.out.println("jcalendar1");
+ }
+
+ public static void main2(String[] args) {
System.out.println("jcalendar2");
}
@Override
public void init() {
- System.out.println("jcalendar1");
+ System.out.println("jcalendar0");
killer = new Killer();
killer.start();
}
-
-
}
From bugzilla-daemon at icedtea.classpath.org Mon Apr 10 16:46:31 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 16:46:31 +0000
Subject: [Bug 3351] closing jarfile on member of classpath is causing this
member to be unusable for all classloaders
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
--- Comment #4 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=f34f9ca3c3ef
author: Jiri Vanek
date: Mon Apr 10 18:55:17 2017 +0200
Reproduced issue PR3351
* tests/reproducers/signed/Kemtrakpro/resources/Kemtrak_javaws.jnlp: jnlp
file to test also javaws (next to applet) behavior
* tests/reproducers/signed/Kemtrakpro/srcs/Kemtrak.java: added code to
reproduce issue
* tests/reproducers/signed/Kemtrakpro/testcases/KemtrakTests.java: added
testcases for applet to close jar and try to load class again. added same
testcases for javaws. Added testcase for plain java run to prove underlying jdk
is not guilty
* tests/reproducers/signed/jcalendar/srcs/jcalendar.java: small
modification to add distinguish call inside.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Mon Apr 10 16:50:22 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 16:50:22 +0000
Subject: [Bug 3351] closing jarfile on member of classpath is causing this
member to be unusable for all classloaders
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
--- Comment #5 from JiriVanek ---
Ok. So I reproduced outside of Kemtrak. This issue really is ITW specific and
not jdk specific.
If you insists on your jarchecks, you can make them run in ITW in following
way:
localObject3 = (java.net.JarURLConnection)localURL.openConnection();
java.util.jar.JarFile localJarFile =
((java.net.JarURLConnection)localObject3).getJarFile();
str9 = localJarFile.getName();
i3 = localJarFile.size();
insert here [1]
localJarFile.close
...
org.freixas.jcalendar.JCalendarCombo localJCalendarCombo = new
org.freixas.jcalendar.JCalendarCombo(java.util.Calendar.getInstance(),
Locale.getDefault(), 1, true, "HH:mm:ss");
[1]
try{
org.freixas.jcalendar.JCalendarCombo localJCalendarCombo = new
org.freixas.jcalendar.JCalendarCombo(java.util.Calendar.getInstance(),
Locale.getDefault(), 1, true, "HH:mm:ss");
} catch (Exeption ex){
Log.info(ex)
}
By calling the jcalendar jar *BEFORE* closing it, is causing the counter of
connections to open for ITW to ++ (so to 2) then closing will reduce to 1, and
so it keeps open.
I will try to fix this in ITW.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Mon Apr 10 16:51:01 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 16:51:01 +0000
Subject: [Bug 3351] closing jarfile on member of classpath is causing this
member to be unusable for all classloaders
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
--- Comment #6 from JiriVanek ---
(In reply to JiriVanek from comment #5)
> Ok. So I reproduced outside of Kemtrak. This issue really is ITW specific
> and not jdk specific.
>
> If you insists on your jarchecks, you can make them run in ITW in following
> way:
>
>
>
>
> localObject3 = (java.net.JarURLConnection)localURL.openConnection();
> java.util.jar.JarFile localJarFile =
> ((java.net.JarURLConnection)localObject3).getJarFile();
> str9 = localJarFile.getName();
> i3 = localJarFile.size();
> insert here [1]
> localJarFile.close
> ...
> org.freixas.jcalendar.JCalendarCombo localJCalendarCombo = new
> org.freixas.jcalendar.JCalendarCombo(java.util.Calendar.getInstance(),
> Locale.getDefault(), 1, true, "HH:mm:ss");
>
>
> [1]
> try{
> org.freixas.jcalendar.JCalendarCombo localJCalendarCombo = new
> org.freixas.jcalendar.JCalendarCombo(java.util.Calendar.getInstance(),
> Locale.getDefault(), 1, true, "HH:mm:ss");
> } catch (Exeption ex){
> Log.info(ex)
> }
>
>
> By calling the jcalendar jar *BEFORE* closing it, is causing the counter of
> connections to open for ITW to ++ (so to 2) then closing will reduce to 1,
> and so it keeps open.
>
>
>
> I will try to fix this in ITW.
Of ocurse first call to jcalendar may fail (that why exception is ony info) the
call which meters is the second one. So keep it.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at icedtea.classpath.org Mon Apr 10 17:05:01 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 17:05:01 +0000
Subject: [Bug 3351] closing jarfile on member of classpath is causing this
member to be unusable for all classloaders
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3351
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P5 |P2
--- Comment #7 from JiriVanek ---
due to order-workaround, reducing priority
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Mon Apr 10 19:52:59 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Mon, 10 Apr 2017 19:52:59 +0000
Subject: /hg/icedtea-web: fixed quoting wrongly interpreted by cigwin
Message-ID:
changeset 78812003bcd2 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=78812003bcd2
author: Jiri Vanek
date: Mon Apr 10 22:01:37 2017 +0200
fixed quoting wrongly interpreted by cigwin
* Makefile.am: LAUNCHER_BOOTCLASSPATH now using ' instead of "
diffstat:
ChangeLog | 6 ++++++
Makefile.am | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diffs (25 lines):
diff -r f34f9ca3c3ef -r 78812003bcd2 ChangeLog
--- a/ChangeLog Mon Apr 10 18:55:17 2017 +0200
+++ b/ChangeLog Mon Apr 10 22:01:37 2017 +0200
@@ -1,3 +1,9 @@
+2017-04-10 Michal Vala
+ Jiri Vanek
+
+ fixed quoting wrongly interpreted by cigwin
+ * Makefile.am: LAUNCHER_BOOTCLASSPATH now using ' instead of "
+
2017-04-10 Jiri Vanek
Reproduced issue PR3351
diff -r f34f9ca3c3ef -r 78812003bcd2 Makefile.am
--- a/Makefile.am Mon Apr 10 18:55:17 2017 +0200
+++ b/Makefile.am Mon Apr 10 22:01:37 2017 +0200
@@ -155,7 +155,7 @@
export UNIFIED_JACOCO_CLASSPATH=$(call joinsegments, $(UNIFIED_JACOCO_CLASSPATH_SEGMENTS))
export UNIFIED_BOOTCLASSPATH=-Xbootclasspath/a:$(UNIFIED_CLASSPATH)
# note javaws, itwebsettings and policyeditor (== LAUNCHER_BOOTCLASSPATH) must be always able to compile and run *without* plugin
-export LAUNCHER_BOOTCLASSPATH="$(UNIFIED_BOOTCLASSPATH)"
+export LAUNCHER_BOOTCLASSPATH='$(UNIFIED_BOOTCLASSPATH)'
export PLUGIN_BOOTCLASSPATH='"$(UNIFIED_BOOTCLASSPATH)"'
export PLUGIN_COVERAGE_BOOTCLASSPATH='"-Xbootclasspath/a:$(UNIFIED_JACOCO_CLASSPATH)"'
From bugzilla-daemon at icedtea.classpath.org Tue Apr 11 02:45:36 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 11 Apr 2017 02:45:36 +0000
Subject: [Bug 1656] PulseAudioSourceDataLine.stop() hangs intermittently due
to synchronization problem
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1656
Chuck Ritola changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |cjritola at gmail.com
--- Comment #1 from Chuck Ritola ---
I confirm this issue in openjdk-8-jdk 8u121-b13-0ubuntu1.16.04.2.
Getting intermittent hangs with my application, definitely looks like locks
being acquired in the wrong order by the icedtea pulseaudio implementation. Fix
requested. Thread dump below:
Found one Java-level deadlock:
=============================
"PulseAudio Eventloop Thread":
waiting to lock monitor 0x00007fb0c4508538 (object 0x00000000e4640490, a
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine),
which is held by "main"
"main":
waiting to lock monitor 0x00007fb0c45085e8 (object 0x00000000e3be4380, a
java.lang.Object),
which is held by "PulseAudio Eventloop Thread"
Java stack information for the threads listed above:
===================================================
"PulseAudio Eventloop Thread":
at
org.classpath.icedtea.pulseaudio.PulseAudioDataLine$3.update(PulseAudioDataLine.java:215)
- waiting to lock <0x00000000e4640490> (a
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine)
at
org.classpath.icedtea.pulseaudio.Stream.playbackStartedCallback(Stream.java:688)
- locked <0x00000000e4640658> (a java.util.LinkedList)
at org.classpath.icedtea.pulseaudio.EventLoop.native_iterate(Native Method)
at org.classpath.icedtea.pulseaudio.EventLoop.run(EventLoop.java:133)
- locked <0x00000000e3be4380> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)
"main":
at
org.classpath.icedtea.pulseaudio.PulseAudioDataLine.stop(PulseAudioDataLine.java:386)
- waiting to lock <0x00000000e3be4380> (a java.lang.Object)
- locked <0x00000000e4640490> (a
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine)
at
org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.stop(PulseAudioSourceDataLine.java:51)
at
[the rest is application-specific]
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jvanek at icedtea.classpath.org Tue Apr 11 12:03:42 2017
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Tue, 11 Apr 2017 12:03:42 +0000
Subject: /hg/icedtea-web: * .Makefile.am: on windows, replace prefix by i...
Message-ID:
changeset cfc79c081af1 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cfc79c081af1
author: Jiri Vanek
date: Tue Apr 11 14:12:35 2017 +0200
* .Makefile.am: on windows, replace prefix by its cygwin path
diffstat:
ChangeLog | 5 +++++
Makefile.am | 1 +
2 files changed, 6 insertions(+), 0 deletions(-)
diffs (23 lines):
diff -r 78812003bcd2 -r cfc79c081af1 ChangeLog
--- a/ChangeLog Mon Apr 10 22:01:37 2017 +0200
+++ b/ChangeLog Tue Apr 11 14:12:35 2017 +0200
@@ -1,3 +1,8 @@
+2017-04-11 Michal Vala
+ Jiri Vanek
+
+ * .Makefile.am: on windows, replace prefix by its cygwin path
+
2017-04-10 Michal Vala
Jiri Vanek
diff -r 78812003bcd2 -r cfc79c081af1 Makefile.am
--- a/Makefile.am Mon Apr 10 22:01:37 2017 +0200
+++ b/Makefile.am Tue Apr 11 14:12:35 2017 +0200
@@ -19,6 +19,7 @@
if WINDOWS
export TOP_BUILD_DIR := $(shell cygpath -p -m "$(abs_top_builddir)")
export TOP_SRC_DIR := $(shell cygpath -p -m "$(abs_top_srcdir)")
+ export prefix := $(shell cygpath -p -m "$(prefix)")
else
export TOP_BUILD_DIR = $(abs_top_builddir)
export TOP_SRC_DIR = $(abs_top_srcdir)
From bugzilla-daemon at icedtea.classpath.org Thu Apr 13 04:16:09 2017
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 13 Apr 2017 04:16:09 +0000
Subject: [Bug 3348] [IcedTea8] Architectures unsupported by SystemTap tapsets
throw a parse error
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3348
--- Comment #1 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea8?cmd=changeset;node=14fc67a5d5a3
author: Andrew John Hughes
date: Thu Apr 13 05:25:02 2017 +0100
PR3348: Architectures unsupported by SystemTap tapsets throw a parse error
2017-04-03 Andrew John Hughes