chrislo27 / PolyrhythmMania

A game that faithfully recreates the Polyrhythm minigame from Rhythm Tengoku (リズム天国), with a built-in level editor
https://polyrhythmmania.rhre.dev
GNU General Public License v3.0
237 stars 18 forks source link

[Bug]:Crash when starting the game #20

Closed Dummatt closed 3 years ago

Dummatt commented 3 years ago

Version

v1.0.1

Operating System

Windows 10

Problem Description

I don't know why, but when I open the game in the win64 and even in the non-win64 version, the game simply crash. And yes, my PC is 64 bits

Steps to Reproduce Problem

  1. Download any of the two versions of the game
  2. Extract the ZIP file
  3. Go to the executable and open it

Relevant log output

==============
AUTO-GENERATED
==============

Program Specifications:
    Launch arguments: []
    Version: v1.0.1-20210829a
    Application type: Desktop
    LazySound loading enabled: true

System Specifications:
    Java Version: 11.0.11
    Java Vendor: AdoptOpenJDK
    Kotlin Version: 1.5.21
    OS Name: Windows 10
    OS Version: 10.0
    OS Arch: amd64
    JVM memory available: 2084864 KiB

Graphics Specifications:
    Resolution: 1280x720
    Fullscreen: false
    GL_VENDOR: ATI Technologies Inc.
    GL_RENDERER: Radeon RX 5500 XT
    GL_VERSION: 4.6.13596 Compatibility Profile Context 20.10.35.02 27.20.1034.6

00:00:01.085: [INFO][main] Initialized all 8 fonts in 0.0275 ms00:00:01.085: [INFO][main] Initialized all 8 fonts in 0.0275 ms

00:00:01.270: [INFO][main] No saved mixer string, using Controlador primario de sonido00:00:01.270: [INFO][main] No saved mixer string, using Controlador primario de sonido

00:00:01.280: [DEBUG][main] Changed screens from null to polyrhythmmania.init.AssetRegistryLoadingScreen00:00:01.280: [DEBUG][main] Changed screens from null to polyrhythmmania.init.AssetRegistryLoadingScreen

00:00:01.949: [INFO][GitHub version checker] Got version from server: v1.0.100:00:01.949: [INFO][GitHub version checker] Got version from server: v1.0.1

java.lang.UnsatisfiedLinkError: C:\Users\Admin\AppData\Local\Temp\jna--1997254497\jna13712113709908747215.dll: Acceso denegadojava.lang.UnsatisfiedLinkError: C:\Users\Admin\AppData\Local\Temp\jna--1997254497\jna13712113709908747215.dll: Acceso denegado

    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)   at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)

    at java.base/java.lang.ClassLoader$NativeLibrary.load(Unknown Source)   at java.base/java.lang.ClassLoader$NativeLibrary.load(Unknown Source)

    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(Unknown Source)    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(Unknown Source)

    at java.base/java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.base/java.lang.ClassLoader.loadLibrary0(Unknown Source)

    at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)  at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)

    at java.base/java.lang.Runtime.load0(Unknown Source)    at java.base/java.lang.Runtime.load0(Unknown Source)

    at java.base/java.lang.System.load(Unknown Source)  at java.base/java.lang.System.load(Unknown Source)

    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:947)   at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:947)

    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922)    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922)

    at com.sun.jna.Native.<clinit>(Native.java:190) at com.sun.jna.Native.<clinit>(Native.java:190)

    at club.minnced.discord.rpc.DiscordRPC.<clinit>(DiscordRPC.java:42) at club.minnced.discord.rpc.DiscordRPC.<clinit>(DiscordRPC.java:42)

    at polyrhythmmania.discordrpc.DiscordHelper.getLib(DiscordHelper.kt:23) at polyrhythmmania.discordrpc.DiscordHelper.getLib(DiscordHelper.kt:23)

    at polyrhythmmania.discordrpc.DiscordHelper.init(DiscordHelper.kt:56)   at polyrhythmmania.discordrpc.DiscordHelper.init(DiscordHelper.kt:56)

    at polyrhythmmania.PRManiaGame$create$2$2.invoke(PRManiaGame.kt:172)    at polyrhythmmania.PRManiaGame$create$2$2.invoke(PRManiaGame.kt:172)

    at polyrhythmmania.PRManiaGame$create$2$2.invoke(PRManiaGame.kt:171)    at polyrhythmmania.PRManiaGame$create$2$2.invoke(PRManiaGame.kt:171)

    at polyrhythmmania.init.AssetRegistryLoadingScreen.render(AssetRegistryLoadingScreen.kt:81) at polyrhythmmania.init.AssetRegistryLoadingScreen.render(AssetRegistryLoadingScreen.kt:81)

    at com.badlogic.gdx.Game.render(Game.java:46)   at com.badlogic.gdx.Game.render(Game.java:46)

    at paintbox.PaintboxGame.render(PaintboxGame.kt:215)    at paintbox.PaintboxGame.render(PaintboxGame.kt:215)

    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:403)  at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:403)

    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:143)  at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:143)

    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:116)    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:116)

    at paintbox.desktop.PaintboxDesktopLauncher$launch$app$1.<init>(PaintboxDesktopLauncher.kt:32)  at paintbox.desktop.PaintboxDesktopLauncher$launch$app$1.<init>(PaintboxDesktopLauncher.kt:32)

    at paintbox.desktop.PaintboxDesktopLauncher.launch(PaintboxDesktopLauncher.kt:32)   at paintbox.desktop.PaintboxDesktopLauncher.launch(PaintboxDesktopLauncher.kt:32)

    at polyrhythmmania.desktop.DesktopLauncher.main(DesktopLauncher.kt:74)  at polyrhythmmania.desktop.DesktopLauncher.main(DesktopLauncher.kt:74)

00:00:02.304: [WARN][main] Failed to load DiscordRPC, disabling00:00:02.304: [WARN][main] Failed to load DiscordRPC, disabling

00:00:02.456: [INFO][main] Supported mixer: Controlador primario de sonido00:00:02.456: [INFO][main] Supported mixer: Controlador primario de sonido

00:00:02.457: [INFO][main] Supported mixer: Auriculares (High Definition Audio Device)00:00:02.457: [INFO][main] Supported mixer: Auriculares (High Definition Audio Device)

00:00:02.458: [INFO][main] Supported mixer: 6 - T24B530 (AMD High Definition Audio Device)00:00:02.458: [INFO][main] Supported mixer: 6 - T24B530 (AMD High Definition Audio Device)

00:00:02.459: [INFO][main] Supported mixer: Altavoces (USB Audio Device)00:00:02.459: [INFO][main] Supported mixer: Altavoces (USB Audio Device)

00:00:02.503: [DEBUG][Main Menu music decoder] Starting main menu music decode00:00:02.503: [DEBUG][Main Menu music decoder] Starting main menu music decode

00:00:02.694: [DEBUG][main] Changed screens from polyrhythmmania.init.AssetRegistryLoadingScreen to paintbox.transition.TransitionScreen00:00:02.694: [DEBUG][main] Changed screens from polyrhythmmania.init.AssetRegistryLoadingScreen to paintbox.transition.TransitionScreen

java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Nativejava.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native

    at com.sun.jna.Pointer.<clinit>(Pointer.java:54)    at com.sun.jna.Pointer.<clinit>(Pointer.java:54)

    at com.sun.jna.Structure.<clinit>(Structure.java:2131)  at com.sun.jna.Structure.<clinit>(Structure.java:2131)

    at polyrhythmmania.discordrpc.DiscordHelper.updatePresence(DiscordHelper.kt:111)    at polyrhythmmania.discordrpc.DiscordHelper.updatePresence(DiscordHelper.kt:111)

    at polyrhythmmania.screen.mainmenu.MainMenuScreen.show(MainMenuScreen.kt:560)   at polyrhythmmania.screen.mainmenu.MainMenuScreen.show(MainMenuScreen.kt:560)

    at com.badlogic.gdx.Game.setScreen(Game.java:61)    at com.badlogic.gdx.Game.setScreen(Game.java:61)

    at paintbox.PaintboxGame.setScreen(PaintboxGame.kt:282) at paintbox.PaintboxGame.setScreen(PaintboxGame.kt:282)

    at paintbox.transition.TransitionScreen.render(TransitionScreen.kt:133) at paintbox.transition.TransitionScreen.render(TransitionScreen.kt:133)

    at com.badlogic.gdx.Game.render(Game.java:46)   at com.badlogic.gdx.Game.render(Game.java:46)

    at paintbox.PaintboxGame.render(PaintboxGame.kt:215)    at paintbox.PaintboxGame.render(PaintboxGame.kt:215)

    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:403)  at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:403)

    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:143)  at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:143)

    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:116)    at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:116)

    at paintbox.desktop.PaintboxDesktopLauncher$launch$app$1.<init>(PaintboxDesktopLauncher.kt:32)  at paintbox.desktop.PaintboxDesktopLauncher$launch$app$1.<init>(PaintboxDesktopLauncher.kt:32)

    at paintbox.desktop.PaintboxDesktopLauncher.launch(PaintboxDesktopLauncher.kt:32)   at paintbox.desktop.PaintboxDesktopLauncher.launch(PaintboxDesktopLauncher.kt:32)

    at polyrhythmmania.desktop.DesktopLauncher.main(DesktopLauncher.kt:74)  at polyrhythmmania.desktop.DesktopLauncher.main(DesktopLauncher.kt:74)

00:00:03.134: [DEBUG][main] Changed screens from polyrhythmmania.screen.mainmenu.MainMenuScreen to polyrhythmmania.screen.CrashScreen00:00:03.134: [DEBUG][main] Changed screens from polyrhythmmania.screen.mainmenu.MainMenuScreen to polyrhythmmania.screen.CrashScreen

00:00:03.717: [DEBUG][Main Menu music decoder] Finished main menu music decode00:00:03.717: [DEBUG][Main Menu music decoder] Finished main menu music decode

(Optional) Other useful information

No response

chrislo27 commented 3 years ago

There are two issues here:

  1. Your Windows temp folder (access via %temp% in File Explorer) has incorrect permissions. Try the steps below for details.
  2. A bug with the Discord rich presence integration that causes it to still crash even though it should be disabled if it is not working.

For some reason, access is denied to the temp folder. The temp folder is used by programs to temporarily store files. Try these steps and see if it helps:

  1. Open File Explorer.
  2. Go to %temp%. This should show you the contents of the temp folder.
  3. Back out one directory and open the Properties of the Temp folder.
  4. Uncheck the Read-only attribute. image
  5. Click OK. It may ask you if you want to apply the changes to subfolders, make sure you ARE applying changes to subfolders and files. image
Dummatt commented 3 years ago

There are two issues here:

  1. Your Windows temp folder (access via %temp% in File Explorer) has incorrect permissions. Try the steps below for details.
  2. A bug with the Discord rich presence integration that causes it to still crash even though it should be disabled if it is not working.

For some reason, access is denied to the temp folder. The temp folder is used by programs to temporarily store files. Try these steps and see if it helps:

  1. Open File Explorer.
  2. Go to %temp%. This should show you the contents of the temp folder.
  3. Back out one directory and open the Properties of the Temp folder.
  4. Uncheck the Read-only attribute. image
  5. Click OK. It may ask you if you want to apply the changes to subfolders, make sure you ARE applying changes to subfolders and files. image

Alright, I tried to change the attribute from the temp folder. However, even if I gave admin permission for it, It'll automatically change it back to have Read-Only checked once the window is closed. Also, because of this my Discord's stream sound stopped working and I might need to reinstall it lol- I guess it's the second problem then.

chrislo27 commented 3 years ago

I have a hotfix that I would like you to test before I update the v1.0.1 release (file was too big for GitHub): https://cdn.discordapp.com/attachments/417469485461798913/882015795591409674/PolyrhythmMania_v1.0.1_win64.zip

It doesn't fix the temp folder issue but shouldn't crash the game unexpectedly if the Discord integration is disabled.

Please report if it works or not.

Dummatt commented 3 years ago

Sure! I'll see if it doesn't happen anything. Also, I might have the issue from the temp folder.

Dummatt commented 3 years ago

Luckily, it works! The executable runs, and no issues are present. Thanks for all the help on this, And I wish the proyect grow up more and more

chrislo27 commented 3 years ago

Thanks for testing, the new hotfix will be uploaded to the v1.0.1 release as v1.0.1-20210830a (previously v1.0.1-20210829a).