Warning "deprecated Carbon Component Manager" in OS X El Capitan

Started by Nagi, October 22, 2015, 00:07:41

Previous topic - Next topic

Nagi

Hi everybody! I hope you're doing well. This is not a bug, I'm just reporting a little warning message I'm seeing whenever I try to run my LWJGL / LibGDX games after updating to OS X El Capitan:

"WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h."

I tried with games built by other developers (games using LWJGL 2.x / LibGDX) and this message is always shown. Would this imply that all our games will stop working (sound, at least) in future versions of OS X which won't support the Carbon libraries anymore? Do you have any information on this? I don't know if it's a Java (JDK/JRE) issue or if other specific library should be updated...

I've noticed there's a bug report in OpenJDK:

https://bugs.openjdk.java.net/browse/JDK-8138754

and also that the SDL guys have been tackling this issue:

https://forums.libsdl.org/viewtopic.php?p=48857&sid=714b89c8259cd941f2933655840e4ab7.

Any ideas or comments to share? Thank you :)
IKIGames: @superikigames

spasi

This is an open OpenAL-Soft issue. I wouldn't worry, a future OpenAL-Soft build will probably fix the problem and the warning will go away.

bobjob

i had the same issue using LWJGL 2.

I decided to give LWJGL 3 a try on El Capitan ("HelloWorld") and ran into an even bigger problem where the app would not even run throwing a bunch of NSException objects (output below).

Hello LWJGL 3.0.0b build 54!
2015-10-31 19:55:31.746 java[604:16692] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1255.1/Misc.subproj/NSUndoManager.m:359
2015-10-31 19:55:31.747 java[604:16692] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.
2015-10-31 19:55:31.747 java[604:16692] (
	0   CoreFoundation                      0x00007fff9255fe32 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff8c2fa4fa objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff92564b0a +[NSException raise:format:arguments:] + 106
	3   Foundation                          0x00007fff9126ae16 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
	4   Foundation                          0x00007fff911eff31 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fff9484adca -[NSApplication run] + 844
	6   libglfw.dylib                       0x00000001286267ae initializeAppKit + 1342
	7   libglfw.dylib                       0x0000000128625ec2 _glfwPlatformCreateWindow + 34
	8   libglfw.dylib                       0x00000001286227f1 glfwCreateWindow + 513
	9   ???                                 0x000000011139e954 0x0 + 4583975252
)
2015-10-31 19:55:31.747 java[604:16692] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1255.1/Misc.subproj/NSUndoManager.m:359
2015-10-31 19:55:31.748 java[604:16692] An uncaught exception was raised
2015-10-31 19:55:31.748 java[604:16692] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.
2015-10-31 19:55:31.748 java[604:16692] (
	0   CoreFoundation                      0x00007fff9255fe32 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff8c2fa4fa objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff92564b0a +[NSException raise:format:arguments:] + 106
	3   Foundation                          0x00007fff9126ae16 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
	4   Foundation                          0x00007fff911eff31 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fff9484ae66 -[NSApplication run] + 1000
	6   libglfw.dylib                       0x00000001286267ae initializeAppKit + 1342
	7   libglfw.dylib                       0x0000000128625ec2 _glfwPlatformCreateWindow + 34
	8   libglfw.dylib                       0x00000001286227f1 glfwCreateWindow + 513
	9   ???                                 0x000000011139e954 0x0 + 4583975252
)
2015-10-31 19:55:31.748 java[604:16692] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff9255fe32 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff8c2fa4fa objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff92564b0a +[NSException raise:format:arguments:] + 106
	3   Foundation                          0x00007fff9126ae16 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
	4   Foundation                          0x00007fff911eff31 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fff9484ae66 -[NSApplication run] + 1000
	6   libglfw.dylib                       0x00000001286267ae initializeAppKit + 1342
	7   libglfw.dylib                       0x0000000128625ec2 _glfwPlatformCreateWindow + 34
	8   libglfw.dylib                       0x00000001286227f1 glfwCreateWindow + 513
	9   ???                                 0x000000011139e954 0x0 + 4583975252
)
libc++abi.dylib: terminating with uncaught exception of type NSException



My question is, will a patch be made for LWJGL '2' in order to future proof it for just a little bit longer?

kappa

Quote from: bobjob on October 31, 2015, 08:57:58
I decided to give LWJGL 3 a try on El Capitan ("HelloWorld") and ran into an even bigger problem where the app would not even throwing a bunch of NSException (output below).
Did you run with the VM argument "-XstartOnFirstThread" ? This is needed for LWJGL3 to work on mac.

bobjob

Quote from: kappa on October 31, 2015, 09:00:19
Did you run with the VM argument "-XstartOnFirstThread" ? This is needed for LWJGL3 to work on mac.

Thanks, sry Im guessing you guys get this problem a lot.
I am used to LWJGL2, it has treated me well, and I am still wondering if a patch would be made available, though I am now motivated to try and port my work over to version 3. Thanx a lot Kappa!

kappa

for LWJGL2 it should just be matter of dropping the latest openal-soft natives (which you can grab them from the nightly builds of LWJGL3) over the old natives when the problem is fixed in OpenAL-Soft. Going forward I'd recommend the move up to LWJGL3.

bobjob


spasi

Quote from: kappa on October 31, 2015, 09:00:19
Quote from: bobjob on October 31, 2015, 08:57:58
I decided to give LWJGL 3 a try on El Capitan ("HelloWorld") and ran into an even bigger problem where the app would not even throwing a bunch of NSException (output below).
Did you run with the VM argument "-XstartOnFirstThread" ? This is needed for LWJGL3 to work on mac.

As of nightly build 3.0.0b #55, a robust check has been implemented that will protect the JVM from the above crash. Improper JVM/GLFW initialization should now always result in IllegalStateException with an appropriate message.

Nagi

Update: this issue has been fixed by the OpenAL-Soft team.
IKIGames: @superikigames

spasi

Cool, thanks for the update. Our OpenAL-Soft nightly builds are currently paused to the 1.17.0 release, but I'll make sure the LWJGL 3.0 beta includes that fix (which is one commit after 1.17.0).