Planet JDKNews and views from the Java SE Development-Kit CommunityVariousRobert Lougher: JamVM 2.0.0 ReleasedRobert Loughertag:blogger.com,1999:blog-300388730782291770.post-18087755254131000902014-08-01T00:46:05Z2014-08-01T00:46:00Z
I'm pleased to announce a new release of JamVM.  JamVM 2.0.0 is the first release of JamVM with support for OpenJDK (in addition to GNU Classpath). Although IcedTea already includes JamVM with OpenJDK support, this has been based on periodic snapshots of the development tree.JamVM 2.0.0 supports OpenJDK 6, 7 and 8 (the latest). With OpenJDK 7 and 8 this includes full support ...
0Robert Lougher2014-08-01T00:46:00Z
David Gilbert: FXGraphics2D 1.1David Gilberthttp://www.jroller.com/dgilbert/entry/fxgraphics2d_1_12014-07-31T21:00:04Z2014-07-31T21:00:04Z

We've just released FXGraphics2D version 1.1, a Java2D to JavaFX bridge, a small and fast library that takes Java2D API calls and maps them to a JavaFX Canvas node. We developed this library to add JavaFX support to our charting libraries (JFreeChart and Orson Charts) but, as you'll see later in this post, FXGraphics2D is a standalone library that can be used by other ...

David Gilbert2014-07-31T21:00:04Z
David Dice: A simple lazy subscription pathologyDavid Dicehttps://blogs.oracle.com/dave/entry/a_simple_lazy_subscription_pathology2014-07-29T16:44:16Z2014-07-29T16:44:16Z

Following up on The Pitfalls of lazy subscription, I thought I'd provide a simple case that illustrates where transactional lock elision (TLE) with lazy subscription can fail. I've managed to reproduce the failure in-house on an i7-4770 (haswell).

Dave 2014-07-29T16:44:16Z
David Dice: Hardware extensions to make lazy subscription safeDavid Dicehttps://blogs.oracle.com/dave/entry/hardware_extensions_to_make_lazy2014-07-28T14:13:42Z2014-07-28T14:13:42Z

Hardware extensions to make lazy subscription safe is a follow-on to our WTTM 2014 paper, Pitfalls of Lazy Subscription . We describe a number of hardware approaches to avoid the wrongful commit pathology admitted by generalized transactional lock elision using lazy subscription. Eager (early) subscription remains safe, of course.

Dave 2014-07-28T14:13:42Z
Henrik Ståhl: Oracle JDK on 64-bit ARM - July 2014 updateHenrik Ståhlhttps://blogs.oracle.com/henrik/entry/oracle_jdk_on_64_bit2014-07-23T23:53:01Z2014-07-23T23:53:01Z

Oracle and ARM have been working together for a while now to port the Oracle JDK 8 to the 64-bit ARMv8 micro architecture, in support of the introduction of 64-bit ARM-based servers. This project is making good progress and remains on track for GA in the first half of CY2015. Collaboration with hardware partners is going well:

Henrik Stahl 2014-07-23T23:53:01Z
Andrew Hughes: [SECURITY] IcedTea 2.4.8 for OpenJDK 7 ReleasedAndrew Hugheshttp://blog.fuseyism.com/?p=7612014-07-23T20:37:34Z2014-07-23T20:37:34Z
The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 7 support […]
0gnu_andrew2014-07-23T20:37:34Z
Marcus Hirt: Now Living and Working in SwitzerlandMarcus Hirthttp://hirt.se/blog/?p=5572014-07-21T19:03:44Z2014-07-21T18:44:36Z
I’ve finally relocated, and things are slowly returning to normal. Moving to a new country is not for the faint of heart. I won’t spend much time describing the actual 7 circles of hell we’ve been through, but I will note this: Be very careful when selecting the company to help you move. Find one […]
0Marcus2014-07-21T18:44:36Z
Andrew Hughes: IcedTea-Sound 1.0.1 Released!Andrew Hugheshttp://blog.fuseyism.com/?p=7562014-07-18T22:53:40Z2014-07-18T22:53:40Z
We are pleased to announce the release of IcedTea-Sound 1.0.1… after finding that IcedTea-Sound 1.0.0 was a little broken If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion takes place on the distro-pkg-dev OpenJDK mailing list and patches are always welcome. Full details […]
0gnu_andrew2014-07-18T22:53:40Z
Andrew Hughes: IcedTea-Sound 1.0.0 Released!Andrew Hugheshttp://blog.fuseyism.com/?p=7532014-07-18T22:51:30Z2014-07-18T21:50:07Z
We are pleased to announce the inaugural release of IcedTea-Sound. At present, IcedTea-Sound contains the PulseAudio provider which was removed from IcedTea itself from 2.5.0 onwards. More providers may be included in the future. If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion […]
0gnu_andrew2014-07-18T21:50:07Z
Jeroen Frijters: Java Method Overriding Is FUBAR Part 10 of ∞Jeroen Frijtershttp://weblog.ikvm.net/PermaLink.aspx?guid=22777daa-cc16-4d4e-ac39-3c0b422682912014-07-16T11:27:41Z2014-07-16T11:27:41Z

Yesterday's JDK 7u65 and 8u11 updates changed method overriding yet again and, of course, it is still broken.

http://weblog.ikvm.net/Trackback.aspx?guid=22777daa-cc16-4d4e-ac39-3c0b42268291http://weblog.ikvm.net/pingback.aspxhttp://weblog.ikvm.net/PermaLink.aspx?guid=22777daa-cc16-4d4e-ac39-3c0b42268291http://weblog.ikvm.net/CommentView.aspx?guid=22777daa-cc16-4d4e-ac39-3c0b42268291http://weblog.ikvm.net/SyndicationService.asmx/GetEntryCommentsRss?guid=22777daa-cc16-4d4e-ac39-3c0b422682912

Yesterday's JDK 7u65 and 8u11 updates changed method overriding yet again and, of course, it is still broken.

Take this example:

package pkg1;

public class A {
  { foo(); }
  void foo() { System.out.println("A.foo"); }
}

package pkg2;

public class B extends pkg1.A {
  { foo(); }
  void foo() { System.out.println("B.foo"); }
}

package pkg1;

public class C extends pkg2.B {
  { foo(); }
  void foo() { System.out.println("C.foo"); }
}

package pkg2;

public class D extends pkg1.C {
  { foo(); }
  void foo() { System.out.println("D.foo"); }
}

public class test {
  public static void main(String[] args) {
    new pkg2.D();
  }
}

Running this with JDK 8u5 yields:

D.foo
D.foo
D.foo
D.foo

Which is, of course, wrong. In yesterday's updates they tried to fix this, but only partially succeeded:

D.foo
D.foo
C.foo
D.foo

The sensible output would be:

C.foo
D.foo
C.foo
D.foo

Jeroen2014-07-16T11:27:41Z
Andrew Hughes: [SECURITY] IcedTea 2.5.1 for OpenJDK 7 ReleasedAndrew Hugheshttp://blog.fuseyism.com/?p=7492014-07-16T10:37:35Z2014-07-16T10:37:35Z
The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 7 support in the 2.5.x series […]
0gnu_andrew2014-07-16T10:37:35Z
Jeroen Frijters: Java Security FixesJeroen Frijtershttp://weblog.ikvm.net/PermaLink.aspx?guid=7e3998d0-003c-4e37-a69e-3d68350028262014-07-16T06:53:16Z2014-07-16T06:53:16Z

In Februari I reported two Java vulnerabilities to Oracle. Yesterday they released the update that fixed them, so here are the descriptions of the two issues.

http://weblog.ikvm.net/Trackback.aspx?guid=7e3998d0-003c-4e37-a69e-3d6835002826http://weblog.ikvm.net/pingback.aspxhttp://weblog.ikvm.net/PermaLink.aspx?guid=7e3998d0-003c-4e37-a69e-3d6835002826http://weblog.ikvm.net/CommentView.aspx?guid=7e3998d0-003c-4e37-a69e-3d6835002826http://weblog.ikvm.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7e3998d0-003c-4e37-a69e-3d68350028262

In Februari I reported two Java vulnerabilities to Oracle. Yesterday they released the update that fixed them, so here are the descriptions of the two issues.

@java.lang.invoke.LambdaForm.Compiled

Internally, the JDK uses the LambdaForm.Compiled annotation to mark methods that should be skipped in a security stack walk. In JDK 7 it was possible to apply this annotation to untrusted code. Here's an example:

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@interface java_lang_invoke_LambdaForm$Compiled { }

class test {
  @java_lang_invoke_LambdaForm$Compiled
  public static void main(String[] args) throws Throwable {
    System.out.println(Class.forName("sun.misc.Unsafe"));
  }
}

If you compile and run this with JDK 1.7.0_60 with a security manager, you get the appropriate AccessControlException. However, if you edit test.class to replace java_lang_invoke_LambdaForm with java/lang/invoke/LambdaForm and run it again, you see that the main method is now skipped in the security check and hence is allowed to access a privileged class.

The fix can be seen here.

MaxArityBug

This example demonstrates that the JDK 1.7.0_60 LambdaForm method handle implementation has a type safety bug when dealing with method signatures with the maximum number of parameters.

Jeroen2014-07-16T06:53:16Z
Andrew Hughes: [SECURITY] IcedTea 1.13.4 for OpenJDK 6 ReleasedAndrew Hugheshttp://blog.fuseyism.com/?p=7462014-07-15T21:17:46Z2014-07-15T21:17:46Z
The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 6 support […]
0gnu_andrew2014-07-15T21:17:46Z
Jeroen Frijters: Blog UpdateJeroen Frijtershttp://weblog.ikvm.net/PermaLink.aspx?guid=ec59c6bd-bf92-42db-ba59-afaf4d4aab6a2014-07-13T08:18:00Z2014-07-13T08:18:00Z

I updated my ancient version of dasBlog. Please let me know if something isn't working properly.

http://weblog.ikvm.net/Trackback.aspx?guid=ec59c6bd-bf92-42db-ba59-afaf4d4aab6ahttp://weblog.ikvm.net/pingback.aspxhttp://weblog.ikvm.net/PermaLink.aspx?guid=ec59c6bd-bf92-42db-ba59-afaf4d4aab6ahttp://weblog.ikvm.net/CommentView.aspx?guid=ec59c6bd-bf92-42db-ba59-afaf4d4aab6ahttp://weblog.ikvm.net/SyndicationService.asmx/GetEntryCommentsRss?guid=ec59c6bd-bf92-42db-ba59-afaf4d4aab6a

I updated my ancient version of dasBlog. Please let me know if something isn't working properly.

Jeroen2014-07-13T08:18:00Z
Henrik Ståhl: The future of Java on Windows XPHenrik Ståhlhttps://blogs.oracle.com/henrik/entry/the_future_of_java_on2014-07-14T21:38:46Z2014-07-11T23:35:39Z

Earlier this year, Microsoft announced end of support for Windows XP. As a direct result, Oracle announced that we no longer provide official support for Java on Windows XP. The main implication of this is that a customer with a support contract may be required to reproduce an issue encountered on Windows XP on a later version of Windows, and if the issue is ...

Henrik Stahl 2014-07-11T23:35:39Z
Jeroen Frijters: New Development SnapshotJeroen Frijtershttp://weblog.ikvm.net/PermaLink.aspx?guid=07b569a5-9fd8-48ad-8307-37c15ea5fbe62014-07-11T08:08:05Z2014-07-11T08:08:05Z

Completed LambdaMetafactory intrinsification.

http://weblog.ikvm.net/Trackback.aspx?guid=07b569a5-9fd8-48ad-8307-37c15ea5fbe6http://weblog.ikvm.net/pingback.aspxhttp://weblog.ikvm.net/PermaLink.aspx?guid=07b569a5-9fd8-48ad-8307-37c15ea5fbe6http://weblog.ikvm.net/CommentView.aspx?guid=07b569a5-9fd8-48ad-8307-37c15ea5fbe6http://weblog.ikvm.net/SyndicationService.asmx/GetEntryCommentsRss?guid=07b569a5-9fd8-48ad-8307-37c15ea5fbe63

Completed LambdaMetafactory intrinsification.

Changes:

Binaries available here: ikvmbin-8.0.5305.zip

2014-07-11T08:08:05Z