defold / defold

Defold is a completely free to use game engine for development of desktop, mobile and web games.
https://www.defold.com
Other
4.4k stars 309 forks source link

Opening this old project crashes the editor #5547

Closed subsoap closed 2 years ago

subsoap commented 3 years ago

Looks like reason this error happened in this old project is because I linked to https://github.com/britzl/gooey/archive/master.zip in the project and it had an old template reference that no longer exists? In this case, the editor should still load, but give proper errors in editor directing what to fix. Changing from master to a release from 2018 fixed opening the project for me.

Link to project https://github.com/subsoap/defsave/archive/7098e9d58d6f87e7b4311f5c8cdfbb02598ba324.zip

Error in logs

2021-02-09 01:28:04.872 3887 [Thread-4] INFO  com.defold.libs.ResourceUnpacker - defold.unpack.path=C:\Users\subso\AppData\Local\Defold\unpack\9892f06543413f700997f15be240cd8078ba4803
2021-02-09 01:28:11.833 10848 [Timer-0] INFO  editor.updater - {:line 297, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/editor-alpha/update-v3.json"}
2021-02-09 01:28:12.390 11405 [Timer-0] INFO  editor.updater - {:line 304, :message "No update found"}
2021-02-09 01:28:18.724 17739 [clojure-agent-send-off-pool-7] ERROR editor.dialogs - {:line 424}
java.lang.Exception: Setter of node 72057594037928049 (editor.gui/TemplateNode) :template could not be called
    at internal.transaction$call_setter_fn.invokeStatic(transaction.clj:425)
    at internal.transaction$invoke_setter$fn__6771.invoke(transaction.clj:453)
    at internal.transaction$invoke_setter.invokeStatic(transaction.clj:453)
    at internal.transaction$apply_defaults.invokeStatic(transaction.clj:461)
    at internal.transaction$ctx_add_node.invokeStatic(transaction.clj:469)
    at internal.transaction$fn__6785.invokeStatic(transaction.clj:478)
    at internal.transaction$fn__6785.invoke(transaction.clj:477)
    at clojure.lang.MultiFn.invoke(MultiFn.java:234)
    at internal.transaction$apply_tx$fn__6849.invoke(transaction.clj:630)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:630)
    at internal.transaction$apply_tx.invoke(transaction.clj:620)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:627)
    at internal.transaction$apply_tx.invoke(transaction.clj:620)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:627)
    at internal.transaction$transact_STAR_.invokeStatic(transaction.clj:697)
    at dynamo.graph$transact.invokeStatic(graph.clj:143)
    at editor.defold_project$load_nodes_BANG_.invokeStatic(defold_project.clj:174)
    at editor.defold_project$load_project$fn__17243.invoke(defold_project.clj:228)
    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:228)
    at editor.defold_project$open_project_BANG_.invokeStatic(defold_project.clj:779)
    at editor.boot_open_project$open_project.invokeStatic(boot_open_project.clj:396)
    at editor.boot_open_project$open_project.invoke(boot_open_project.clj:394)
    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__89944.invoke(boot.clj:56)
    at editor.dialogs$make_load_project_dialog$fn__30989$fn__30992.invoke(dialogs.clj:422)
    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:834)
Caused by: java.lang.IllegalArgumentException: No implementation of method: :produce-value of protocol: #'internal.graph.types/Evaluation found for class: nil
    at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
    at internal.graph.types$fn__3200$G__3195__3209.invoke(types.clj:26)
    at internal.node$node_value.invokeStatic(node.clj:425)
    at internal.system$node_value.invokeStatic(system.clj:353)
    at dynamo.graph$do_node_value.invokeStatic(graph.clj:807)
    at dynamo.graph$node_value.invokeStatic(graph.clj:810)
    at editor.gui$TemplateNode$property$template$setter.invokeStatic(gui.clj:1295)
    at editor.gui$TemplateNode$property$template$setter.invoke(gui.clj:1283)
    at internal.transaction$call_setter_fn.invokeStatic(transaction.clj:416)
    ... 38 common frames omitted
2021-02-09 01:28:18.740 17755 [JavaFX Application Thread] ERROR editor.error-reporting - {:line 110}
java.security.PrivilegedActionException: null
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:556)
    at com.sun.glass.ui.View.notifyMouse(View.java:942)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.Exception: Setter of node 72057594037928049 (editor.gui/TemplateNode) :template could not be called
    at internal.transaction$call_setter_fn.invokeStatic(transaction.clj:425)
    at internal.transaction$invoke_setter$fn__6771.invoke(transaction.clj:453)
    at internal.transaction$invoke_setter.invokeStatic(transaction.clj:453)
    at internal.transaction$apply_defaults.invokeStatic(transaction.clj:461)
    at internal.transaction$ctx_add_node.invokeStatic(transaction.clj:469)
    at internal.transaction$fn__6785.invokeStatic(transaction.clj:478)
    at internal.transaction$fn__6785.invoke(transaction.clj:477)
    at clojure.lang.MultiFn.invoke(MultiFn.java:234)
    at internal.transaction$apply_tx$fn__6849.invoke(transaction.clj:630)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:630)
    at internal.transaction$apply_tx.invoke(transaction.clj:620)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:627)
    at internal.transaction$apply_tx.invoke(transaction.clj:620)
    at internal.transaction$apply_tx.invokeStatic(transaction.clj:627)
    at internal.transaction$transact_STAR_.invokeStatic(transaction.clj:697)
    at dynamo.graph$transact.invokeStatic(graph.clj:143)
    at editor.defold_project$load_nodes_BANG_.invokeStatic(defold_project.clj:174)
    at editor.defold_project$load_project$fn__17243.invoke(defold_project.clj:228)
    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:228)
    at editor.defold_project$open_project_BANG_.invokeStatic(defold_project.clj:779)
    at editor.boot_open_project$open_project.invokeStatic(boot_open_project.clj:396)
    at editor.boot_open_project$open_project.invoke(boot_open_project.clj:394)
    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__89944.invoke(boot.clj:56)
    at editor.dialogs$make_load_project_dialog$fn__30989$fn__30992.invoke(dialogs.clj:422)
    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)
    ... 1 common frames omitted
Caused by: java.lang.IllegalArgumentException: No implementation of method: :produce-value of protocol: #'internal.graph.types/Evaluation found for class: nil
    at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
    at internal.graph.types$fn__3200$G__3195__3209.invoke(types.clj:26)
    at internal.node$node_value.invokeStatic(node.clj:425)
    at internal.system$node_value.invokeStatic(system.clj:353)
    at dynamo.graph$do_node_value.invokeStatic(graph.clj:807)
    at dynamo.graph$node_value.invokeStatic(graph.clj:810)
    at editor.gui$TemplateNode$property$template$setter.invokeStatic(gui.clj:1295)
    at editor.gui$TemplateNode$property$template$setter.invoke(gui.clj:1283)
    at internal.transaction$call_setter_fn.invokeStatic(transaction.clj:416)
    ... 38 common frames omitted
AGulev commented 2 years ago

Can't reproduce this bug with provided repo case using the latest editor