Forge made some big changes to rendering lately, Optifine most likely needs to update.
I had the same problem, when I tried to update forge beyond 1290. I kept downgrading untill I was back at version 1290, and that one still works with optifine. So untill optifine is updated to work with the newer forge versions I suggest you downgrade forge to build 1290.
I double-checked on Windows XP x64 with Java 1.7.0_76. Solution for 1.8: use Forge 1290 until Optifine is compatible with newer Forge versions.
MumbleLink-1.8-4.1.2 (the most recent version as of this post) also contains a libLinkAPI.so built for 64-bit in the folder for Linux 32-bit that causes MumbleLink to crash on Linux 32-bit:
Edit: The MumbleLink-1.8-4.1.2 jar can be repaired by pasting the rebuilt libLinkAPI.so into the /linux-x86/ folder in the jar. It's the same one that SnipingCoward linked for my issue with Minecraft 1.7.10. (The library file for Linux 32-bit is identical in MumbleLink 4.1.1 and 4.1.2 (and possibly older versions).)
This will probably reveal that its compiled for 64 bit. It's the only explanation I have for now. If so then you must be the first to try this mod on a 32-bit linux and reporting the problem for almost a year.
Please download this file https://github.com/zsawyer/MumbleLink/raw/master/natives/build_linux32/libmod_MumbleLink.so and rename it to libLinkAPI.so and put it in the linux-x86 folder in your jar file.
You were right. The library in the MumbleLink-1.7.10-4.1.1-2b3035b release was built for 64-bit. The rebuilt one you linked for me is built for 32-bit.
Minecraft opened properly without errors when the rebuilt library was copied into the jar.
There were some less serious problems upon testing, however. I tested it with a vanilla 1.7.10 server with one client on Windows and another on Ubuntu with the rebuilt library. Both computers were on a LAN (not across the internet). First, Mumble's overlay in the corner of the game window that lists the users who are currently speaking never showed up on Ubuntu's Minecraft client. (Edit: Solution at bottom.) Second, to test positional audio, the Ubuntu user stood still while the Windows user walked away from them while speaking. I was expecting the volume that the Ubuntu user heard would decrease gradually as the Windows user walked away, but it decreased abruptly as if there were only two volumes: loud when near and suddenly quiet when far away. The Windows computer's CPU was near 90%, but I don't know if that affected the volume's slope. The Ubuntu computer only had speakers, not a microphone, so I was not able to test positional audio in the other direction with the Ubuntu user speaking.
P.S. I understand it's easier for users to post bug reports on this forum, but following the conversations for a particular bug becomes less so. Have you considered using something more organized for the purpose such as an issue tracker or Github? It would keep each report's resolutions contained and able to be referenced from other issues and code edits. Users might have to register a username for the issue tracker, but issues could be easier to manage and follow.
Edit:
Linux overlay solution: start the game with mumble-overlay.
user@computer:~$ mumble-overlay <gamename>
This binary is usually installed with the mumble package, but Fedora Linux may need you to install a separate "mumble-overlay" package. The overlay can be configured in Mumble's top menu bar -> Settings -> Overlay. http://wiki.mumble.info/wiki/Overlay#Overlay_on_GNU.2FLinux
After the crash, in the launcher you will see an additional tab "Game Output ()" can you please post that one?
It should contain a line "Looking for library 'LinkAPI'" or "Found library resource at". It will be lines without a timestamp. You might also want to set the "Launcher Visibility" in the the profile to "Keep the launcher open".
Edit:
If you don't see anything related to the library loading please also set "jna.debug_load.jna" to "true". Also try with export as -D might not suffice.
I added export lines and set the jna.debug_load.jna property in the shell script that starts the launcher. I had to remove "-d32" from _JAVA_OPTIONS because java would not accept it in that variable.
[01:05:47] [Client thread/INFO] [STDOUT]: [com.sun.jna.NativeLibrary:loadLibrary:129]: Looking for library 'LinkAPI'
Line 60:
[01:05:47] [Client thread/INFO] [STDOUT]: [com.sun.jna.Native:extractFromResourcePath:843]: Found library resource at jar:file:/home/some_user/.minecraft/mods/MumbleLink-1.7.10-4.1.1-2b3035b.jar!/linux-x86/libLinkAPI.so
You are running 32 bit Ubuntu but JNA (a framework that MumbleLink uses) is trying to load libraries that are 64-bit.
It could be that JNA thinks it is being run in a 64-bit environment. Thus it is trying to load the (wrong) 64-bit libs.
Currently in-use version of JNA is 4.0.0, maybe there is a fix for that in 4.1.0 but instead of going for 4.1.0 of JNA I am more likely to go for BridJ instead.
There are a few things you can try (I don't have an Ubuntu available right now).
give a more detailed crash log by setting the system property
jna.debug_load=true
and trying again
run the JVM in 32-bit mode explicitly (use the
-d32
command-line option)
try using an Oracle certified JRE or JDK (1.7_06) [i think this has the best chance of fixing your problem]
I set a shell script to start the official launcher with both of the command-line options:
In the official launcher's profile for Minecraft 1.7.10 with Minecraft Forge 10.13.2.1230, I enabled the "JVM Arguments" box and typed both options into it:
-d32 -Djna.debug_load=true
I installed Oracle's certified JRE for 32-bit Linux and made it the default JRE for the system. Java 1.7.0_72 was the newest of the Java 7 versions at the time of testing. I did not test with Java 1.7_06.
some_user@computer:~$ java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) Server VM (build 24.72-b04, mixed mode)
I rebooted for good measure. The settings were the same once I returned to the desktop environment. I removed all mods from the /mods/ folder, opened the official launcher, and started the profile of Minecraft 1.7.10 with Minecraft Forge 10.13.2.1230. It loaded without errors as it had previously.
I closed the game and launcher, copied MumbleLink-1.7.10-4.1.1-2b3035b.jar to the /mods/ folder, reopened the official launcher, started the profile of Minecraft 1.7.10 with Minecraft Forge 10.13.2.1230, and the game crashed in the same place it had previously (immediately after the "Mojang" splash screen) and with the same error:
Adding the "-Djna.debug_load=true" option to the shell script which starts the official launcher did not change the output of the launcher in the terminal in any of the test cases. In other words, the output from the launcher was the same as when the option was not present.
I was not able to figure out how to view or redirect the output from the launcher's internal command that starts the actual game and contains the "JVM Arguments" with the "-Djna.debug_load=true" option. Its java command line starts "net.minecraft.launchwrapper.Launch" and has an "--accessToken" argument, so I'm not sure I could start it anyway without deep knowledge of the official launcher's code.
Edit: Corrected "-Djna.debug_load=tru" in the final two paragraphs to "-Djna.debug_load=true". It was a typo in this post, not in the script or launcher.
FML Client Log (MumbleLink was the only mod in the /mods/ folder)
It crashes immediately after the "Mojang" splash screen, before the "Minecraft" title screen with the buttons. Minecraft Forge 10.13.2.1277 and 10.13.2.1284 ("Latest" for 1.7.10 as of this post) also crash with the same MumbleLink-1.7.10-4.1.1-2b3035b.jar. All three versions of Minecraft Forge loaded perfectly when MumbleLink was not in the /mods/ folder. Mumble was open before opening Minecraft.
Ubuntu 10.10 is the only version that was said to be the testbed for MumbleLink on Linux, but Ubuntu 14.10 is the most recent version of the OS. However, versions 14.04 and 12.04 are "long-term support" (LTS) releases and probably have more users.
0
http://www.minecraftforge.net/forum/index.php/topic,27530.0.html
I double-checked on Windows XP x64 with Java 1.7.0_76.
Solution for 1.8: use Forge 1290 until Optifine is compatible with newer Forge versions.
0
0
I checked the release's library and the rebuilt library from your link with objdump: You were right. The library in the MumbleLink-1.7.10-4.1.1-2b3035b release was built for 64-bit. The rebuilt one you linked for me is built for 32-bit.
Minecraft opened properly without errors when the rebuilt library was copied into the jar.
There were some less serious problems upon testing, however. I tested it with a vanilla 1.7.10 server with one client on Windows and another on Ubuntu with the rebuilt library. Both computers were on a LAN (not across the internet).
First, Mumble's overlay in the corner of the game window that lists the users who are currently speaking never showed up on Ubuntu's Minecraft client.(Edit: Solution at bottom.) Second, to test positional audio, the Ubuntu user stood still while the Windows user walked away from them while speaking. I was expecting the volume that the Ubuntu user heard would decrease gradually as the Windows user walked away, but it decreased abruptly as if there were only two volumes: loud when near and suddenly quiet when far away. The Windows computer's CPU was near 90%, but I don't know if that affected the volume's slope. The Ubuntu computer only had speakers, not a microphone, so I was not able to test positional audio in the other direction with the Ubuntu user speaking.P.S. I understand it's easier for users to post bug reports on this forum, but following the conversations for a particular bug becomes less so. Have you considered using something more organized for the purpose such as an issue tracker or Github? It would keep each report's resolutions contained and able to be referenced from other issues and code edits. Users might have to register a username for the issue tracker, but issues could be easier to manage and follow.
Edit:
Linux overlay solution: start the game with mumble-overlay. This binary is usually installed with the mumble package, but Fedora Linux may need you to install a separate "mumble-overlay" package. The overlay can be configured in Mumble's top menu bar -> Settings -> Overlay.
http://wiki.mumble.info/wiki/Overlay#Overlay_on_GNU.2FLinux
0
I added export lines and set the jna.debug_load.jna property in the shell script that starts the launcher. I had to remove "-d32" from _JAVA_OPTIONS because java would not accept it in that variable. In the launcher's profile to start 1.7.10 with Forge, I set the following:
0
I set a shell script to start the official launcher with both of the command-line options:
In the official launcher's profile for Minecraft 1.7.10 with Minecraft Forge 10.13.2.1230, I enabled the "JVM Arguments" box and typed both options into it:
I installed Oracle's certified JRE for 32-bit Linux and made it the default JRE for the system. Java 1.7.0_72 was the newest of the Java 7 versions at the time of testing. I did not test with Java 1.7_06.
I rebooted for good measure. The settings were the same once I returned to the desktop environment. I removed all mods from the /mods/ folder, opened the official launcher, and started the profile of Minecraft 1.7.10 with Minecraft Forge 10.13.2.1230. It loaded without errors as it had previously.
I closed the game and launcher, copied MumbleLink-1.7.10-4.1.1-2b3035b.jar to the /mods/ folder, reopened the official launcher, started the profile of Minecraft 1.7.10 with Minecraft Forge 10.13.2.1230, and the game crashed in the same place it had previously (immediately after the "Mojang" splash screen) and with the same error:
I was not able to figure out how to view or redirect the output from the launcher's internal command that starts the actual game and contains the "JVM Arguments" with the "-Djna.debug_load=true" option. Its java command line starts "net.minecraft.launchwrapper.Launch" and has an "--accessToken" argument, so I'm not sure I could start it anyway without deep knowledge of the official launcher's code.
Edit: Corrected "-Djna.debug_load=tru" in the final two paragraphs to "-Djna.debug_load=true". It was a typo in this post, not in the script or launcher.
0
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.12.04.1)
OpenJDK Server VM (build 24.65-b04, mixed mode)
Ubuntu 10.10 is the only version that was said to be the testbed for MumbleLink on Linux, but Ubuntu 14.10 is the most recent version of the OS. However, versions 14.04 and 12.04 are "long-term support" (LTS) releases and probably have more users.