crashinvaders / gdx-texture-packer-gui

A simple way to pack and manage texture atlases for libGDX game framework.
Apache License 2.0
601 stars 73 forks source link

Crash when choosing destination folder for sprites #125

Closed v79 closed 1 year ago

v79 commented 2 years ago

After adding two sprites to a new, blank spritesheet, Texture Packer crashes while I am trying to choose a destination folder. Log is:

Application Log ``` Version: 4.10.0 OS: Windows 10 10.0 amd64 JRE: 11.0.9 AdoptOpenJDK GPU: Radeon RX 580 Series OpenGL vendor: ATI Technologies Inc. OpenGL version: 4.6.14761 Compatibility Profile Context 21.11.3 30.0.13037.1003 [ExtensionModuleRepositoryService] Cached data was loaded [ConfigurationController] Incremental fonts are disabled [VisUI] Warning, using invalid libGDX version for VisUI 1.4.8. You are using libGDX 1.9.11 but you need 1.9.12. This may cause unexpected problems and runtime exceptions. [GlobalShortcutHandler] Parsing shortcut file: hotkeys_default.txt [ERROR] Exception occured on event listener. com.badlogic.gdx.utils.GdxRuntimeException: Unable to invoke method: onEvent of type: com.crashinvaders.texturepackergui.controllers.InitialUpdateCheckService@5710768a with parameters: [com.crashinvaders.texturepackergui.events.VersionUpdateCheckEvent@199e4c2b] at com.github.czyzby.autumn.context.impl.method.MethodInvocation.invoke(MethodInvocation.java:50) at com.github.czyzby.autumn.processor.event.impl.ReflectionEventListener.processEvent(ReflectionEventListener.java:63) at com.github.czyzby.autumn.processor.event.EventDispatcher.invokeEventListeners(EventDispatcher.java:134) at com.github.czyzby.autumn.processor.event.EventDispatcher.postEvent(EventDispatcher.java:121) at com.crashinvaders.texturepackergui.controllers.versioncheck.VersionCheckService$1.handleResponseSync(VersionCheckService.java:71) at com.crashinvaders.SyncHttpResponseListener.lambda$handleHttpResponse$1(SyncHttpResponseListener.java:21) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:157) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.(Lwjgl3Application.java:117) at com.crashinvaders.texturepackergui.desktop.ApplicationStarter.start(ApplicationStarter.java:56) at com.crashinvaders.texturepackergui.desktop.ApplicationStarter.main(ApplicationStarter.java:35) Caused by: com.badlogic.gdx.utils.reflect.ReflectionException: Exception occurred in method: onEvent at com.badlogic.gdx.utils.reflect.Method.invoke(Method.java:114) at com.github.czyzby.kiwi.util.gdx.reflection.Reflection.invokeMethod(Reflection.java:130) at com.github.czyzby.autumn.context.impl.method.MethodInvocation.invoke(MethodInvocation.java:47) ... 9 more Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.badlogic.gdx.utils.reflect.Method.invoke(Method.java:108) ... 11 more Caused by: com.github.czyzby.lml.util.LmlParsingException: Error occurred during parsing near line 15 of the original file: "toastNewVersionAvailable.lml". REASON: I18N bundle not found for bundle line: @toastNewVersionAvailable Due implementation of the parser, the real problematic line might SLIGHTLY vary from the given line number(s), but exception message should be clear enough to find the actual error. Currently parsed template part: 12 |VALID| 13 |VALID| @toastNewVersionAvailable 14 |VALID| {newVersionCode} 15 |ERROR| 16 | | 17 | | <:row padtop="4"/> 18 | | If this is not enough to determine the error, call AbstractLmlParser#setLinesAmountPrintedOnException(int) with a suitable number. If you keep a lot of nested macros and want to see the whole invocation tree, try debugging through parsing and use getTemplateReader().toString() before exception occurs to check all current parsed template layers. at com.github.czyzby.lml.parser.impl.AbstractLmlParser.throwError(AbstractLmlParser.java:875) at com.github.czyzby.lml.parser.impl.AbstractLmlParser.throwError(AbstractLmlParser.java:870) at com.github.czyzby.lml.parser.impl.AbstractLmlParser.parseBundleLine(AbstractLmlParser.java:584) at com.github.czyzby.lml.parser.impl.AbstractLmlParser.parseString(AbstractLmlParser.java:554) at com.github.czyzby.lml.parser.impl.tag.AbstractActorLmlTag.toLabel(AbstractActorLmlTag.java:230) at com.github.czyzby.lml.parser.impl.tag.AbstractGroupLmlTag.handlePlainTextLine(AbstractGroupLmlTag.java:31) at com.github.czyzby.lml.parser.impl.tag.AbstractActorLmlTag.handleDataBetweenTags(AbstractActorLmlTag.java:207) at com.github.czyzby.lml.parser.impl.DefaultLmlParser.parse(DefaultLmlParser.java:136) at com.github.czyzby.lml.parser.impl.DefaultLmlParser.parseTemplate(DefaultLmlParser.java:100) at com.github.czyzby.lml.parser.impl.AbstractLmlParser.parseTemplate(AbstractLmlParser.java:197) at com.crashinvaders.texturepackergui.controllers.InitialUpdateCheckService.showUpdateNotification(InitialUpdateCheckService.java:81) at com.crashinvaders.texturepackergui.controllers.InitialUpdateCheckService.onEvent(InitialUpdateCheckService.java:53) ... 16 more java.lang.IllegalArgumentException: actor cannot be null. at com.badlogic.gdx.scenes.scene2d.ui.Table.getCell(Table.java:417) at com.kotcrab.vis.ui.widget.MenuItem.getImageCell(MenuItem.java:352) at com.kotcrab.vis.ui.widget.file.internal.AbstractSuggestionPopup.createMenuItem(AbstractSuggestionPopup.java:36) at com.kotcrab.vis.ui.widget.file.internal.DirsSuggestionPopup$1$1.run(DirsSuggestionPopup.java:88) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:157) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.(Lwjgl3Application.java:117) at com.crashinvaders.texturepackergui.desktop.ApplicationStarter.start(ApplicationStarter.java:56) at com.crashinvaders.texturepackergui.desktop.ApplicationStarter.main(ApplicationStarter.java:35) ```
v79 commented 2 years ago

May be the same as #121 - there is nothing unusual about the folder path D:\Development\Games\TheAlchemist\src\commonMain\resources\sprites\icons\seeds

tommyettinger commented 2 years ago

The really strange bit is that in the log, it seems to only be having issues with the version update toast, which could probably pop up at any time and just happens to overlap with the destination folder selection. Could this be related to 4.10.1 being released but not being the recommended version?

v79 commented 2 years ago

I saw the note not to upgrade to 4.10.1, so I didn't.

metaphore commented 2 years ago

That's a really weird one indead. I think Tommy's right and this is just a coincidence and overlap with the dreaded file selector path editing issue that's being fixed in 4.10.1. And while it has a note about being a non-recommended release, it has nothing special to it and still recognized by GitHub as the latest stable version.

We have the hotfix release is coming up in the next couple of days and I guess this issue should be gone along with it. But let's keep it open for some time, see if someone else reports a similar problem.

metaphore commented 1 year ago

I guess this but must be fixed at this point. Feel free to reopen if the problem stands.