oasisprotocol / oasisprotocol/oasis-core

Worker initialization sometimes times out while accessing IAS

Open
#1,268 3 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.