Java 1.7.0_55 breaks W'land client because of AWT dependencies

169 views
Skip to first unread message

Michael Cohen

unread,
May 24, 2014, 12:51:13 AM5/24/14
to openwon...@googlegroups.com
Hi, everyone.
I have some frustrating news to report.

It seems that the newest release of Java,
which is insisted upon by Macs and PCs running newer OSs (such as OS X 10.9 Mavericks and W8),
breaks the Wonderland client launching.
If i understand correctly, jMonkeyEngine calls JOGL which invokes the OpenGL procedures built into the OS,
but something in the newest Java release (v. 1.7.0_55) doesn't align with OpenGL.
(In particular, the AWT [Advanced Windowing Toolkit], which had probably been deprecated,
to be superseded by Swing, is still used by parts of W'land, but the newest Java release finally removes those hooks.)

As i understand the situation, there are several issues:
Recent security holes in Java and in general have forced OSs to be paranoid, insisting on installation of newest versions of the JVM or JRE.
Some parts of W'land were built using AWT (such as the AppKit) instead of the newer Swing (which is used elsewhere in W'land).
There are complicated arrangements between various Java releases and various OS releases, including changing locations of installations.
At least on OS X, there are inconsistent interfaces for Java, including only sometimes-appearing Java Control Panels which show different installed versions than "java -version" does in a command line interface on the same computer.

Running the OWL client (which previously worked without problem) gave the following error on the Java Console.
(OWL client window opened but no content.)

May 24, 2014 11:29:02 AM com.jmex.awt.jogl.JOGLAWTCanvas reshape
INFO: reshape AWT-GLCanvas[Realized true,
jogamp.opengl.GLFBODrawableImpl,
Factory   jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@5725238a,
handle    0x7fe9d9d64940,
Drawable size 320x320,
AWT pos 11/11, size 320x320,
visible true, displayable true,
AWTGraphicsConfiguration[AWTGraphicsScreen[AWTGraphicsDevice[type .awt, connection Display 69992768, unitID 0, awtDevice sun.awt.CGraphicsDevice@474065b8, handle 0x0], idx 0],
chosen    GLCaps[rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono  , hw, GLProfile[GL2/GL2.hw], offscr[fbo]],
requested GLCaps[rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]],
CGLGraphicsConfig[dev=69992768,pixfmt=0],
encapsulated MacOSXCGLGraphicsConfiguration[DefaultGraphicsScreen[MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[]], idx 0],
chosen    GLCaps[rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 24/8/0, dbl, mono  , hw, GLProfile[GL2/GL2.hw], offscr[fbo]],
requested GLCaps[rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]]]]], 0, 0, 320, 320
May 24, 2014 11:29:02 AM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
May 24, 2014 11:29:02 AM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
RunnableTask.run(): A catched exception occured on thread AWT-AppKit: RunnableTask[executed true, tTotal 5 ms, tExec 4 ms, tQueue 1 ms, attachment null, throwable java.lang.NullPointerException]
java.lang.NullPointerException
at sun.awt.SunToolkit.getSystemEventQueueImplPP(SunToolkit.java:1012)
at sun.awt.SunToolkit.getSystemEventQueueImplPP(SunToolkit.java:1008)
at sun.awt.SunToolkit.getSystemEventQueueImpl(SunToolkit.java:1003)
at java.awt.Toolkit.getEventQueue(Toolkit.java:1730)
at java.awt.Component.repaint(Component.java:3386)
at java.awt.Component.repaint(Component.java:3286)
at com.jogamp.nativewindow.awt.JAWTWindow.attachSurfaceLayer(JAWTWindow.java:235)
at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl$AttachNSOpenGLLayer.run(MacOSXCGLContext.java:666)
at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:95)

So we tried to run the Test Client. No images (except the original) were loaded when testing graphics capabilities.

WARNING: Trying to draw to texture whose ID hasn't been allocated
Attaching EZClickMouseListener
* Primary window is null! *
* Candidate window! *
* Candidate view! *
* Candidate window! *
* Candidate view! *
2 XXX candidate views found!
SwingEventConsumer added.
SwingEventConsumer added.
May 24, 2014 11:16:26 AM org.jdesktop.wonderland.modules.EZClick.client.EZClickComponent setStatus
WARNING: Setting status on EZClickComponent to RENDERING
May 24, 2014 11:16:26 AM org.jdesktop.wonderland.modules.EZClick.client.EZClickComponent setStatus
WARNING: Setting status on EZClickComponent to VISIBLE
May 24, 2014 11:16:26 AM org.jdesktop.wonderland.client.cell.asset.AssetUtils getAssetURL
WARNING: Unable to find AssetURI object for http://openwonderland.org/templates/wonderlandb/images/idy.png
May 24, 2014 11:16:27 AM org.jdesktop.wonderland.client.cell.asset.AssetUtils getAssetURL
WARNING: Unable to find AssetURI object for http://openwonderland.org/templates/wonderlandb/images/idy.png
May 24, 2014 11:16:27 AM org.jdesktop.mtgame.Renderer processCommitList
WARNING: MTGame: Exception Caught in renderer commit: javax.media.opengl.GLException: Thread[MTGame Renderer,5,javawsApplicationThreadGroup] glGetError() returned the following error codes after a call to glTexSubImage2D(<int> 0xDE1, <int> 0x0, <int> 0x0, <int> 0x0, <int> 0x199, <int> 0x228, <int> 0x1908, <int> 0x1401, <java.nio.Buffer> java.nio.DirectByteBuffer[pos=0 lim=903072 cap=903072]): GL_INVALID_VALUE ( 1281 0x501),
javax.media.opengl.GLException: Thread[MTGame Renderer,5,javawsApplicationThreadGroup] glGetError() returned the following error codes after a call to glTexSubImage2D(<int> 0xDE1, <int> 0x0, <int> 0x0, <int> 0x0, <int> 0x199, <int> 0x228, <int> 0x1908, <int> 0x1401, <java.nio.Buffer> java.nio.DirectByteBuffer[pos=0 lim=903072 cap=903072]): GL_INVALID_VALUE ( 1281 0x501),
at javax.media.opengl.DebugGL2.checkGLGetError(DebugGL2.java:24811)
at javax.media.opengl.DebugGL2.glTexSubImage2D(DebugGL2.java:10396)
at com.jme.renderer.jogl.JOGLRenderer.updateTextureSubImage(JOGLRenderer.java:1993)
at com.jmex.awt.swingui.JOGLImageGraphics.update(JOGLImageGraphics.java:186)
at org.jdesktop.wonderland.modules.appbase.client.DrawingSurfaceImageGraphics$UpdateProcessor.commit(DrawingSurfaceImageGraphics.java:338)
at org.jdesktop.mtgame.Renderer.processCommitList(Renderer.java:1407)
at org.jdesktop.mtgame.Renderer.run(Renderer.java:960)

(Note that this is a different issue that that reported a couple of weeks ago by me on this forum
[and which we understand is being worked on by the W'land team],
as it applies to both Mac OS X and Windows platforms,
whereas the earlier-reported problem applied only to OS X.)

A work-around is to try to use an older OS (Snow Leopard 10.6, Lion 10.7, or Mountain Lion 10.8 on OS X; XP or W7 on Windows) that doesn't insist on the newest Java release.
Alternatively, one can try to uninstall Java 1.7 and install 1.6,
which still has the AWT hooks.
We have had decidedly mixed (only incomplete) success with such a technique,
which is also complicated because of the blurring of the distinction between the JVM and JRE,
and the need to use ant to launch instead of Java Web Start.
This is all eye-glazingly tangled, especially in our lab where we have a variety of computers, OSs, and Java installations.
("Write once, break everywhere.")
We hope that a simpler and more reliable solution will emerge from the W'land developers,
maybe recoding the AWT invocations as Swing equivalents.

Nicole Yankelovich

unread,
May 26, 2014, 8:46:18 PM5/26/14
to openwon...@googlegroups.com
Michael,

We're very close to having a fix for this Java problem.

Nicole.
--
You received this message because you are subscribed to the Google Groups "Open Wonderland Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openwonderlan...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nicole Yankelovich

unread,
Jun 27, 2014, 10:11:38 AM6/27/14
to openwon...@googlegroups.com
Abhishek has just committed a fix that mostly solves the problem of Wonderland not working on the newest releases of Java. Because Michael and others were waiting for this fix, I asked him commit the changes now even though there is one remaining issue with EZScript. As far as we know, EZScript is the only feature that currently does not work, but if others could do some testing, it would be helpful to know if there are other features that also might not be working. Abhishek will hopefully have a fix for the EZScript issue in the next few weeks, but please post a message here if you find anything else that's a problem.

Nicole.

Ric Moore

unread,
Jun 27, 2014, 7:57:01 PM6/27/14
to openwon...@googlegroups.com
On 06/27/2014 10:11 AM, Nicole Yankelovich wrote:
> Abhishek has just committed a fix that mostly solves the problem of
> Wonderland not working on the newest releases of Java. Because Michael
> and others were waiting for this fix, I asked him commit the changes now
> even though there is one remaining issue with EZScript. As far as we
> know, EZScript is the only feature that currently does not work, but if
> others could do some testing, it would be helpful to know if there are
> other features that also might not be working. Abhishek will hopefully
> have a fix for the EZScript issue in the next few weeks, but please post
> a message here if you find anything else that's a problem.
>
> Nicole.

Same ole same ole running Debian Jessie. I get the panel but no login. I
still get openGL version errors, even while I've installed CUDA while
with a one module error which I have fixed, runs quite nicely. Tonight
I'll boot into my Ubuntu 14.04 partition, upgrade all the packages, and
then attempt launch OWL from there. Last time I tried it was DOA as
well, with the same problem. Anyone else having problem with Ubuntu
14.04?? Debin Jessie is roughly equivalent to that.

I'd rather stick with Debian as our webserver runs it and for political
reasons. Thanks! Ric

Ric Moore

unread,
Jun 29, 2014, 1:52:27 AM6/29/14
to openwon...@googlegroups.com
Nicole,

I updated my Ubuntu 14.04 packages on it's partition last night, updated
java, installed the latest nightly build and erased my .wonderland
directories in my home directory. So, I started brand-new clean with my
ant stuff. Same problem that I have on my Debian partition. I get the
client window, but no login pop-up. The client window looks normal but I
cannot exit from it nor even close the window it's in. So, it looks like
Owl for Linux has a fork in it and it's done.

If anyone else is running OWL on Ubuntu 14.04, which is the new stable
Long Term Support (LTS) version, let me know. I logged into the OWL
public server and it crapped out as well, so I assume it's on my end or
there is a bug in the server.

I keep getting openGL errors that claim my version is less-than 2.0
I have OpenGL version 4.4.0 using a GT 520/PCLE/SSE2 nVidia card.
My GLX server version is 1.4
My GLX client version is 1.4
Is something in the code base confusing OpenGL with GLX??

I've been part of the beta test successfully since OWL 4.0, running gear
a lot older. My new gear has run it successfully as well, even with two
graphic cards and four monitors. Last week I installed CUDA and ran
demos to be sure my driver was right, as far as nVidia is concerned. No
problems. The only thing that works on the client window is the log, so
I attached it's content to this email. I'm really bummed out with this.
REALLY bummed. :) Ric

OWL-console-error.log

Ric Moore

unread,
Jun 29, 2014, 3:29:41 AM6/29/14
to openwon...@googlegroups.com
On 05/26/2014 08:46 PM, Nicole Yankelovich wrote:
> Michael,
>
> We're very close to having a fix for this Java problem.
>
> Nicole.

One thing you all might consider, and it might help others
I found an exact match for my problem here:
https://code.google.com/p/javachromiumembedded/issues/detail?id=19

where a remark to the fix says "Thanks for the report. I think your
graphics card is actually too new (OpenGL 4 removed some OpenGL 2
functionality). According to
http://forum.jogamp.org/Not-a-GL2-implementation-exception-td4030873.html we
should use GL2ES2 instead of GL2 for compatibility."

This is almost my problem verbatim:
https://code.google.com/p/processing/issues/detail?id=1029

Something is insisting on GL 2.0 and GL 3 or 4 will fail. Someone fixed
this before, so I'm guessing it became broke again.

So, this might affect any and all OS's. Again, with the same hardware
everything worked before. I'm scratching my head here, I am no coder. :) Ric


Abhishek Upadhyay

unread,
Jun 30, 2014, 12:56:04 AM6/30/14
to openwon...@googlegroups.com
Hi Ric,

The problem you are facing is not related to new Java updates. I had faced the same problem after updating the graphics driver. I had to rollback it so that my driver supports GL2 implementation to make OWL client work. I had mentioned this in following thread.
This is serious problem for OWL as the normal users will update the driver when they show the notification and found OWL client crashed.

With the new Java updates Java7u55 and Java8u5, the JOGL was crashing and hence the OWL client failed to launch. We have applied fix in JOGL code and it is working now. It would be great if you can check this with the old version graphics driver(which supports GL2) on linux. If you still can't get the client running, send me the log message of the Java console. It will help us to solve the problem.

Thanks,
Abhishek Upadhyay.

Ric Moore

unread,
Jun 30, 2014, 4:35:04 AM6/30/14
to openwon...@googlegroups.com
On 06/30/2014 12:56 AM, Abhishek Upadhyay wrote:
> Hi Ric,
>
> The problem you are facing is not related to new Java updates. I had
> faced the same problem after updating the graphics driver. I had to
> rollback it so that my driver supports GL2 implementation to make OWL
> client work. I had mentioned this in following thread.
> https://groups.google.com/forum/#!topic/openwonderland/nt2J5Mzmk9k
> This is serious problem for OWL as the normal users will update the
> driver when they show the notification and found OWL client crashed.
>
> With the new Java updates Java7u55 and Java8u5, the JOGL was crashing
> and hence the OWL client failed to launch. We have applied fix in JOGL
> code and it is working now. It would be great if you can check this with
> the old version graphics driver(which supports GL2) on linux. If you
> still can't get the client running, send me the log message of the Java
> console. It will help us to solve the problem.
>
> Thanks,
> Abhishek Upadhyay.

What about the java code on the links I provided?
https://code.google.com/p/javachromiumembedded/issues/detail?id=19
... and additional kinks on that page.

Would they solve the problem with the changes noted regarding using
GL2ES2 instead of GL2 to "avoid GLException"?? It would play merry hell
for all potential clients with nVidia gear, or any other new video card
or it's driver with OpenGL4 to "roll-back" their drivers. Most users
wouldn't have a clue. It would also blow up all the CUDA apps that
expect the latest drivers.

I would assume it would affect Win and Mac users as well, if not now
then very soon. This happens on both Debian Jessie and Ubuntu 14.04 with
stock nVidia driver installs.

The main reason I balk is that I have already googled all over to
replace my new drivers with old drivers 4-5 jumps back and it would
affect about 10 packages that I am aware of. Not to mention my builds of
CUDA, CULA and OpenCL apps. Imagine trying to hold hands with OWL
users?? I'm used to fixing broken, many clients are absolutely not and
won't begin to try.

I've seen the same problem noted on gamer sites as well. A fix would be
better. Thanks for any considerations, Ric



OWL-console-error.log

Carlos Rafael Ramirez

unread,
Jun 30, 2014, 9:28:02 AM6/30/14
to openwonderland
Hello Ric,

Have you tested with NVIDIA version 334.95 it worked for me. Looks like they fixed the problem

Regards




--
You received this message because you are subscribed to the Google Groups "Open Wonderland Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openwonderland+unsubscribe@googlegroups.com.

Ric Moore

unread,
Jul 1, 2014, 4:04:15 PM7/1/14
to openwon...@googlegroups.com
On 06/30/2014 09:27 AM, Carlos Rafael Ramirez wrote:
> Hello Ric,
>
> Have you tested with NVIDIA version 334.95 it worked for me. Looks like
> they fixed the problem
>

Running 331.67-2 right now. I don't install the run file straight from
nVidia as that breaks much. I'll wait for it to hit the repos which
should be soon. Thanks for the heads up. Ric


Ric Moore

unread,
Jul 1, 2014, 4:30:38 PM7/1/14
to openwon...@googlegroups.com
On 06/30/2014 09:27 AM, Carlos Rafael Ramirez wrote:
> Hello Ric,
>
> Have you tested with NVIDIA version 334.95 it worked for me. Looks like
> they fixed the problem
>

According to Debian Sid deb package archive for nvidia their latest
nvidia driver 331.79-1 fixes the opengl v2 problem. So, I just included
that repo and I'm looking at almost 1/2 GIG worth of "non-free" packages
being installed. There goes my Hughes data allotment! We'll see what
happens. Version 334.95 isn't available yet to the bleeding Debian edge
as of now. Lord, everything but the kitchen sink is being updated to
"bleeding edge". Just so everyone knows, I am out on a limb with regards
to the stability of the rest of my installs.

"the Sid distribution takes its name from a ToyStory character. Sid is
the kid next door who breaks his toys and makes nasty creatures of them.
It is sometimes wrongly backronymed as "Still In Development". While
other release code names progress in time from being testing to being
stable, Sid is forever doomed to being unstable." THAT is what I am
doing to enable OWL. Out on a limb... a shaky limb no less.

OTOH, it might be that the way we call up openGL stands improvement as
well.

Ric Moore

unread,
Jul 1, 2014, 11:27:20 PM7/1/14
to openwon...@googlegroups.com
On 06/30/2014 09:27 AM, Carlos Rafael Ramirez wrote:
> Hello Ric,
>
> Have you tested with NVIDIA version 334.95 it worked for me. Looks like
> they fixed the problem

I'm still recovering a system that I mangled up, using Sid then
Experiential. I just got the mouse working again. I'll just wait until
it comes down the pike in normal fashion. But, the average client/user
wouldn't. Not in a million years, Ric


Reply all
Reply to author
Forward
0 new messages