IcedTea-Web 1.0.3 released (maintenance release)

IcedTea-Web 1.0.3 has been released and is available for download now.

This is a regular maintenance release and contains some nice-to-have plugin bug fixes:

  • PR721: IcedTeaPlugin.so cannot run g_main_context_iteration on a different thread unless a different GMainContext *context is used
  • PR735: Firefox 4 sometimes freezes if the applet calls showDocument()
  • RH691259: Midori sends a SIGSEGV with the IcedTea NP Plugin

If you are using IcedTea-Web 1.0.x with Firefox, it is recommended that you update to 1.0.3 as it is significantly more stable on Firefox 4.

Available for download here:
http://icedtea.classpath.org/download/source/icedtea-web-1.0.3.tar.gz

Build instructions are here:
http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web

SHA256 sum:
2a3b907b471a67fdbae4ecc80b8425dfc7533e91f63f622d91501d4a64f07581 icedtea-web-1.0.3.tar.gz

Thanks to Omair Majid for helping with this release (patch reviews)!

Posted in IcedTea | Leave a comment

Why do XX and YY in JDK6 uXX and OpenJDK6 bYY differ?

This question seems to get asked fairly frequently and since there is no page clearly explaining this, here is one!

At the time of writing this, the latest version of JDK6 (the proprietary Oracle version) is u25. The latest OpenJDK6 release right now is b22. So what is going on? Why is OpenJDK6 so far behind JDK6? Well, it is not.

The uXX numbering for the proprietary JDK is completely unrelated to the bYY releases of OpenJDK and any comparison of the two is meaningless. This image (taken from my RedHat Summit 2011 slides) explains how OpenJDK6 came into being:

JDK and OpenJDK relationships

The filled arrows going between JDK7 and OpenJDK7 indicate that the two sources are very similar (about 95% according to the last heard count). The empty arrows between OpenJDK7 and OpenJDK6 indicate backports.

OpenJDK6 was created from OpenJDK7 by removing Java 7 specific items from the code. Development of OpenJDK6 today largely consists of backporting fixes from OpenJDK7 and keeping security fixes up-to-date.

In terms of bug fixes, a comparison is not easily possible because the code bases differ and a bug that manifests in JDK6 may not manifest in OpenJDK6 and vice versa. OpenJDK6 bugs are fixed as they are encountered/reported.

In terms of features, JDK6 is in maintenance mode and therefore does not add features in its updates. The same applies to OpenJDK6. If any feature/API change were to be made to JDK6 in the future, OpenJDK6 would follow suite accordingly.

So the next time you see a higher update number of _either_ of JDK6 or OpenJDK6, promptly ignore it because it is like comparing apples and oranges 🙂

Posted in IcedTea, Java | 2 Comments

Slides for my 2011 Red Hat Summit presentation

I gave a talk at this year’s Red Hat Summit on IcedTea/OpenJDK and on some of the upcoming new features in Java 7 and 8. The title was “Java – From OpenJDK to Red Hat Enterprise Linux and What Lies Ahead”.

The slides are available on-line here.

As mentioned on slide 3 there, the slides were designed to be used in an audio-heavy presentation (with less text, more images). For guidance, they have draft quality notes at the end.

Posted in IcedTea, Java | 4 Comments

IcedTea-Web 1.1 branched

IcedTea-Web 1.1 has been branched! A list of features/fixes in 1.1 are in the NEWS file here:
http://icedtea.classpath.org/hg/release/icedtea-web-1.1/file/tip/NEWS

If you are the adventurous type and would like to help us try/test it, checkout, build and usage instructions are here:
http://icedtea.classpath.org/wiki/?title=IcedTea-Web#Getting_IcedTea-Web

Instead of checking out from http://icedtea.classpath.org/hg/icedtea-web (trunk), just use http://icedtea.classpath.org/hg/release/icedtea-web-1.1/

The 1.1 release is tentatively scheduled for May 6th 2011 and we will be fixing any major issues found, until then.

Posted in IcedTea | Leave a comment

IcedTea-Web 1.0.2 released!

IcedTea-Web 1.0.2 has been released! This is a maintenance release that contains some important bug fixes.

What’s new in 1.0.2:

  • PR638: JNLPClassLoader.loadClass(String name) can return null
  • RH677772: NoSuchAlgorithmException using SSL/TLS in javaws
  • PR612: NetDania application ends on java.security.AccessControlException: access denied (java.util.PropertyPermission browser read)
  • Binary PDF documentation has been replaced with an editable HTML vesion

The following people helped with this release:
Mark Greenwood <mark _at_ dcs.shef.ac.uk> (code), Andrew John Hughes (code), Omair Majid (code)

SHA256 Checksum:
aa836e4c350eaaf3a3f474522ec47069f9b71c02ce59e8dd3d79881edb15115c  icedtea-web-1.0.2.tar.gz

Download link:
http://icedtea.classpath.org/download/source/icedtea-web-1.0.2.tar.gz

After extracting (tar xzf icedtea-web-1.0.2.tar.gz),  it can be built as per instructions here:
http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web

Posted in IcedTea | Leave a comment

IcedTea-Web 1.0.1 released!

IcedTea-Web 1.0.1 has been released. This is a security fix only release and addresses a couple of security issues.

What’s new in 1.0.1:

  • S6983554, CVE-2010-4450: Launcher incorrect processing of empty library path entries
  • RH677332, CVE-2011-0706: IcedTea multiple signers privilege escalation

The following people helped with this release:
Omair Majid (code), Andrew John Hughes (guidance on how to release)

Checksum:
cfcb17e94d6cd406e7aceb08de2ae7c03fe3f2a730829cc5ac54ca6a90a9d46e icedtea-web-1.0.1.tar.gz

Download link:
http://icedtea.classpath.org/download/source/icedtea-web-1.0.1.tar.gz

After extracting (tar xzf icedtea-web-1.0.1.tar.gz),  it can be built as per instructions here:
http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web

 
A security update is also available for IcedTea6 now.

Posted in IcedTea | Leave a comment

First release of IcedTea-Web!

I am happy to announce the first release of IcedTea-Web!

IcedTea-Web is an addon component to IcedTea. It is open source (GPL + LGPL for
some parts) and provides a Java web browser plugin (IcedTea NP Plugin) and Java
Web Start
implementation (i.e. javaws binary, based on NetX and referred to as such). Additionally, release 1.0 also contains an alpha preview of itweb-settings, a GUI tool to control deployment settings for NetX and the plugin.

So what is new in the plugin and NetX in icedtea-web you ask? Well, lots!

Improvements:

  • NetX and plugin configuration can now be specified via a deployment.properties file
  • System-level as well as user-level deployment.properties files with locked configuration are supported
  • Applications and applets can now have a Look and Feel different from rest of IcedTea-Web
  • Native directories are correctly cleaned on exit
  • Cached files with special characters in file names are now handled correctly
  • Interfaces javax.jnlp.IntegrationService and javax.jnlp.DownloadService2 are now available
  • javaws now supports a new  -Xclearcache option
  • Applications with non-public main classes are now supported.
  • JNLP files containing <component-desc> as well as <application-desc> will now work
  • JNLP files referenced in the applet tag are now parsed to detect applet properties
  • Applets are now double-buffered to eliminate flicker in ones that do heavy drawing

Bug fixes:

  • PR592: NetX can create invalid desktop entry files
  • PR542: Plugin fails with NPE http://www.openprocessing.org
  • PR552: Support for FreeBSD’s pthread implementation
  • PR554: System.err writes content two times
  • PR556: Applet initialization code is prone to race conditions
  • PR557: Applet opens in a separate window if tab is closed when the applet loads
  • PR565: UIDefaults.getUI fails with jgoodies:looks 2.3.1
  • PR593: Increment of invalidated iterator in IcedTeaPluginUtils
  • PR597: Entities are parsed incorrectly in PARAM tag in applet plugin
  • PR619: Improper finalization by the plugin can crash the browser
  • RH665104: OpenJDK Firefox Java plugin loses a cookie

It can be downloaded here:
http://icedtea.classpath.org/download/source/icedtea-web-1.0.tar.gz

Build instructions are here:
http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web

SHA256 sum:
e33413768cdf2ffce66aaff00fed5dd06deb09ed7eb28e522cdad4f29b78e594  icedtea-web-1.0.tar.gz

A big thanks to Andrew John Hughes, Omair Majid and Andrew Su for helping make this happen!

Posted in IcedTea | 2 Comments

IcedTea 1.8 released (with new NP plugin)!

IcedTea 1.8 is now out. It officially replaces the old IcedTea Plugin with the new NPRuntime based plugin.

A significant number of fixes went in since the NP plugin version in 1.7. Some of the biggest ones are:

  • Memory on C++ side is all correctly managed now
  • Speed has been improved over previous version
  • An arbitrary number applets can initialize in parallel without causing a spike in thread count
  • Support for /home on AFS and others filesystems that don’t support FIFO pipes
  • Support for Chromium and Firefox running *at the same time*

If you had been apprehensive about trying it out because it wasn’t finalized before, give it a try now!

Posted in IcedTea | 6 Comments

IcedTea Java plugin with Chromium and Firefox 3.6A1

With improved cross-browser API support thanks to the Mozilla/Sun/Chromium teams, last week I decided to take a break from functionality development and focus on browser compatibility for the new NP plugin. And here is the end result .. the plugin working with Chromium!

IcedTea NP Plugin running with Chromium
IcedTea NP Plugin running with Chromium

In addition to Chromium, the plugin also works with Firefox 3.6 A1 now.

It is the only Java plugin that works with Chromium at the moment. Proxy and cookie support won’t be there with Chromium as the APIs haven’t been implemented on the browser side yet. When they are, the plugin should be able to make use of them seamlessly.

All code is in mercurial: http://icedtea.classpath.org/hg/icedtea6/rev/8353f4e67ec1

Just a side note: To use it with Chromium/FF3.6, it needs to be built against xulrunner 1.9.2 Alpha* as that contains headers with the new API. Also, chormium build from 20090824 (rev. 24148) or higher is needed to make use of Liveconnect.

Posted in IcedTea | 1 Comment

New support (including Facebook applet) in the NP Java Plugin!

I remember when I first took over the old plugin. A little while before that, Tom had posted on his blog about getting the Facebook image uploader applet working with the IcedTea Plugin. This was a huge achievement because of the complex support that is required to make it work. So for the rewrite, I decided to chase that goal too, and I am happy to say that NPPlugin can now load the Facebook image uploader applet!

Infact not just Facebook, but Yahoo! games, JigZone, and a variety of other sites now work. In addition to new functionality support, other improvements include:

– Significant speed improvements. Unlike the IcedTeaPlugin which suffered from an initial lag during the first liveconnect call for an instance due to OJI and other limitations, the new one is instantaneous.

– Unicode support is done, and everything uses UTF-8 now.

Oh and for anyone following the dates, the plugin *needed* to be done by around March 2010 until a while ago: http://groups.google.com/group/mozilla.dev.planning/msg/0198421f054e29f8

However, Namoroka (Firefox 3.6) which uses Gecko 1.9.2 is now due around November ’09:

https://wiki.mozilla.org/Firefox/Namoroka

So that is now the new date by which the new plugin *needs* to be done. As my friend and colleague Andrew would say (or so I picture in my head), “good times”. Good times indeed.

And here are some screen shots of a few new cool applets working with the new plugin:

1: Facebook image uploader applet, after uploading an image:

Facebook Image Uploader and IcedTeaNP Plugin

Facebook Image Uploader and IcedTeaNP Plugin

2: JigZone applet. The Left bar is html, and contains JavaScript that monitors the applet via LiveConnect to determine when to start/stop the timer:

JigZone applet and IcedTeaNP Plugin

JigZone applet and IcedTeaNP Plugin

3: Yahoo! Games. The black blocks that remove user names were added by me:

Yahoo! Poker game applet and IcedTeaNP Plugin

Yahoo! Poker game applet and IcedTeaNP Plugin

As usual, all code is upstream: http://icedtea.classpath.org/hg/icedtea6

Posted in IcedTea | Leave a comment