Wynntils

Wynntils

611k Downloads

Crash on F4 With Market Item

Kepler-17c opened this issue ยท 17 comments

commented

I hovered an this entry on my trade overview:
image

On pressing F4 the game crashes. Tested with Artemis 121 and 122.

Artemis_crash_on_market_F4.log

commented

Are you able to screenshot any other items? The crash seems to be caused by a failure to copy the image to the clipboard, so it shouldn't have anything to do with the item itself

What OS are you using?

commented

Windows 10 - let me try rq

commented

Normal items don't work either :/
iirc it did work at some point, though

Edit: I'm 99% sure it worked before

commented

Excerpt from the log, for easy viewing:

java.awt.HeadlessException
	at java.desktop/sun.awt.HeadlessToolkit.getSystemClipboard(HeadlessToolkit.java:216)
	at com.wynntils.mc.render.RenderUtils.copyImageToClipboard(RenderUtils.java:554)
	at com.wynntils.features.user.ItemScreenshotFeature.takeScreenshot(ItemScreenshotFeature.java:121)
commented

Seems to be the issue Poke fixed with setting the environment variable?

commented

Yeah, that is not so strange...

    public Clipboard getSystemClipboard() throws HeadlessException {
        throw new HeadlessException();
    }
commented

So, yes, this is caused by Java being in headless mode. Problem might be not all JDKs recognize setting a system property after init..? Or you say env variable? What fix is that? (Sorry if I missed stuff, been gone a week)

commented

MultiMC, no additional arguments, Java version shipped with Minecraft (C:/Program Files (x86)/Minecraft Launcher/runtime/java-runtime-beta/windows-x64/java-runtime-beta/bin/javaw.exe)

commented

Running the .\java.exe --version in that folder gives:

openjdk 17.0.1 2021-10-19 LTS
OpenJDK Runtime Environment Microsoft-28056 (build 17.0.1+12-LTS)
OpenJDK 64-Bit Server VM Microsoft-28056 (build 17.0.1+12-LTS, mixed mode)
commented

@Kepler-17c How do you start Minecraft? Using the official launcher, MultiMC, or anything other? Do you know if you have any additional command line arguments to Java?

commented

Please add -XshowSettings to the set of Java options. This will print out all properties that are in effect when Java launches. It will be in the java log of MultiMC, something like this:

Property settings:
    file.encoding = UTF-8
    file.separator = /
    java.class.path =
    java.class.version = 62.0
...

Please copy and paste them here.

commented

Only thing I edited is replacing my name with *

Property settings:
    file.encoding = Cp1252
    file.separator = \
    java.class.path = C:/Users/*/AppData/Roaming/MultiMC/jars/NewLaunch.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.16.0/log4j-slf4j18-impl-2.16.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/io/netty/netty-all/4.1.68.Final/netty-all-4.1.68.Final.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/datafixerupper/4.1.27/datafixerupper-4.1.27.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/authlib/3.3.39/authlib-3.3.39.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/logging/log4j/log4j-api/2.16.0/log4j-api-2.16.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/apache/logging/log4j/log4j-core/2.16.0/log4j-core-2.16.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/text2speech/1.12.4/text2speech-1.12.4.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/fabricmc/intermediary/1.18.2/intermediary-1.18.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/fabricmc/tiny-mappings-parser/0.3.0+build.17/tiny-mappings-parser-0.3.0+build.17.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/fabricmc/tiny-remapper/0.8.2/tiny-remapper-0.8.2.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/fabricmc/access-widener/2.1.0/access-widener-2.1.0.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/ow2/asm/asm/9.3/asm-9.3.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/ow2/asm/asm-commons/9.3/asm-commons-9.3.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/ow2/asm/asm-tree/9.3/asm-tree-9.3.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/org/ow2/asm/asm-util/9.3/asm-util-9.3.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/net/fabricmc/fabric-loader/0.14.5/fabric-loader-0.14.5.jar
        C:/Users/*/AppData/Roaming/MultiMC/libraries/com/mojang/minecraft/1.18.2/minecraft-1.18.2-client.jar
    java.class.version = 61.0
    java.home = C:\Program Files (x86)\Minecraft Launcher\runtime\java-runtime-beta\windows-x64\java-runtime-beta
    java.io.tmpdir = C:\Users\*\AppData\Local\Temp\
    java.library.path = C:/Users/*/AppData/Roaming/MultiMC/instances/1.18.22/natives
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 17.0.1+12-LTS
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 17
    java.vendor = Microsoft
    java.vendor.url = https://www.microsoft.com
    java.vendor.url.bug = https://github.com/microsoft/openjdk/issues
    java.vendor.version = Microsoft-28056
    java.version = 17.0.1
    java.version.date = 2021-10-19
    java.vm.compressedOopsMode = Zero based
    java.vm.info = mixed mode
    java.vm.name = OpenJDK 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 17
    java.vm.vendor = Microsoft
    java.vm.version = 17.0.1+12-LTS
    jdk.debug = release
    line.separator = \r \n 
    native.encoding = Cp1252
    os.arch = amd64
    os.name = Windows 10
    os.version = 10.0
    path.separator = ;
    sun.arch.data.model = 64
    sun.boot.library.path = C:\Program Files (x86)\Minecraft Launcher\runtime\java-runtime-beta\windows-x64\java-runtime-beta\bin
    sun.cpu.endian = little
    sun.cpu.isalist = amd64
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.command = org.multimc.EntryPoint
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = Cp1252
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level = 
    user.country = GB
    user.dir = C:\Users\*\AppData\Roaming\MultiMC\instances\1.18.22\.minecraft
    user.home = C:\Users\*
    user.language = en
    user.name = *
    user.script = 
    user.variant = 
commented

Alright, that leaves it absolutely clear that we are not setting awt.headless to true from the outside.

So why is not our property change respected? That is odd, indeed.

commented

Only this was Windows...

commented

Fixed in #456