oasisprotocol / oasisprotocol/oasis-core
Worker initialization sometimes times out while accessing IAS
Open
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 369
- Forks
- 151
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
Sometimes the worker host aborts the IAS /report request. It respawns the worker and can recover though.
Details
looks like this:
level=error module=grpc-9988 caller=grpc.go:169 ts=2019-01-08T02:50:03.878308306Z msg="request failed" method=/ias.IAS/VerifyEvidence req_seq=30 err="ias: http POST failed: context deadline exceeded"
level=error module=worker/host/sandboxed caller=protocol.go:191 ts=2019-01-08T02:50:03.949256085Z runtime_id=0000000000000000000000000000000000000000000000000000000000000000 worker_pid=17995 msg="error while receiving message from worker" err=EOF
level=warn module=worker/host/sandboxed caller=sandboxed.go:98 ts=2019-01-08T02:50:03.985679123Z runtime_id=0000000000000000000000000000000000000000000000000000000000000000 worker_pid=17995 msg="worker process terminated"
level=error module=worker/host/sandboxed caller=protocol.go:41 ts=2019-01-08T02:50:03.985722293Z runtime_id=0000000000000000000000000000000000000000000000000000000000000000 worker_pid=17995 msg="error while closing connection" err="close unix /tmp/ekiden-worker460609677/host.sock->@: use of closed network connection"
level=error module=worker/host/sandboxed caller=sandboxed.go:701 ts=2019-01-08T02:50:03.985737178Z runtime_id=0000000000000000000000000000000000000000000000000000000000000000 msg="failed to spawn new worker" err="worker: error initializing SGX CapabilityTEE: worker: error while verifying attestation evidence: rpc error: code = DeadlineExceeded desc = context deadline exceeded"
cross-reference: #1262
Acceptance Criteria
- that it times out very rarely
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with grpc.go:169, protocol.go:41 and :191, and sandboxed.go:98 and :701, then review cross-reference #1262. Trace the IAS /report or VerifyEvidence deadline through worker initialization and use the supplied logs as the failure case. Done means the worker initialization timeout occurs only very rarely, as specified by the acceptance criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc
- Domain
- backend, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100