Bug 486

Summary: UnsatisfiedLinkError on CGL.getCurrentContext() in Eclipse RCP app on Mac OS X
Product: [JogAmp] Jogl Reporter: Wade Walker <wwalker3>
Component: macosxAssignee: Wade Walker <wwalker3>
Status: VERIFIED INVALID    
Severity: normal    
Priority: ---    
Version: 2   
Hardware: pc_x86_64   
OS: all   
Type: --- SCM Refs:
Workaround: ---

Description Wade Walker 2011-03-24 03:04:44 CET
The call to CGL.getCurrentContext() inside createExternalGLContext() gives an UnsatisfiedLinkError on Mac OS X 10.6.7, nvidia GeForce 320M, Java 1.6.0_24. It works fine in a standalone SWT app, but freezes in an Eclipse RCP app.

This is after putting in -Djava.awt.headless=true (or removing initSingleton()) to get the test past the freeze in bug 485.

Daemon Thread [Thread-1] (Suspended (exception UnsatisfiedLinkError))	
	CGL.getCurrentContext() line: not available [native method]	
	MacOSXExternalCGLContext.create(GLDrawableFactory, GLProfile) line: 66	
	MacOSXAWTCGLDrawableFactory(MacOSXCGLDrawableFactory).createExternalGLContextImpl() line: 169	
	MacOSXAWTCGLDrawableFactory(GLDrawableFactoryImpl).createExternalGLContext() line: 282	
	JOGLEditor.createPartControl(Composite) line: 264	
	EditorReference.createPartHelper() line: 670	
	EditorReference.createPart() line: 465	
	EditorReference(WorkbenchPartReference).getPart(boolean) line: 595	
	EditorPane(PartPane).setVisible(boolean) line: 313	
	PresentablePart.setVisible(boolean) line: 180	
	PresentablePartFolder.select(IPresentablePart) line: 270	
	LeftToRightTabOrder.select(IPresentablePart) line: 65	
	TabbedStackPresentation.selectPart(IPresentablePart) line: 473	
	EditorStack(PartStack).refreshPresentationSelection() line: 1254	
	EditorStack(PartStack).setSelection(LayoutPart) line: 1207	
	EditorStack(PartStack).showPart(LayoutPart, Object) line: 1606	
	EditorStack(PartStack).add(LayoutPart, Object) line: 497	
	EditorStack.add(LayoutPart, Object) line: 103	
	EditorStack(PartStack).add(LayoutPart) line: 483	
	EditorStack.add(LayoutPart) line: 112	
	EditorSashContainer.addEditor(EditorPane, EditorStack) line: 63	
	EditorAreaHelper.addToLayout(EditorPane, EditorStack) line: 225	
	EditorAreaHelper.addEditor(EditorReference, String, boolean) line: 213	
	EditorManager.createEditorTab(EditorReference, String) line: 778	
	EditorManager.openEditorFromDescriptor(EditorDescriptor, IEditorInput, IMemento) line: 677	
	EditorManager.openEditor(String, IEditorInput, boolean, IMemento) line: 638	
	WorkbenchPage.busyOpenEditorBatched(IEditorInput, String, boolean, int, IMemento) line: 2860	
	WorkbenchPage.busyOpenEditor(IEditorInput, String, boolean, int, IMemento) line: 2768	
	WorkbenchPage.access$11(WorkbenchPage, IEditorInput, String, boolean, int, IMemento) line: 2760	
	WorkbenchPage$10.run() line: 2711	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int, IMemento) line: 2707	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int) line: 2691	
	WorkbenchPage.openEditor(IEditorInput, String) line: 2674	
	ApplicationWorkbenchWindowAdvisor.postWindowOpen() line: 53	
	WorkbenchWindow.fireWindowOpened() line: 1338	
	WorkbenchWindow.open() line: 798	
	Workbench$24.runWithException() line: 1235	
	Workbench$24(StartupThreading$StartupRunnable).run() line: 31	
	RunnableLock.run() line: 35	
	UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 134	
	Display.runAsyncMessages(boolean) line: 3593	
	Display.readAndDispatch() line: 3286	
	ApplicationWorkbenchAdvisor(WorkbenchAdvisor).openWindows() line: 803	
	Workbench$31.runWithException() line: 1567	
	Workbench$31(StartupThreading$StartupRunnable).run() line: 31	
	RunnableLock.run() line: 35	
	UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 134	
	Display.runAsyncMessages(boolean) line: 3593	
	Display.readAndDispatch() line: 3286	
	Workbench.runUI() line: 2548	
	Workbench.access$4(Workbench) line: 2438	
	Workbench$7.run() line: 671	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 664	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	Application.start(IApplicationContext) line: 20	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 369	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	Main.invokeFramework(String[], URL[]) line: 620	
	Main.basicRun(String[]) line: 575	
	Main.run(String[]) line: 1408	
	Main.main(String[]) line: 1384
Comment 1 Wade Walker 2011-03-25 03:01:07 CET
Turns out this is not a JOGL bug -- this is what happens when I forget to update my JAR to match my .jnilib when a class has changed its package name.