Skip to content

feat(ocap-kernel): Add error handling for #launchVatsForSubcluster #564

@grypez

Description

@grypez

During #launchVatsForSubcluster, if one of the vats fails to build its root object, one of the following should happen:

  • #launchVatsForSubcluster should throw an error describing which vats failed to buildRootObject
  • In the vats object passed to the bootstrap method, the value associated to the failing vat's key should should short circuit any attempts to use it like a root object.

The current behavior is an unhelpful message about some record missing from the run queue.

SES_UNHANDLED_REJECTION: [Error <Object <[Object: null prototype] {}>>: no record matching key 'queue.run.3'

IMO we should just consider a failure of buildRootObject to be fatal to cluster initialization.

Reading the code, it also seems that if 'bootstrap' was specified in the clusterConfig but a vat by that name was not found, the subcluster will just initialize without bootstrapping. This should probably be an error condition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions