WaterMediaTeam / watermedia

Library and API for Multimedia, Powered by LibVLC. Working on pure JAVA and all Minecraft Modloaders
10 stars 9 forks source link

Loading VLC with the wrong architecture on macOS causes a crash #89

Closed SammyForReal closed 6 days ago

SammyForReal commented 1 week ago

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
SrRapero720 commented 1 week ago

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 366ccaee8929a284093e573caac23048481680a2, not sure what version of WM have you installed

SammyForReal commented 1 week ago

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.

SrRapero720 commented 6 days ago

Fixed in 2.0.66

SrRapero720 commented 6 days ago

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