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 (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 (https://forums.libsdl.org/viewtopic.php?p=48857&sid=714b89c8259cd941f2933655840e4ab7).
Any ideas or comments to share? Thank you :)
This is an open OpenAL-Soft issue (https://github.com/kcat/openal-soft/issues/20). I wouldn't worry, a future OpenAL-Soft build will probably fix the problem and the warning will go away.
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?
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.
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!
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.
Quote from: kappa on October 31, 2015, 09:10:00
Going forward I'd recommend the move up to LWJGL3.
Will do. Thanks again.
Quote from: kappa on October 31, 2015, 09:00:19Quote 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 (https://github.com/LWJGL/lwjgl3/commit/456b0610dedab1213d7dfded4135719186e21161) 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.
Update: this issue has been fixed by the OpenAL-Soft team.
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).