No autorelease pool with JOGL

2019-04-28 12:01发布

问题:

I tried to add JOGL to my project, and after a long time searching the web I found the solution. I added the jars to my buildpath and Eclipse recognizes them.
I wanted to test it, so took the code from here: https://sites.google.com/site/justinscsstuff/jogl-tutorial-2 and compiled.
The AWT-way gives me this result:

2012-06-03 18:20:44.623 java[1481:903] [Java CocoaComponent compatibility mode]: Enabled
2012-06-03 18:20:44.626 java[1481:903] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
2012-06-03 18:20:46.253 java[1481:903] *** __NSAutoreleaseNoPool(): Object 0x102034900 of class NSConcreteMapTableValueEnumerator autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.259 java[1481:903] *** __NSAutoreleaseNoPool(): Object 0x10209e3f0 of class __NSCFDate autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.259 java[1481:903] *** __NSAutoreleaseNoPool(): Object 0x10209cbd0 of class NSCFTimer autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.301 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x10015e990 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.301 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x100121720 of class NSConcreteValue autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.302 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x10011c2f0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.302 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x1001ba750 of class NSConcreteValue autoreleased with no pool in place - just leaking
2012-06-03 18:20:46.302 java[1481:d703] *** __NSAutoreleaseNoPool(): Object 0x100157e70 of class NSCFDictionary autoreleased with no pool in place - just leaking

I can't find others with the same problem. I did find others with the same error, but not with the same cause.
The NEWT-way gives me a white square, which 'doesn't respond' and I have to force-stop it (Apple-key + alt + esc).
My cursor changes into a waiting-cursor. Although it's nice designed I'd rather get rid of it.
How should I solve this? I'm using Eclipse on a Mac. OS 10.6.8.

EDIT:

Thanks to Clint the first two lines are gone, but it's still leaking...

EDIT 2:

Solved it!

回答1:

If you have swt.jar in your classpath and are not using it, you should remove it.



回答2:

I got rid of the errors, it was pretty stupid, after all. I found the solution a few days ago already: setting -Djava.awt.headless=true with the java terminal command. But, I did not know how to do this in Eclipse, so I tried putting it into Program Arguments, which is, I now realize, quite stupid. Putting it into JVM Arguments helped and solved the problem, I am now encountering the next. I hope this helps other people having the same problem.