WATERMeDIA: Multimedia API

WATERMeDIA: Multimedia API

551k Downloads

Loading VLC with the wrong architecture on macOS causes a crash

SammyForReal opened this issue ยท 4 comments

commented

I stumbled upon this weird edge case on macOS.

Description

I noticed that this would cause an crash whenever it tries to load a found VLC.app with the wrong architecture (e.g. expected arm64, found x86x64).

Turns out you can use the Intel version of VLC using Apple's Rosetta, tho it does not properly load within Java (? I'm not sure how this part exactly works, my apologies), causing this crash.

Hotfix

A hotfix for this is to either uninstall VLC or install the proper version for the system. I also found issue #29 which seems to be related to this, tho the crash still has not been fixed, hence why I am opening this issue.

Environment for Reproduction

This issue has been found within an Mac OS X (aarch64) and with the VLC intel64 version installed (which is the default option on their website for some goddamn reason).

Logs

Here is the related crash report.

[14:10:52] [Render thread/INFO]: Searching on '/Applications/VLC.app/Contents/MacOS/lib'
---- Minecraft Crash Report ----
// This doesn't make any sense!

Time: 2024-07-06 14:10:52
Description: Initializing game

java.lang.RuntimeException: Could not execute entrypoint stage 'client' due to errors, provided by 'watermedia'!
	at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:388)
	at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
	at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:386)
	at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:53)
	at net.minecraft.client.MinecraftClient.<init>(MinecraftClient.java:477)
	at net.minecraft.client.main.Main.main(Main.java:239)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'vlccore':
dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib, 0x0009): tried: '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib, 0x0009): tried: '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
dlopen(/Users/********/Library/Frameworks/vlccore.framework/vlccore, 0x0009): tried: '/Users/********/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/b0undary/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/Users/********/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file, not in dyld cache)
dlopen(/Library/Frameworks/vlccore.framework/vlccore, 0x0009): tried: '/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file, not in dyld cache)
dlopen(/System/Library/Frameworks/vlccore.framework/vlccore, 0x0009): tried: '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file, not in dyld cache)
Native library (darwin-aarch64/libvlccore.dylib) not found in resource path (/Applications/Prism Launcher.app/Contents/MacOS/jars/NewLaunch.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-freetype-natives-macos-arm64/3.3.3/lwjgl-freetype-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-glfw-natives-macos-arm64/3.3.3/lwjgl-glfw-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-jemalloc-natives-macos-arm64/3.3.3/lwjgl-jemalloc-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-natives-macos-arm64/3.3.3/lwjgl-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-openal-natives-macos-arm64/3.3.3/lwjgl-openal-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-opengl-natives-macos-arm64/3.3.3/lwjgl-opengl-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-stb-natives-macos-arm64/3.3.3/lwjgl-stb-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-tinyfd-natives-macos-arm64/3.3.3/lwjgl-tinyfd-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/github/oshi/oshi-core/6.4.10/oshi-core-6.4.10.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/authlib/6.0.54/authlib-6.0.54.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/datafixerupper/8.0.16/datafixerupper-8.0.16.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/logging/1.2.7/logging-1.2.7.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/commons-io/commons-io/2.15.1/commons-io-2.15.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/java/dev/jna/jna-platform/5.14.0/jna-platform-5.14.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/commons/commons-compress/1.26.0/commons-compress-1.26.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/logging/log4j/log4j-api/2.22.1/log4j-api-2.22.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/logging/log4j/log4j-core/2.22.1/log4j-core-2.22.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.22.1/log4j-slf4j2-impl-2.22.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/jcraft/jorbis/0.0.17/jorbis-0.0.17.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/fabricmc/intermediary/1.21/intermediary-1.21.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm/9.6/asm-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-analysis/9.6/asm-analysis-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-commons/9.6/asm-commons-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-tree/9.6/asm-tree-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-util/9.6/asm-util-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/fabricmc/sponge-mixin/0.13.3 mixin.0.8.5/sponge-mixin-0.13.3 mixin.0.8.5.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/fabricmc/fabric-loader/0.15.11/fabric-loader-0.15.11.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/minecraft/1.21/minecraft-1.21-client.jar)
	at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:325)
	at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:481)
	at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:423)
	at me.lib720.caprica.vlcj.discovery.strategy.OsxNativeDiscoveryStrategy.forceLoadLibVlcCore(OsxNativeDiscoveryStrategy.java:68)
	at me.lib720.caprica.vlcj.discovery.strategy.OsxNativeDiscoveryStrategy.onFound(OsxNativeDiscoveryStrategy.java:56)
	at me.lib720.caprica.vlcj.discovery.NativeDiscovery.discover(NativeDiscovery.java:121)
	at me.srrapero720.watermedia.api.player.PlayerAPI.registerFactory(PlayerAPI.java:77)
	at me.srrapero720.watermedia.api.player.PlayerAPI.start(PlayerAPI.java:199)
	at me.srrapero720.watermedia.WaterMedia.start(WaterMedia.java:72)
	at me.srrapero720.watermedia.loaders.FavricLoader.onInitializeClient(FavricLoader.java:26)
	at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384)
	... 9 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib, 0x0009): tried: '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
		at com.sun.jna.Native.open(Native Method)
		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:213)
		... 19 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib, 0x0009): tried: '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (no such file), '/Applications/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
		at com.sun.jna.Native.open(Native Method)
		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:226)
		... 19 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Users/********/Library/Frameworks/vlccore.framework/vlccore, 0x0009): tried: '/Users/********/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/b0undary/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/Users/********/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file, not in dyld cache)
		at com.sun.jna.Native.open(Native Method)
		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:270)
		... 19 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Library/Frameworks/vlccore.framework/vlccore, 0x0009): tried: '/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file, not in dyld cache)
		at com.sun.jna.Native.open(Native Method)
		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:270)
		... 19 more
	Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/System/Library/Frameworks/vlccore.framework/vlccore, 0x0009): tried: '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/Library/Frameworks/vlccore.framework/vlccore' (no such file), '/System/Library/Frameworks/vlccore.framework/vlccore' (no such file, not in dyld cache)
		at com.sun.jna.Native.open(Native Method)
		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:270)
		... 19 more
	Suppressed: java.io.IOException: Native library (darwin-aarch64/libvlccore.dylib) not found in resource path (/Applications/Prism Launcher.app/Contents/MacOS/jars/NewLaunch.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-freetype-natives-macos-arm64/3.3.3/lwjgl-freetype-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-glfw-natives-macos-arm64/3.3.3/lwjgl-glfw-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-jemalloc-natives-macos-arm64/3.3.3/lwjgl-jemalloc-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-natives-macos-arm64/3.3.3/lwjgl-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-openal-natives-macos-arm64/3.3.3/lwjgl-openal-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-opengl-natives-macos-arm64/3.3.3/lwjgl-opengl-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-stb-natives-macos-arm64/3.3.3/lwjgl-stb-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-tinyfd-natives-macos-arm64/3.3.3/lwjgl-tinyfd-natives-macos-arm64-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/github/oshi/oshi-core/6.4.10/oshi-core-6.4.10.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/authlib/6.0.54/authlib-6.0.54.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/datafixerupper/8.0.16/datafixerupper-8.0.16.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/logging/1.2.7/logging-1.2.7.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/commons-io/commons-io/2.15.1/commons-io-2.15.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/java/dev/jna/jna-platform/5.14.0/jna-platform-5.14.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/commons/commons-compress/1.26.0/commons-compress-1.26.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/logging/log4j/log4j-api/2.22.1/log4j-api-2.22.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/logging/log4j/log4j-core/2.22.1/log4j-core-2.22.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.22.1/log4j-slf4j2-impl-2.22.1.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/jcraft/jorbis/0.0.17/jorbis-0.0.17.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/fabricmc/intermediary/1.21/intermediary-1.21.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm/9.6/asm-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-analysis/9.6/asm-analysis-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-commons/9.6/asm-commons-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-tree/9.6/asm-tree-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/org/ow2/asm/asm-util/9.6/asm-util-9.6.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/fabricmc/sponge-mixin/0.13.3 mixin.0.8.5/sponge-mixin-0.13.3 mixin.0.8.5.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/net/fabricmc/fabric-loader/0.15.11/fabric-loader-0.15.11.jar:/Users/********/Library/Application Support/PrismLauncher/libraries/com/mojang/minecraft/1.21/minecraft-1.21-client.jar)
		at com.sun.jna.Native.extractFromResourcePath(Native.java:1141)
		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:297)
		... 19 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:388)
	at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
	at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:386)
	at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:53)
	at net.minecraft.client.MinecraftClient.<init>(MinecraftClient.java:477)

-- Initialization --
Details:
	Modules: 
Stacktrace:
	at net.minecraft.client.main.Main.main(Main.java:239)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- System Details --
Details:
	Minecraft Version: 1.21
	Minecraft Version ID: 1.21
	Operating System: Mac OS X (aarch64) version 14.3
	Java Version: 21.0.2, Eclipse Adoptium
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Eclipse Adoptium
	Memory: 532451008 bytes (507 MiB) / 1082130432 bytes (1032 MiB) up to 8589934592 bytes (8192 MiB)
	CPUs: 10
	Processor Vendor: Apple Inc.
	Processor Name: Apple M1 Pro
	Identifier: Apple Inc. Family 0x1b588bb3 Model 0 Stepping 0
	Microarchitecture: ARM64 SoC: Firestorm   Icestorm
	Frequency (GHz): 3.23
	Number of physical packages: 1
	Number of physical CPUs: 10
	Number of logical CPUs: 10
	Graphics card #0 name: Apple M1 Pro
	Graphics card #0 vendor: Apple (0x106b)
	Graphics card #0 VRAM (MiB): 0.00
	Graphics card #0 deviceId: unknown
	Graphics card #0 versionInfo: unknown
	Memory slot #0 capacity (MiB): 0.00
	Memory slot #0 clockSpeed (GHz): 0.00
	Memory slot #0 type: unknown
	Virtual memory max (MiB): 24576.00
	Virtual memory used (MiB): 19324.83
	Swap memory total (MiB): 8192.00
	Swap memory used (MiB): 7092.00
	Space in storage for jna.tmpdir (MiB): <path not set>
	Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): <path not set>
	Space in storage for io.netty.native.workdir (MiB): <path not set>
	Space in storage for java.io.tmpdir (MiB): available: 68896.75, total: 948584.19
	Space in storage for workdir (MiB): available: 68896.75, total: 948584.19
	JVM Flags: 2 total; -Xms512m -Xmx8192m
commented

My suggestion is always look for the universal version
https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-universal.dmg

is an edge case? well no
if you install any program in the wrong arch (including VLC) will not works, is more like a mistake from the users side, like install Java 8 instead of Java 21

outside that, VLC was a pain for us since day one with the binary installation
we are testing move to FFMPEG instead, so we can finally stop concerning about users have to install extra stuff

in theory i make UnsatisfiedLinkError and any throwed error be handled and skipable when that situation happens in 366ccae, not sure what version of WM have you installed

commented

I mean, you are right in the sense that this is kinda to be expected with the wrong architecture.
For me it felt like an edge case because you normally wouldn't even be able to install the wrong architecture (at least it doesn't let me do it) without further setup.

Anyways, I do agree that a switch to ffmpeg would be a great change, I wish you much success with that.

Skipping such exceptions would help very much, thank you.
Also sorry for not mentioning on which version that was. It happened on v2.0.64 at mc1.21 using Fabric.

commented

again, crashes should occurs as a normal program, but that just put players into a slope.
so i handle the LinkageError

commented

Fixed in 2.0.66