deepforge-dev / deepforge

A modern development environment for deep learning
https://deepforge.org
Apache License 2.0
753 stars 78 forks source link

Node is undefined in ReifyArtifactProv plugin. #2067

Open umesh-timalsina opened 2 years ago

umesh-timalsina commented 2 years ago

Some Context


I wanted to see for sure the origin of an artifact as the operation I wrote might has changed over time. Specifically, in the redshift project, I wanted to check for the origins of an artifact and how I did the bins(ing) for the redshift classes.

GME Trace


{
    "stack": "Error: corerel\n    at test (https://dev.deepforge.org/dist/webgme.2.42.1.dist.build.js:10162:23)\n    at isValidNodeThrow (https://dev.deepforge.org/dist/webgme.2.42.1.dist.build.js:10405:13)\n    at CoreType.isValidNode (https://dev.deepforge.org/dist/webgme.2.42.1.dist.build.js:10669:17)\n    at ensureNode (https://dev.deepforge.org/dist/webgme.2.42.1.dist.build.js:19802:13)\n    at CoreQ.Core.copyNode (https://dev.deepforge.org/dist/webgme.2.42.1.dist.build.js:20548:13)\n    at ReifyArtifactProv.addProvenanceOperation (https://dev.deepforge.org/plugin/ReifyArtifactProv/ReifyArtifactProv/ReifyArtifactProv.js:49:44)\n    at async Promise.all (index 1)\n    at async ReifyArtifactProv.addProvenanceOperation (https://dev.deepforge.org/plugin/ReifyArtifactProv/ReifyArtifactProv/ReifyArtifactProv.js:57:13)\n    at async ReifyArtifactProv.main (https://dev.deepforge.org/plugin/ReifyArtifactProv/ReifyArtifactProv/ReifyArtifactProv.js:39:13)"
}

Console Logs


Uncaught (in promise) CoreIllegalArgumentError: Parameter 'node' is not a valid node.
    at new CoreIllegalArgumentError (CoreIllegalArgumentError.js:12:1)
    at ensureNode (core.js:208:1)
    at CoreQ.Core.copyNode (core.js:953:1)
    at ReifyArtifactProv.addProvenanceOperation (ReifyArtifactProv.js:49:44)
    at async Promise.all (/index 0)
    at async ReifyArtifactProv.addProvenanceOperation (ReifyArtifactProv.js:57:13)
    at async ReifyArtifactProv.main (ReifyArtifactProv.js:39:13)
CoreIllegalArgumentError @ CoreIllegalArgumentError.js:12
ensureNode @ core.js:208
Core.copyNode @ core.js:953
addProvenanceOperation @ ReifyArtifactProv.js:49
await in addProvenanceOperation (async)
result @ managerbase.js:314
PluginManagerBase.runPluginMain @ managerbase.js:313
post @ q.js:1448
i.promiseDispatch @ q.js:1075
(anonymous) @ q.js:1678
n @ q.js:404
e @ q.js:392
(anonymous) @ q.js:252
c.run @ q.js:154
l @ q.js:124
setTimeout (async)
a @ q.js:42
f.nextTick @ q.js:144
n.setImmediate @ q.js:245
V @ q.js:447
(anonymous) @ q.js:890
(anonymous) @ q.js:530
e @ q.js:889
r.resolve @ q.js:905
(anonymous) @ q.js:950
r.onack @ index.js:83
r.onpacket @ index.js:83
(anonymous) @ index.js:83
r.emit @ index.js:83
r.ondecoded @ index.js:83
(anonymous) @ index.js:83
r.emit @ index.js:83
a.add @ index.js:83
r.ondata @ index.js:83
(anonymous) @ index.js:83
r.emit @ index.js:83
r.onPacket @ index.js:83
(anonymous) @ index.js:83
r.emit @ index.js:83
r.onPacket @ index.js:83
r.onData @ index.js:83
ws.onmessage @ index.js:83
brollb commented 2 years ago

Nice example. Did the original execution happen before the artifact prov PR was merged? I suspect the data is not present in the model so it is not able to reconstruct the provenance as a pipeline :(

Even if that is the case, it would be good to have a better error message.