defold / extension-spine

The Defold specific Spine runtime implementation
Other
33 stars 14 forks source link

Editor crashes when "*.spinejson" version differ from spine runtime version #123

Closed AGulev closed 1 year ago

AGulev commented 1 year ago

Example project contains both spine 4.0 and spine 4.1 models: Archive.zip

Editor log: editor2.2023-02-11.log.zip

AGulev commented 1 year ago

This ticket is blocker for this PR https://github.com/defold/extension-spine/pull/121/files

AGulev commented 1 year ago
WARNING: Illegal reflective access by editor.lsp$fn__29557 (file:/Users/agulev/Downloads/beta-1.4.4-Defold.app/Contents/Resources/packages/defold-b078b0bcf078956c4546f116cb942c13d8fb4b34.jar) to method sun.nio.fs.Globs.toUnixRegexPattern(java.lang.String)
2023-03-17 11:38:24.266 INFO  default    editor.workspace - {:line 424, :msg "Loading plugin defold-spine/editor/src/spineext.clj"}
2023-03-17 11:38:25.698 INFO  default    editor.workspace - {:line 429, :msg "Loaded plugin defold-spine/editor/src/spineext.clj"}
2023-03-17 11:38:25.698 INFO  default    editor.workspace - {:line 424, :msg "Loading plugin defold-spine/editor/src/spineguiext.clj"}
2023-03-17 11:38:26.627 INFO  default    editor.workspace - {:line 429, :msg "Loaded plugin defold-spine/editor/src/spineguiext.clj"}
ERROR:SPINEEXT: Failed to read spine skeleton for /assets/cards.spinejson: Skeleton version 4.0-from-4.1.19 does not match runtime version 4.1
ERROR:SPINEEXT: Failed to load Spine skeleton from json file /assets/cards.spinejson
2023-03-17 11:38:29.273 ERROR default    editor.dialogs - {:line 442}
java.lang.IllegalArgumentException: No method in multimethod 'perform' for dispatch value: null
    at clojure.lang.MultiFn.getFn(MultiFn.java:156)
    at clojure.lang.MultiFn.invoke(MultiFn.java:233)
    at internal.transaction$apply_tx$fn__10007.invoke(transaction.clj:805)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:803)
    at internal.transaction$apply_tx.invoke(transaction.clj:795)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:802)
    at internal.transaction$apply_tx.invoke(transaction.clj:795)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:802)
    at internal.transaction$apply_tx.invoke(transaction.clj:795)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:802)
    at internal.transaction$transact_STAR_.invokeStatic(transaction.clj:885)
    at dynamo.graph$transact.invokeStatic(graph.clj:163)
    at editor.defold_project$load_nodes_BANG_.invokeStatic(defold_project.clj:203)
    at editor.defold_project$load_project$fn__31168.invoke(defold_project.clj:274)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:665)
    at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1973)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1973)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at editor.defold_project$load_project.invokeStatic(defold_project.clj:274)
    at editor.defold_project$open_project_BANG_.invokeStatic(defold_project.clj:938)
    at editor.boot_open_project$open_project_BANG_.invokeStatic(boot_open_project.clj:400)
    at editor.boot_open_project$open_project_BANG_.invoke(boot_open_project.clj:398)
    at clojure.lang.AFn.applyToHelper(AFn.java:171)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:665)
    at editor.boot$open_project_with_progress_dialog$fn__102560.invoke(boot.clj:70)
    at editor.dialogs$make_load_project_dialog$fn__25787$fn__25790.invoke(dialogs.clj:440)
    at clojure.core$binding_conveyor_fn$fn__5739.invoke(core.clj:2030)
    at clojure.lang.AFn.call(AFn.java:18)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)
2023-03-17 11:38:29.302 ERROR default    editor.error-reporting - {:line 116}
java.lang.IllegalArgumentException: No method in multimethod 'perform' for dispatch value: null
    at clojure.lang.MultiFn.getFn(MultiFn.java:156)
    at clojure.lang.MultiFn.invoke(MultiFn.java:233)
    at internal.transaction$apply_tx$fn__10007.invoke(transaction.clj:805)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:803)
    at internal.transaction$apply_tx.invoke(transaction.clj:795)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:802)
    at internal.transaction$apply_tx.invoke(transaction.clj:795)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:802)
    at internal.transaction$apply_tx.invoke(transaction.clj:795)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:802)
    at internal.transaction$transact_STAR_.invokeStatic(transaction.clj:885)
    at dynamo.graph$transact.invokeStatic(graph.clj:163)
    at editor.defold_project$load_nodes_BANG_.invokeStatic(defold_project.clj:203)
    at editor.defold_project$load_project$fn__31168.invoke(defold_project.clj:274)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:665)
    at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1973)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1973)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at editor.defold_project$load_project.invokeStatic(defold_project.clj:274)
    at editor.defold_project$open_project_BANG_.invokeStatic(defold_project.clj:938)
    at editor.boot_open_project$open_project_BANG_.invokeStatic(boot_open_project.clj:400)
    at editor.boot_open_project$open_project_BANG_.invoke(boot_open_project.clj:398)
    at clojure.lang.AFn.applyToHelper(AFn.java:171)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:665)
    at editor.boot$open_project_with_progress_dialog$fn__102560.invoke(boot.clj:70)
    at editor.dialogs$make_load_project_dialog$fn__25787$fn__25790.invoke(dialogs.clj:440)
    at clojure.core$binding_conveyor_fn$fn__5739.invoke(core.clj:2030)
    at clojure.lang.AFn.call(AFn.java:18)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)
vlaaad commented 1 year ago

Hmm, I've got a different error — a JVM crash with this native code stack:

Stack: [0x000000090c29a000,0x000000090c39a000],  sp=0x000000090c396dd0,  free space=1011k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libSpineExt.dylib+0x2ea9e]  _ZL29_spSkeletonJson_readAnimationP14spSkeletonJsonP4JsonP14spSkeletonData+0x7ce
C  [libSpineExt.dylib+0x2dc2e]  spSkeletonJson_readSkeletonData+0x28ae
C  [libSpineExt.dylib+0x346a8]  _ZN7dmSpine20ReadSkeletonJsonDataEP18spAttachmentLoaderPKcPv+0x28
C  [libSpineExt.dylib+0x37b16]  SPINE_LoadFromBuffer+0x146
C  [jna12342363824534396565.tmp+0xefda]  ffi_prep_go_closure+0x55a