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

UpdateResultsBytes failed: Unable to update interface: DAG.PutInterface failed: #5236

Closed
ConorTighe opened this issue Jul 16, 2018 · 11 comments

Comments

@ConorTighe
Copy link

I've been trying to run a task with computes.io over a IPFS swarm, the node computes connect fine and the peers are visible but when I check the status of the computation it says it failed and returns the error in the title.

The version im using is v0.4.16 and the daemon is using the flags --enable-pubsub-experiment --enable-namesys-pubsub which are required for computes,io

Its meant to run a docker container of a NodeJs application.
Here is the full error:
"runner":{"errors":[{"error":"UpdateResultsBytes failed: Unable to update interface: DAG.PutInterface failed: Put failed: unexpected status code returned. Expected 200, received 500"

@schomatis
Copy link
Contributor

Hey @ConorTighe1995, dag put was the command we were discussing in #4496, so I'm supposing this is the same (or related) issue, if the input still does not contain a valid CID this is expected to happen. The error as in ipfs/go-ipld-cbor#36 should be improved.

If the error is still in the JSON input I'm gonna ask you to close this and move the discussion to https://discuss.ipfs.io/, maybe another IPFS user who has experience with computes.io could guide you on how to work with it; if you find out this is a separate error feel free to document it here.

@ConorTighe
Copy link
Author

ConorTighe commented Jul 16, 2018

This error takes place at a different step in the process so I assumed it was unrelated, the encoding error is resolved and ipfs dag put worked fine, this is when the actual task is executed.

{
  "runner": {
    "type": "docker-json-runner",
    "manifest": {
      "*": {
        "image": "ctighe/word-alg:latest"
      }
    }
  },
  "result": {
    "action": "set",
    "destination": {
      "dataset": { 
        "init": "wordalg-results"
      },
      "path": "split/results"
    }
  }
}

Another JSON:

{
 "input": {
   "dataset": "i love skynet"
 },
  "taskDefinition": {
    "/": "zdpuAnQBAh7Cyk93PbQsU1pCsGRYbZwRYNZ8ecJc1H9kxXico"
  },
  "status": {
    "init": "word-status"
  }
}

@schomatis
Copy link
Contributor

Yes, the JSON is valid. The error reported comes from Compute in

https://github.com/computes/ipfs-http-api/blob/31af148be16bb62bf45557e2db8c50b7c3c8c1a3/dag/put.go#L49

but it's just reporting a server error, which can mean many things, and I can't find any references to UpdateResultsBytes. Maybe you could enable the debug in

https://github.com/computes/ipfs-http-api/blob/master/dag/put.go#L39

to see what input is actually being sent to the HTTP API.

@ConorTighe
Copy link
Author

Could a office proxy be effecting the swarms ability to connect properly? they appear as peers but once I debug the daemon is see the following updates:

15:09:31.716 DEBUG swarm2: <peer.ID XL3Pe6> swarm dialing <peer.ID SoLPpp> /ip6/2604:a880:1:20::203:d001/tcp/4001 swarm_dial.go:401
15:09:31.716 DEBUG reuseport-: failed to reuse port, dialing with a random port: network is unreachable reuseport.go:59
15:09:31.716 INFO swarm2: got error on dial to /ip6/2604:a880:1:20::203:d001/tcp/4001: <peer.ID XL3Pe6> --> <peer.ID SoLPpp> dial attempt failed: dial tcp6 [2604:a880:1:20::203:d001]:4001: connect: network is unreachable swarm_dial.go:370

@schomatis
Copy link
Contributor

Could a office proxy be effecting the swarms ability to connect properly?

Yes.

/cc @Stebalien

@schomatis
Copy link
Contributor

@ConorTighe
Copy link
Author

Is there any documentation or solutions found on creating a swarm behind a proxy? Those issues dont really solve the problem just acknowledge them.

@schomatis
Copy link
Contributor

Is there any documentation or solutions found on creating a swarm behind a proxy?

Not that I know of, sorry.

Those issues dont really solve the problem just acknowledge them.

Yes, they are more a reference to @Stebalien than to you, as this issue may be a duplicate of one of them.

@ConorTighe
Copy link
Author

ConorTighe commented Jul 16, 2018

Ok cool ill keep looking into trying to get around this anyway ill keep an eye on those threads to see if any progress is made, thanks.

@Stebalien
Copy link
Member

Let's move the proxy discussion to libp2p/go-libp2p#286. Some local testing shows that it at least works for dialing if the proper environment variables are set.

@schomatis
Copy link
Contributor

Ok, closing this then, as the JSON input was valid.

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

No branches or pull requests

3 participants