Crash on Mac OS X (jogl 2.1)

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

Crash on Mac OS X (jogl 2.1)

atchijov
Hello,

  I wonder if anybody can point me in the right direction. We have an app with number of tabs. One of these tabs holds Canvas3D. When you open this tab for the first time, all works great. However, if you navigate somewhere else and than try to open this tab again, the whole app hard crash.  (full crash report at https://dl.dropboxusercontent.com/u/24418451/ATP/jogl-crash-report.txt )

  The Canvas3D gets created once at the launch of the app.  The only thing which gets created/destroyed when you switch between tabs is universe (SimpleUniverse).

  Rumors have it  that the app was working just fine with very old version of JOGL (not sure which one, the one which came with native libraries, I think it was pre 2.0).

Your help will be highly appreciated.

Cheers,
  Andrei
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

hharrison
Could you confirm what version of OSX and what version of Java3d you are using.

I'm afraid I don;t see anything obvious in the crash report you've linked to, any other debug info?

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

atchijov
Mac OS X 10.8.5

j3dcore.jar MANIFEST.MF

  Manifest-Version: 1.0
  Ant-Version: Apache Ant 1.8.4
  Created-By: 1.7.0_25-mockbuild_2013_06_27_09_53-b00 (Oracle Corporatio
 n)
  Specification-Title: 3D Graphics API for the Java Platform
  Specification-Version: 1.6
  Specification-Vendor:
  Implementation-Title: 3D Graphics API for the Java Platform
  Implementation-Version: 1.6.0
  Implementation-Vendor:
  Extension-Name: javax.media.j3d
  Implementation-Vendor-Id:

java -version
  java version "1.7.0_25"
  Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
  Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)


Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

atchijov
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

gouessej
Administrator
In reply to this post by atchijov
atchijov wrote
  Rumors have it  that the app was working just fine with very old version of JOGL (not sure which one, the one which came with native libraries, I think it was pre 2.0).
This is probably wrong as Java3D 1.5.2 doesn't support Mac OS X 10.8, it doesn't even support Mac OS X 10.7.

Please can you provide a small test case and write a bug report? It would allow to check if you don't make something obviously wrong for example and it would allow us to reproduce your bug. I see no obvious reason why looking at a Canvas3D in a tab a second time would cause a crash, maybe the OpenGL context gets destroyed when the tab isn't visible anymore.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

nick.collier
In reply to this post by atchijov
We had all kinds of issues java3D 1.6.0 on OSX. They were fixed  by replacing Canvas3D with its lightweight counterpart, JCanvas3D.

Nick
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

hharrison
Although, I'd be particularly appreciative if you could occasionally test your application with Canvas3D and let me know every so often if the problems persist (or if the symptoms have changed).

Harvey

Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

atchijov
In reply to this post by gouessej
I will try to isolate this issue into small test case, but I would not be able to do it until first week of Nov.

Meanwhile, I wonder if this could be an issue:

  In the app, Canvas3D object gets created once (at the app startup). Only Universe gets re-created each time we visit the tab with Canvas3D.  Is it "legal" way to deal with Canvas3D? (Our app is using Canvas3D in other place and we do not have any issues there. but in that place the Canvas3D is getting recreated each time we need to display it).

  Sorry if I am asking silly questions.  I don't have much experience with OpenGL/JOGL.

Cheers,
  Andrei
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

atchijov
In reply to this post by gouessej
gouessej wrote
This is probably wrong as Java3D 1.5.2 doesn't support Mac OS X 10.8, it doesn't even support Mac OS X 10.7.
Is there another version of Java3D? The one which does support Mac OS X 10.8?

Also, beside this issue, it seems that everything works fairly well.

Cheers,
  Andrei

Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

gouessej
Administrator
Hi

atchijov wrote
I will try to isolate this issue into small test case, but I would not be able to do it until first week of Nov.

Meanwhile, I wonder if this could be an issue:

  In the app, Canvas3D object gets created once (at the app startup). Only Universe gets re-created each time we visit the tab with Canvas3D.  Is it "legal" way to deal with Canvas3D? (Our app is using Canvas3D in other place and we do not have any issues there. but in that place the Canvas3D is getting recreated each time we need to display it).

  Sorry if I am asking silly questions.  I don't have much experience with OpenGL/JOGL.

Cheers,
  Andrei
There is no silly question, we're here to help you. When the canvas becomes invisible, maybe the OpenGL context gets destroyed, this is only a supposition.

atchijov wrote
Is there another version of Java3D? The one which does support Mac OS X 10.8?
Java3D 1.5.2 has been abandoned by Sun/Oracle. You're currently using Java3D 1.6 pre8 which is maintained by the JogAmp community and only this one supports Mac OS X 10.8. I'm aware of the remaining problems with Canvas3D but replacing it by JCanvas3D is just a workaround, it isn't a real solution except in cases which absolutely require a Java3D Swing canvas.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

atchijov
gouessej wrote
… maybe the OpenGL context gets destroyed, this is only a supposition …
I wonder if this could be result of ARC on Mac OS X (assuming ARC is used)?  It seems that this problem is very much Mac OS X specific.

I will change our code, so Canvas3D gets re-created (in the same faction as it happening somewhere else in the app). Hopefully it will help. Will report results.

Cheers,
  Andrei
Reply | Threaded
Open this post in threaded view
|

Re: Crash on Mac OS X (jogl 2.1)

gouessej
Administrator
It is probably Mac specific. I usually pause the animator when a canvas isn't visible. I don't know whether it has anything to do with automatic reference counting.
Julien Gouesse | Personal blog | Website