Please help with Mountain Lion Problem

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Please help with Mountain Lion Problem

Gene
Hello! You have helped me with an urgent problem before.  This is another one. Really need to find a resolution for several 10,000's of Mac users.  Same JOGL 2 app.  

The switch to Mountain Lion (10.8.2) has broken it badly.  The beginning of the dump is below.

The problem goes away if I _remove_ a GLCapabilities setting  

      GLProfile glp = GLProfile.get(GLProfile.GL2);
      GLCapabilities caps = new GLCapabilities(glp);
      caps.setDepthBits(24);  // COMMENTING OUT THIS LINE STOPS THE CRASH
      GLCanvas canvas = new GLCanvas(caps);

But when I do this, depth buffering drops to some low resolution (looks like 8 bits), and the output is unacceptable.

I get this crash with even a small test app, which is at the bottom of the post.

While fiddling I also tried caps.setFBO(true).  No crash, but the screen remains blank.  Nothing is drawn.

This hardware previously worked fine with both JOGL 1.1 and 2.0.  Only change is Mountain Lion:

Model Name: MacBook Pro
  Model Identifier: MacBookPro5,1
  Processor Name: Intel Core 2 Duo
  Processor Speed: 2.8 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache: 6 MB
  Memory: 4 GB
  Bus Speed: 1.07 GHz
  Boot ROM Version: MBP51.007E.B06
  SMC Version (system): 1.33f8
NVIDIA GeForce 9400M:

  Chipset Model: NVIDIA GeForce 9400M
  Type: GPU
  Bus: PCI
  VRAM (Total): 256 MB
  Vendor: NVIDIA (0x10de)
  Device ID: 0x0863
  Revision ID: 0x00b1
  ROM Revision: 3437
  gMux Version: 1.7.3

------------- Exception dump ----------------

Process:         java [12166]
Path:            /usr/bin/java
Identifier:      com.apple.javajdk16.cmd
Version:         1.0 (1.0)
Code Type:       X86-64 (Native)
Parent Process:  java [11514]
User ID:         501

PlugIn Path:       /var/folders/*/libjogl_desktop.jnilib
PlugIn Identifier: libjogl_desktop.jnilib
PlugIn Version:    ??? (0)

Date/Time:       2012-10-07 16:34:18.971 -0400
OS Version:      Mac OS X 10.8.2 (12C54)
Report Version:  10
Sleep/Wake UUID: C249365F-B1C0-48E7-8239-E8CEE4DC7445

Interval Since Last Report:          11379 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  427 sec
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      9D722369-981A-CFA7-0438-0C6F62BE4D2D

Crashed Thread:  22  Java: AWT-EventQueue-0

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSViewAWT CGLPBufferObj]: unrecognized selector sent to instance 0x7fe71949f5c0'
terminate called throwing an exception
abort() called

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff8511b0a6 __exceptionPreprocess + 198
1   libobjc.A.dylib                     0x00007fff894033f0 objc_exception_throw + 43
2   CoreFoundation                      0x00007fff851b16ea -[NSObject(NSObject) doesNotRecognizeSelector:] + 186
3   CoreFoundation                      0x00007fff851095ce ___forwarding___ + 414
4   CoreFoundation                      0x00007fff851093b8 _CF_forwarding_prep_0 + 232
5   AppKit                              0x00007fff8ddf85be -[NSOpenGLContext setPixelBuffer:cubeMapFace:mipMapLevel:currentVirtualScreen:] + 59
6   libjogl_desktop.jnilib              0x000000010d3348cb setContextPBuffer + 203
7   libjogl_desktop.jnilib              0x000000010d39828b Java_jogamp_opengl_macosx_cgl_CGL_setContextPBuffer__JJ + 43
8   ???                                 0x0000000101e84eee 0x0 + 4326969070
9   ???                                 0x0000000101e7985a 0x0 + 4326922330
10  ???                                 0x0000000101e79e03 0x0 + 4326923779
11  ???                                 0x0000000101e79929 0x0 + 4326922537


package wpbd;

import com.jogamp.opengl.util.FPSAnimator;
import java.awt.*;
import java.awt.event.*;
import javax.media.opengl.*;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.*;

public class Test extends JFrame implements GLEventListener {
   private CardLayout cards;
   private static final String LABEL = "label";
   private static final String CANVAS = "canvas";
   private String selected = LABEL;

   public Test() {
      GLProfile glp = GLProfile.get(GLProfile.GL2);
      GLCapabilities caps = new GLCapabilities(glp);
      caps.setDepthBits(24);
      GLCanvas canvas = new GLCanvas(caps);
      canvas.setPreferredSize(new Dimension(640, 480));
      canvas.addGLEventListener(this);
      final FPSAnimator animator = new FPSAnimator(canvas, 60);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            new Thread() {
               public void run() {
                  animator.stop();
                  System.exit(0);
               }
            }.start();
         }
      });
      JButton button = new JButton("Switch Cards");
      add(button, BorderLayout.NORTH);
      final JPanel cardHolder = new JPanel();
      cards = new CardLayout();
      cardHolder.setLayout(cards);
      cardHolder.add(new JLabel("A label to cover the canvas"), LABEL);
      cardHolder.add(canvas, CANVAS);
      add(cardHolder, BorderLayout.CENTER);
      animator.start();
      animator.pause();
      button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (selected.equals(LABEL)) {
                    animator.resume();
                    cards.show(cardHolder, CANVAS);
                    selected = CANVAS;
                }
                else {
                    animator.pause();
                    cards.show(cardHolder, LABEL);
                    selected = LABEL;
                }
            }
        });
      pack();
      setTitle("OpenGL 2 Test");
      setVisible(true);
   }

   public static void main(String[] args) {
      new Test();
   }

   public void init(GLAutoDrawable drawable) {
     GL2 gl = drawable.getGL().getGL2();
     gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
   }

   float spin = 0;

   public void display(GLAutoDrawable drawable) {
     GL2 gl = drawable.getGL().getGL2();
     gl.glClear(GL2.GL_COLOR_BUFFER_BIT);
     gl.glPushMatrix();
     gl.glRotatef(spin, 0.0f, 0.0f, 1.0f);
     gl.glColor3f(1.0f, 1.0f, 1.0f);
     gl.glRectf(-25.0f, -25.0f, 25.0f, 25.0f);
     gl.glPopMatrix();
     gl.glFlush();
     spin += 1;
     while (spin > 360) spin -= 360;
   }

   public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) {
     GL2 gl = drawable.getGL().getGL2();
     gl.glViewport(0, 0, w, h);
     gl.glMatrixMode(GL2.GL_PROJECTION);
     gl.glLoadIdentity();
     if (w <= h) gl.glOrtho(-50.0, 50.0,
         -50.0 * (float) h / (float) w,
         50.0 * (float) h / (float) w,
         -1.0, 1.0);
     else gl.glOrtho(-50.0 * (float) w / (float) h,
         50.0 * (float) w / (float) h, -50.0, 50.0,
         -1.0, 1.0);
     gl.glMatrixMode(GL2.GL_MODELVIEW);
     gl.glLoadIdentity();
   }

   public void dispose(GLAutoDrawable drawable) { }
}
Reply | Threaded
Open this post in threaded view
|

Re: Please help with Mountain Lion Problem

Sven Gothel
Administrator
On 10/07/2012 11:00 PM, Gene [via jogamp] wrote:
> Hello! You have helped me with an urgent problem before.  This is another one.
> Really need to find a resolution for several 10,000's of Mac users.  Same JOGL
> 2 app.  

Please do create a bug report in our bugzilla DB:
  - paste your description

  - attach your Java test case, which may reproduce it

  - attach the log file with all debug flags attached
    (use redirection .. "test.sh 2>&1 | tee bugxxx.log"

  - attach you other log files / crash logs .. etc

Then we discuss it there .. thank you.

~Sven



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Please help with Mountain Lion Problem

Sven Gothel
Administrator
In reply to this post by Gene
On 10/08/2012 12:59 AM, Sven Gothel wrote:
> On 10/07/2012 11:00 PM, Gene [via jogamp] wrote:
>> Hello! You have helped me with an urgent problem before.  This is another one.
>> Really need to find a resolution for several 10,000's of Mac users.  Same JOGL
>> 2 app.  
>
> Please do create a bug report in our bugzilla DB:
>   - paste your description
>
>   - attach your Java test case, which may reproduce it
If possible, use the most simple unit test case,
i.e. copy an existing one and modify it - so it crashed for you!
This is very important, so we don't see unwanted information in the log file.
Note: I don't use 10.6.8 here.

>
>   - attach the log file with all debug flags attached
>     (use redirection .. "test.sh 2>&1 | tee bugxxx.log"
ofc w/ the above minimum unit test

>
>   - attach you other log files / crash logs .. etc
>
> Then we discuss it there .. thank you.
>
> ~Sven
>



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Please help with Mountain Lion Problem

Gene
Just to close this out for others, it turned out that RC10 is known not to work with Mountaion Lion.  The most recent archive/master does, however.