ClearVolume error in loading/display

clearvolume
Tags: #<Tag:0x00007fd699f78970>

#1

Hi all (potentially more specific @fjug),

  1. The error message (pasted below) occurs when running ClearVolume on the following specs:
    Intel Core i7-6700 CPU, 16GB RAM, 64-bit
    Windows 10 Home
    DirectX 12.0
    NVIDIA GeForce GTX 1060 (3GB)
    CUDA driver 8.0.0
    (Fiji Is Just) ImageJ 2.0.0-rc-61/1.51n; Java 1.8.0_66 [64-bit]; Windows 10
    Java 8 update site activated

Currently, I cannot find any info about OpenGL or OpenCL versions installed :pensive:

If further specs are needed to identify the culprit in the system, please let me know

  1. Strange thing is that it runs like a charm on my 5 year old laptop with a way older NVIDIA graphics card with all kinds of 3D data sets I have tried (simplest example T1 head or flybrain from ImageJ)

  2. In addition (just out of curiosity), there is a part of the error message dealing with a google account authentication which I do not really get what this has to do with ClearVolume ???

  3. I also tried a completely clean, new download of Fiji resulting in the same problem.

ClearGLWindow: GLProfile[GL4bc/GL4bc.hw]
1.0
1.0
1.0
Windowsjava.lang.NullPointerException
	at cleargl.GLTexture.<init>(GLTexture.java:141)
	at clearvolume.renderer.cleargl.ClearGLVolumeRenderer.ensureTextureAllocated(ClearGLVolumeRenderer.java:630)
	at clearvolume.renderer.cleargl.ClearGLVolumeRenderer.displayInternal(ClearGLVolumeRenderer.java:508)
	at clearvolume.renderer.cleargl.ClearGLVolumeRenderer.display(ClearGLVolumeRenderer.java:490)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
	at jogamp.opengl.GLAutoDrawableBase.defaultWindowRepaintOp(GLAutoDrawableBase.java:215)
	at com.jogamp.newt.opengl.GLWindow.access$100(GLWindow.java:119)
	at com.jogamp.newt.opengl.GLWindow$2.windowRepaint(GLWindow.java:136)
	at jogamp.newt.WindowImpl.consumeWindowEvent(WindowImpl.java:4401)
	at jogamp.newt.WindowImpl.consumeEvent(WindowImpl.java:3372)
	at jogamp.newt.WindowImpl.doEvent(WindowImpl.java:3318)
	at jogamp.newt.WindowImpl.windowRepaint(WindowImpl.java:4715)
	at jogamp.newt.WindowImpl.windowRepaint(WindowImpl.java:4694)
	at com.jogamp.newt.opengl.GLWindow.windowRepaint(GLWindow.java:810)
	at com.jogamp.newt.awt.NewtCanvasAWT.paint(NewtCanvasAWT.java:732)
	at sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
	at sun.awt.RepaintArea.paint(RepaintArea.java:240)
	at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:358)
	at java.awt.Component.dispatchEventImpl(Component.java:4967)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	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:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	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)
java.lang.NullPointerException
	at clearvolume.renderer.cleargl.ClearGLVolumeRenderer.displayInternal(ClearGLVolumeRenderer.java:571)
	at clearvolume.renderer.cleargl.ClearGLVolumeRenderer.display(ClearGLVolumeRenderer.java:490)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
	at jogamp.opengl.GLAutoDrawableBase.defaultWindowRepaintOp(GLAutoDrawableBase.java:215)
	at com.jogamp.newt.opengl.GLWindow.access$100(GLWindow.java:119)
	at com.jogamp.newt.opengl.GLWindow$2.windowRepaint(GLWindow.java:136)
	at jogamp.newt.WindowImpl.consumeWindowEvent(WindowImpl.java:4401)
	at jogamp.newt.WindowImpl.consumeEvent(WindowImpl.java:3372)
	at jogamp.newt.WindowImpl.doEvent(WindowImpl.java:3318)
	at jogamp.newt.WindowImpl.windowRepaint(WindowImpl.java:4715)
	at jogamp.newt.WindowImpl.windowRepaint(WindowImpl.java:4694)
	at com.jogamp.newt.opengl.GLWindow.windowRepaint(GLWindow.java:810)
	at com.jogamp.newt.awt.NewtCanvasAWT.paint(NewtCanvasAWT.java:732)
	at sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
	at sun.awt.RepaintArea.paint(RepaintArea.java:240)
	at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:358)
	at java.awt.Component.dispatchEventImpl(Component.java:4967)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	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:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	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)
javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvH
534-5.7.14 SpZhpIBQWWNBxeEcqXHvfzVLFxDLggP1Q5YVcfE9KZ3TN4USzfvZtjMfLcPqQqmkZuWh3y
534-5.7.14 6jiIexQtJCzweLTUivAITxBjyPAJHBLgdLNJRp9RTb-1GhOs55zWNqU7H0NAEnWJYGw23k
534-5.7.14 looV0G_YiXM3VrppJaALHldCp_Od94QgA0_G5WySVB7HwvXnYE8i9IIiwIHw7xwG_2TNzl
534-5.7.14 dKC2bo6OgH2ZoemCKdCBRmRWfIKhY> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14  Learn more at
534 5.7.14  https://support.google.com/mail/answer/78754 z66sm6269009wme.34 - gsmtp

	at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)
	at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)
	at javax.mail.Service.connect(Service.java:317)
	at javax.mail.Service.connect(Service.java:176)
	at javax.mail.Service.connect(Service.java:125)
	at javax.mail.Transport.send0(Transport.java:253)
	at javax.mail.Transport.send(Transport.java:124)
	at badtrack.email.GmailClient.sendMessage(GmailClient.java:83)
	at badtrack.email.GmailBadTrackNotifier.notify(GmailBadTrackNotifier.java:65)
	at badtrack.BadTrack$1.uncaughtException(BadTrack.java:198)
	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1057)
	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1052)
	at java.lang.Thread.dispatchUncaughtException(Thread.java:1952)
com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: com.jogamp.opengl.GLException: Caught UnsatisfiedLinkError: Could not initialize native OpenCL library. Implementation library could not be loaded on thread SciJava-268df791-Thread-2-FPSAWTAnimator#00-Timer0
	at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:92)
	at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
	at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
Caused by: com.jogamp.opengl.GLException: Caught UnsatisfiedLinkError: Could not initialize native OpenCL library. Implementation library could not be loaded on thread SciJava-268df791-Thread-2-FPSAWTAnimator#00-Timer0
	at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
	at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
	... 4 more
Caused by: java.lang.UnsatisfiedLinkError: Could not initialize native OpenCL library. Implementation library could not be loaded
	at org.jocl.LibInitializer.initNativeLibrary(LibInitializer.java:74)
	at org.jocl.CL.loadNativeLibrary(CL.java:66)
	at org.jocl.CL.<clinit>(CL.java:51)
	at clearcl.backend.jocl.ClearCLBackendJOCL.<clinit>(ClearCLBackendJOCL.java:61)
	at clearcl.backend.ClearCLBackends.getBackendList(ClearCLBackends.java:30)
	at clearcl.backend.ClearCLBackends.getFunctionalBackend(ClearCLBackends.java:65)
	at clearcl.backend.ClearCLBackends.getBestBackend(ClearCLBackends.java:99)
	at clearvolume.renderer.opencl.OpenCLDevice.initCL(OpenCLDevice.java:48)
	at clearvolume.renderer.opencl.OpenCLVolumeRenderer.initVolumeRenderer(OpenCLVolumeRenderer.java:130)
	at clearvolume.renderer.cleargl.ClearGLVolumeRenderer.init(ClearGLVolumeRenderer.java:818)
	at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:644)
	at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:667)
	at jogamp.opengl.GLAutoDrawableBase$1.run(GLAutoDrawableBase.java:431)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1291)
	... 7 more


#2

Hi @biovoxxel,
i had the also problems with ClearVolume. I solved the problem by running Fiji always on the GPU. You can set this up in the NVIDIA control panel (options for programs). If your PC has an intel graphic chip your PC likely choose this for starting Fiji.

Best,
Thomas


#3

Hi @T-Zobel,

thanks for the reply. I checked this and surprisingly, ImageJ/Fiji is already always executed via the GPU without separately setting it like this. So, that seems not to be the problem. Is there any way in telling Windows or the NVIDIA graphics card to NOT run Fiji via GPU to test if this solves the problem. I didn’t find any hint how to set this for a specific software.

Thanks in advance,
Jan


#4

Hey @biovoxxel
this is how it looks on my notebook:


#5

Hi @T-Zobel,

Thanks! Looks alike but so far none of any changes in teh NVIDIA panel made ClearVolume run on that system :frowning:


#6

I am also getting the same error that @biovoxxel has.
(I have not used ClearVolume before, but I’d really like to)

The system I’m using is:
Windows 10 Enterprise
Intel Core i7-4790K CPU, 16GB RAM, 64-bit
NVIDIA GeForce GTX 960
(Fiji Is Just) ImageJ 2.0.0-rc-61/1.51n; Java 1.8.0_66 [64-bit]
Java 8 update site activated

I have also tried running adding/removing Fiji from my NVIDIA control panel with no results.


#7

Hey guys,

one of the ClearVolume developers here, sorry for the issues!

  1. That JOCL doesn’t seem to be able to locate the native OpenCL library could indicate an issue with your graphics driver or CUDA – do you have the latest versions of both of them installed? Also your Java versions look relatively old, please also try upgrading to the latest JRE version (which is 1.8 Update 141 at the moment I think).

  2. The message you see about Google authentication comes from a library we used for automatically reporting crash logs, which has stopped working. We are going to remove that soon.

Please let me know if the suggestions in 1) have worked for you!

cheers,

ulrik


#8

Thanks for the reminder on upgrades: I was blindly trusting the autoupdates on this machine.
After updating the graphics driver, I’m able to use ClearVolume, thanks!

FYI, I still get the following message, but ClearVolume is working fine

null
ClearGLWindow: GLProfile[GL4bc/GL4bc.hw]
1.0
1.0
1.0
WindowsSep 12, 2017 4:30:31 PM org.bridj.BridJ log
INFO: Library not found : atiocl64
Sep 12, 2017 4:30:31 PM org.bridj.BridJ log
INFO: Library not found : amdocl64
Sep 12, 2017 4:30:31 PM org.bridj.BridJ log
INFO: Library not found : atiocl32
Sep 12, 2017 4:30:31 PM org.bridj.BridJ log
INFO: Library not found : atiocl
Sep 12, 2017 4:30:31 PM org.bridj.BridJ log
INFO: Library not found : amdocl32
Sep 12, 2017 4:30:31 PM org.bridj.BridJ log
INFO: Library not found : amdocl
–> Using backend: ClearCLBackendJOCL


1 available OpenCL devices:

On the note of blindly trusting update sites, I guess that the Java 8 update site doesn’t regularly update?


#9

Hi @skalarproduktraum,

sorry for the late reply and thank for the pointer. Also didn’t think about CUDA and Nvidia drivers. The latter did already the job. Updated to version 385.41 (GeForce GTX 1060) for those having the same problem.
ClearVolume now runs like a charm.
Different from @ant I do not get those additional messages about the GLProfile.

Thanks again :+1:


#10

We are not actually shipping Java from that update site, @ant. While the name might suggest that, this update site only serves plugins that are compatible with and/or require Java 8. The JRE bundled with Fiji is not included in the update process as far as I know. You can force ImageJ/Fiji to use your system JRE/JDK by deleting the java/ or jre/ folder (see How do I launch ImageJ with a different version of Java for more information on the topic).