-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Empty canvas and GLException with Java 8 on Windows #17
Comments
|
See also this forum post which discusses the same (and similar) errors. In that thread, the relevant system specs for this error are: Graphics card: AMD Radeon 290 |
|
@imagejan Have you tried using ClearVolume on the affected system? If it works, that might be a suitable workaround. And we are moving in that direction these days anyway. |
|
@ctrueden Finally I got a chance to test on the affected system: ClearVolume (via the ClearVolume update site) works well on this system as long as the Java-8 update site is not enabled.
(but I think this issue is known to all involved parties) |
|
I think @royerloic finished a fix for this, but hasn't had a chance to get it on the ClearVolume update site yet. |
|
There is some upstream discussion of this issue; see: |
|
For those affected by this bug: a developer on the JogAmp Java 3D forum posted the following suggestion:
I did not run it (I do not have an affected system), but if anyone else has a few spare minutes to try, it might be helpful! |
|
Here's the output from the affected PC: |
|
There is a hack you can now try, to see whether it fixes the issue on your system:
|
Thanks to Philip Jordan; see discussion at: http://forum.jogamp.org/Java-3D-crash-or-flickering-tp4035074p4036787.html This temporary workaround may avoid certain problems in the 3D_Viewer: * fiji/3D_Viewer#17 * fiji/3D_Viewer#18
|
@ctrueden this didn't fix it for me. I still get the following error message: |
|
Curtis, My only thought is that the ES1 requirement is causing trouble so perhaps trying profile = GLProfile.getGL2GL3(); might work, but I realise I'm just firing out ideas and what we need is some expert advice from Julien or Sven... |
|
I have a win 7 system, Not sure if this has been made explicit anywhere, as this bug is mentioned several times along with the property, but: On my system, 3Dviewer will work if sun.java2d.noddraw=false. Unfortunately you can't just pass -Dsun.java2d.noddraw=false to fiji-win64.exe because it gets overwritten by a later -Dsun.java2d.noddraw=true. javaw -Dpython.cachedir.skip=true -Dplugins.dir=C:\PATH\TO\Fiji.app -Xmx18398m -Xincgc -XX:PermSize=128m -Dsun.java.command=ImageJ -Djava.class.path=C:\PATH\TO\Fiji.app\jars\imagej-launcher-4.0.5.jar -Dimagej.dir=C:\PATH\TO\Fiji.app -Dij.dir=C:\PATH\TO\Fiji.app -Dfiji.dir=C:\PATH\TO\Fiji.app -Dfiji.defaultLibPath=bin\server\jvm.dll -Dfiji.executable=C:\PATH\TO\Fiji.app\fiji-win64.exe -Dij.executable=C:\PATH\TO\Fiji.app\fiji-win64.exe -Djava.library.path=C:\PATH\TO\Fiji.app\lib\win64 -Dsun.java2d.noddraw=false net.imagej.launcher.ClassLauncher -classpath C:\PATH\TO\Fiji.app\jars\ fiji.Main -port7 (Of course anyone who wants to try will have to pull their own string.) |
|
Hi @aschain Does it work if you use the Fiji syntax to pass options to the JVM mentioned here? |
The culprit is here. Because of this, I am guessing it cannot be overridden whatsoever. However, it seems this is an obsolete system property now, replaced by the (inverted) |
|
It does not. |
|
Ok let's go and see if we can give hope. |
From @aschain: > 3Dviewer will work if sun.java2d.noddraw=false. > > Unfortunately you can't just pass -Dsun.java2d.noddraw=false > to fiji-win64.exe because it gets overwritten by a later > -Dsun.java2d.noddraw=true. See discussion at: fiji/3D_Viewer#17 (comment) Note that the property is obsolete now in any case: > noddraw > > Obsoleted in: Java SE 6 Update 10, which contains a new implementation > of D3D support. Setting sun.java2d.noddraw=true is now interpreted > exactly the same as disabling that via sun.java2d.d3d=false. > Intended use: To turn off the Java 2D system's use of DirectDraw and > Direct3D completely. > Introduced: 1.2 > Default value: false > How to use: Setting this flag to true turns off DirectDraw usage, > which sometimes helps to get rid of rendering problems on Win32. https://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html#noddraw
|
I removed it: imagej/imagej-launcher@6202e84. Unfortunately, the ImageJ Jenkins Windows node is still down, so there will be no new Windows build of the launcher right now. @aneevel is actively working on restoring the node though, so we will hopefully have a build by end of next week. In the meantime, someone with a Windows developer setup could build it themselves and post a binary for community testing. |
|
I compiled the new imagej-launcher and renamed to fiji-win64.exe and replaced the imagej.ico with the fiji one. It's here: http://sites.imagej.net/Aschain/fiji-win64.exe-20161102105633 |
|
Without really being able to provide any help to solve the problem I just wanted to let you know that the launcher provided by @aschain seems to solve the issue for me. I don't get the error anymore and the 3D Viewer launches. Thank you. |
|
@aschain I tried your launcher on my system (Win7, ATI FirePro V8800) and IT WORKS fine! Could you please file a pull request to the developers? Thank you so much for this solution! |
|
Thanks very much for posting the build, @aschain! The good news is that the Windows Jenkins node is back up and running. The bad news is that when I triggered a build of the latest ImageJ Launcher right now, it failed on all platforms. I fear it will take some time for me to investigate and fix. I've added it to my to-do list. |
|
I also want to mention that the new JogAmp Java 3D maintainer, @philjord, has also been investigating these issues, and recently posted more discoveries on the JogAmp forum. In particular, it seems that setting the property |
|
Quick update: I really want to build and deploy the new ImageJ launcher. I am reluctant to deploy the build linked above because it has been conflated with |
|
I compiled the imagej-launcher in the more classic way here (it has the regular imageJ icon, and I renamed it ImageJ-win64.exe not Fiji). In case it helps in the meantime. |
Huge thanks, @aschain! I have now uploaded this to the core ImageJ update site, so that everyone can enjoy it. Could someone (anyone!) paying attention to this thread, who suffers from this issue, confirm that the problem is now solved on your system? If so, I will close this issue.
Like I said, you shouldn't have to—it is a very thin wrapper which simply delegates to |
|
@curtis: Ulrik has mastered Appveyor and travis builds and can deploy bin artefacts for all 3 platforms automagically. (Maybe you already know, just making sure)
…Sent from my iPhone
On 6 Mar 2017, at 23:14, Curtis Rueden ***@***.***> wrote:
I compiled the imagej-launcher in the more classic way here
Huge thanks, @aschain! I have now uploaded this to the core ImageJ update site, so that everyone can enjoy it.
Could someone (anyone!) paying attention to this thread, who suffers from this issue, confirm that the problem is now solved on your system? If so, I will close this issue.
BTW is there a better way to compile the Fiji launcher?
Like I said, you shouldn't have to—it is a very thin wrapper which simply delegates to ImageJ-win64.exe. It has been so long since Johannes did that that I honestly forgot (or never know) how it was created, sorry.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Just to repeat my request: could some Windows user please confirm that an up-to-date Fiji no longer has this issue? |
|
Tested on windows 10.
|
|
Sorry, I'm new to imageJ and trying to track down this issue for my wife. Where can I download the latest version that @ctrueden mentioned that fixes the problem? Thanks a lot for the help. |
|
@MrLoh It should be included with the latest Fiji Win64 download. Or you can run Help ▶ Update... to receive the fix, as long as you are using Java 8. The latest |
On Windows 7, running an up-to-date Fiji with Java 1.8.0_66 and the Java8 update site enabled, I get an empty gray canvas in the 3D viewer (when trying to display e.g. the Bat Cochlea Volume sample image), and the following stack trace is displayed in the console window:
This might be related to the graphics card, as I'm not seeing this problem on a different machine with different hardware. The 3D viewer used to work on that machine when running Java6, so it would be great to know if this can be sorted on Java8.
The text was updated successfully, but these errors were encountered: