Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic error message in Rhubarb for Spine #34

Closed
DanielSWolf opened this issue Mar 29, 2018 · 13 comments
Closed

Generic error message in Rhubarb for Spine #34

DanielSWolf opened this issue Mar 29, 2018 · 13 comments
Labels

Comments

@DanielSWolf
Copy link
Owner

When Rhubarb Lip Sync for Spine is run from a JAR file (as opposed to a .class file), it fails to determine its binary directory. This results in the generic error message "Error performing lip sync for event ."

To fix this, a more robust may of determining the binary directory needs to be implemented.

@Sergmarshall
Copy link

Hello) I have a I have a problem
java_bag
Thanks for any help

@DanielSWolf
Copy link
Owner Author

DanielSWolf commented Apr 3, 2018

@Sergmarshall: Please let me know what operating system and what exact version of Rhubarb you're using.

In addition, please do the following:

  • Open a command line window
  • Navigate to <rhubarb>/extras/EsotericSoftwareSpine
  • Run java -jar rhubarb-for-spine-<version>.jar
  • Reproduce the error
  • The command line window should now contain a stack trace. Copy and paste the stack trace into your answer.

@Sergmarshall
Copy link

java.lang.UnsupportedOperationException
at java.util.AbstractCollection.add(Unknown Source)
at com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:267)
at com.rhubarb_lip_sync.rhubarb_for_spine.SpineJson.createOrUpdateAnimation(SpineJson.kt:142)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.saveAnimation(AnimationFileModel.kt:96)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.access$saveAnimation(AnimationFileModel.kt:15)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:60)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:15)
at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:155)
at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:17)
at com.rhubarb_lip_sync.rhubarb_for_spine.ToolsKt$runAndWait$$inlined$withLock$lambda$1.run(tools.kt:59)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

Microsoft Windows [Version 10.0.14393]
rhubarb-for-spine-1.7.1

@DanielSWolf
Copy link
Owner Author

I think I found the problem. If my understanding is correct, this error occurs if the JSON file doesn't contain at least one animation. As a quick workaround, create an empty dummy animation in Spine, re-export to JSON and try again.

Let me know if that fixes the problem. If so, I'll create a bugfix release.

@DanielSWolf DanielSWolf reopened this Apr 5, 2018
@Sergmarshall
Copy link

I made some animations and everything is the same and with empty dummy animation

at java.util.AbstractCollection.add(Unknown Source)
at com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:267)
at com.rhubarb_lip_sync.rhubarb_for_spine.SpineJson.createOrUpdateAnimation(SpineJson.kt:142)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.saveAnimation(AnimationFileModel.kt:96)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.access$saveAnimation(AnimationFileModel.kt:15)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:60)
at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:15)
at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:155)
at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:17)
at com.rhubarb_lip_sync.rhubarb_for_spine.ToolsKt$runAndWait$$inlined$withLock$lambda$1.run(tools.kt:59)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

@DanielSWolf
Copy link
Owner Author

I'm afraid I can't reproduce the error you're getting. My guess is that there's either something unexpected in your JSON file, or your JVM behaves differently from mine.

Could you attach the Spine JSON file you're using, along with all images and sound files? Just create a ZIP file with the entire directory structure. This should help me reproduce the behavior you're getting.

Also, could you tell me the exact JVM version you're using? (Execute java -version)

@johnnotron
Copy link

johnnotron commented Apr 9, 2018

Hi,

Getting same error / stack trace too.
OSX 10.13.4
Spine 3.7.1.4
rhubarb-for-spine-1.7.1.jar
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
rhubarb_spine_test.zip

Thanks!

Apr 09, 2018 4:53:15 PM tornadofx.Stylesheet$Companion detectAndInstallUrlHandler INFO: Installing CSS url handler, since it was not picked up automatically WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by tornadofx.adapters.TornadoFXNormalTable$contentWidthField$2 (file:/Users/rich/Desktop/rhubarb_test/rhubarb-lip-sync-1.7.1-osx/extras/EsotericSoftwareSpine/rhubarb-for-spine-1.7.1.jar) to field javafx.scene.control.TableView.contentWidth WARNING: Please consider reporting this to the maintainers of tornadofx.adapters.TornadoFXNormalTable$contentWidthField$2 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release objc[4406]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fffab6ccc90) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x144edbcd8). One of the two will be used. Which one is undefined. java.lang.UnsupportedOperationException at java.base/java.util.AbstractCollection.add(AbstractCollection.java:267) at javafx.base/com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:267) at com.rhubarb_lip_sync.rhubarb_for_spine.SpineJson.createOrUpdateAnimation(SpineJson.kt:142) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.saveAnimation(AnimationFileModel.kt:96) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.access$saveAnimation(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:60) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:155) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:17) at com.rhubarb_lip_sync.rhubarb_for_spine.ToolsKt$runAndWait$$inlined$withLock$lambda$1.run(tools.kt:59) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)

@johnnotron
Copy link

Update:
It works if in Spine you add the dialog text to the String property of the event (in setup mode). I thought this was optional so had left it out..

@DanielSWolf
Copy link
Owner Author

Thank you for the detailed information! I'll fix this as soon as I find some time. And, yes, the dialog text should be completely optional!

@DanielSWolf
Copy link
Owner Author

I found the problem! It is a bug in my code (as expected). The real mystery was why it works on my machine. Turns out it's a bug in the programming language that would make it work in some cases, when really it should always have failed. I'll have a fix ASAP.

@DanielSWolf
Copy link
Owner Author

I believe I've fixed the issue. @Sergmarshall, @rich-earth: Please replace the JAR file in your Rhubarb installation with the JAR file contained within the attached ZIP file. Let me know whether that fixes your problems! If so, I'll make an official bugfix release.

rhubarb-for-spine-1.7.1.jar.zip

@Sergmarshall
Copy link

the plugin is working!
thank you!

@johnnotron
Copy link

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants