Bug 492

Summary: New TextRenderer on Win7-64bit-NV-QuadroFX5800 Java-32bit - FBObject produces GL_OUT_OF_MEMORY
Product: [JogAmp] Jogl Reporter: ozemale
Component: graphAssignee: Sven Gothel <sgothel>
Status: VERIFIED FIXED    
Severity: critical CC: rami.santina, sgothel
Priority: ---    
Version: 2   
Hardware: pc_x86_64   
OS: windows   
Type: --- SCM Refs:
360b86f4b5d0e440863c1749fe990e39fbabc51c 727ad54808664e3028fee64cfca98dd9f0bcfbf6
Workaround: ---
Attachments: Output log
Output log with debug
Output log without debug
Output log on laptop

Description ozemale 2011-04-09 04:27:49 CEST
Created attachment 245 [details]
Output log

The new text renderer added in the latest JOGL release shows great potential but at this stage is unusable on this machine. I have run the GPUTextNewtDemo02 and the log is attached.  It takes several seconds for anything to appear and then any changes (zooms etc.) each take several seconds to rerender.  After about 20 seconds the program stops responding to any keyboard actions and clears the screen.

The quality of rendering appears good but I need to see what it looks like for tiny fonts and the program doesn't respond long enough for me to be able to zoom out enough.

OS: Windows 7 Ultimate x64
Java: 1.0.6u24
GPU: NVIDIA Quadro FX5800
Comment 1 ozemale 2011-04-09 10:29:28 CEST
That's Java 1.6.0u24 of course!
Comment 2 Sven Gothel 2011-04-09 12:05:00 CEST
The title 'New text renderer unusable' is not accurate nor helpful, sorry.
Changed it using the information you were given.

You claim you were running our (?) 'GPUTextNewtDemo02',
but I read the following in the log files:
  'bembrick.demos.GPUTextRendererListenerBase01' 
.. we don't have such a package/class.

(Well, the log file itself is well done and could be helpful)

Before testing your own stuff and issue bug reports, pls verify if the provided tests work.
If one or more fail, please attach such well produced log files with the proper name of the test case.
In such situation, we only need to deal with our given code.

If the tests are working, but your demo/test does not, we do need much more information.
You would need to disclose the test source code under our license 
besides the mandatory log files.

So your machine is:

OS: Windows 7 Ultimate x64
GPU: NVIDIA Quadro FX5800
Java: 6u24 32bit (!)

Since you use a personal build, pls provide the git sha1 number,
so we know the exact sources we are talking about.

The NV driver version could be helpful as well, since I cannot read this out of the log files.

Sorry for 'nagging' but w/o following the above (at least partially) I am afraid this report is 'useless'.
(Indeed, such wording could be taken a bit offensive)

Pls clarify your report and change the state back to CONFIRMED for review - thank you.
Comment 3 Sven Gothel 2011-04-09 12:17:51 CEST
Ok, I changed the workflow a bit, so we can leave it on UNCONFIRMED
until _we_ are able to confirm it.
Comment 4 ozemale 2011-04-09 14:53:00 CEST
Created attachment 246 [details]
Output log with debug

The original file was too large to attach so I snipped out some of the content from the middle to show the first part and the part where the exception occurs.
Comment 5 ozemale 2011-04-09 14:54:23 CEST
Created attachment 247 [details]
Output log without debug
Comment 6 ozemale 2011-04-09 14:57:53 CEST
My apologies for the lame bug report any offence.

I have downloaded and built the latest JOGL source and am now running the demo in situ with slightly different results.  It now runs, displays the text quite quickly, responds to a few zoom requests quickly and then dies completely.

I have attached 2 log files, the first is the output with debug enabled and the second without because it shows a different exception.  Twice when I ran the demo it crashed the JVM as well.

The NV driver version is 267.17.

I hope this is more helpful for you.
Comment 7 Sven Gothel 2011-04-11 03:26:09 CEST
Thank you for your updates.

+++

"Since you use a personal build, pls provide the git sha1 number,
so we know the exact sources we are talking about."

Please add this information, otherwise I can't tell which software you are using,
since 'latest' does not allow us to pinpoint the source code.

+++

After all it looks like you can run the code if not using FBO's (demos 02).
FBO demos 02 fail after a while, ie running out of GL memory ..

+++

glIsFramebuffer(<int> 0x4D) = true
glBindTexture(<int> 0xDE1, <int> 0x4D)
glTexImage2D(<int> 0xDE1, <int> 0x0, <int> 0x8058, <int> 0x960, <int> 0x293, <int> 0x0, <int> 0x80E1, <int> 0x8367, <java.nio.Buffer> null)Animator stop Thread[main-AWTAnimator-1,5,main]: [started true, animating true, paused false, frames 83, drawable 1]
Exception in thread "main-AWTAnimator-1" javax.media.opengl.GLException: Thread[main-AWTAnimator-1,5,main] glGetError() returned the following error codes after a call to glTexImage2D(<int> 0xDE1, <int> 0x0, <int> 0x8058, <int> 0x960, <int> 0x293, <int> 0x0, <int> 0x80E1, <int> 0x8367, <java.nio.Buffer>): GL_OUT_OF_MEMORY ( 1285 0x505), 
	at javax.media.opengl.DebugGL4bc.checkGLGetError(DebugGL4bc.java:33961)
	at javax.media.opengl.DebugGL4bc.glTexImage2D(DebugGL4bc.java:8687)
	at javax.media.opengl.TraceGL4bc.glTexImage2D(TraceGL4bc.java:4416)
	at com.jogamp.opengl.util.FBObject.init(FBObject.java:208)
	at com.jogamp.opengl.util.FBObject.init(FBObject.java:154)

+++

Sounds familiar with other bug reports we have (forum only) 
related to FBObject (GL_OUT_OF_MEMORY).

Searching this issue .. reveals that indeed the vram runs out on these platforms (Win, NV driver ..).

http://www.java-gaming.org/index.php/topic,22485.msg186124.html#msg186124
+++
i found what the app disturbed.
-the nvidia desktop manager software eats all vram!
(after deaktivating this program all works fine again
(i use 2 screen ,and got no need of any extra screen manager... must be activated in any way)
+++

If you have such a 'feature' enabled, try to disable it.
Comment 8 Sven Gothel 2011-04-11 04:47:32 CEST
see also bug 495 and maybe check if duplicate or if we just allocate too much vram while not releasing it.
Comment 9 ozemale 2011-04-11 06:26:19 CEST
+++

"Since you use a personal build, pls provide the git sha1 number,
so we know the exact sources we are talking about."

Please add this information, otherwise I can't tell which software you are
using,
since 'latest' does not allow us to pinpoint the source code.

+++

Not being a Git afficiando, where do I locate this number?

I am not sure this is a duplicate of bug #495 as I am not running the NV Desktop Manager.

Also, although it's hard to tell with the little time I get to use the demo, it does appear that the performance is much, much slower and the rendering quality poorer than in the video demo I saw online (http://vimeo.com/21810192).
Comment 10 ozemale 2011-04-11 17:46:42 CEST
I have just upgraded to NVIDIA driver version 270.51 and the problem still remains.
Comment 11 ozemale 2011-04-16 06:05:36 CEST
Created attachment 250 [details]
Output log on laptop

Portions from the middle of the log have been snipped to reduce the size.
Comment 12 ozemale 2011-04-16 06:09:34 CEST
I have now tried the same code on another machine, a laptop with an NVIDIA Quadro FX3600M GPU and also running Windows 7 x64.

The results are better but still problematic.  The demo now runs, performs well and hangs around for about a minute before dying.  The output log is attached and there is no out of memory error this time.

This technology shows great potential (especially on this other machine) and I am very keen to have it at a point where I can actually use it in my project and put it through its paces.  I hope these reports are helpful in getting this to happen.
Comment 13 Rami Santina 2011-04-16 12:01:19 CEST
Was able to reproduce it on Windows (x64, NV Quadro2700M), with changes on graph branch (graph api development sandbox) only! Are you seeing this slow down/crash from changes on the master branch as well?
Comment 14 ozemale 2011-04-16 12:46:17 CEST
I am not sure what you mean Rami, all I did was to clone Sven's Git repository.  Do you want me to try something else?
Comment 15 ozemale 2011-04-25 10:21:45 CEST
As an additional note, it may well be that the out-of-memory error is erroneous in itself.  I have a utility which monitors GPU memory utilisation and it only reports about 200MB being used before the demo crashes.  Given that it's a 4GB graphics card, this represents only a small fraction of available GPU memory.
Comment 16 Rami Santina 2011-05-03 10:39:47 CEST
Verified fixed by commits :
360b86f4b5d0e440863c1749fe990e39fbabc51c
727ad54808664e3028fee64cfca98dd9f0bcfbf6