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

spawner should create dynamic vats, rather than evaluating code in the spawner's own vat #1343

Closed
warner opened this issue Jul 28, 2020 · 3 comments · Fixed by #2941
Closed
Assignees
Labels
enhancement New feature or request spawner Spawner and contractHost

Comments

@warner
Copy link
Member

warner commented Jul 28, 2020

We should move the spawner package to put code into new dynamic vats, just like the new split-Zoe does.

This will unblock #1341.

@warner warner added enhancement New feature or request spawner Spawner and contractHost labels Jul 28, 2020
@warner warner self-assigned this Jul 29, 2020
@warner warner removed their assignment Aug 5, 2020
@warner
Copy link
Member Author

warner commented Aug 5, 2020

I think @Chris-Hibbert suggested that this might be in his arena, although much lower priority than everything else right now.

@Chris-Hibbert
Copy link
Contributor

What I hadn't realized is that the spawner is being used from dapp deploy scripts to kick off the persistent portion of the dapp. We need to find a different solutions for those uses (hopefully that relies on dynamic vats) so we can drop the spawner, since the spawner continues to rely on some metering code we'd like to expunge.

@warner warner assigned warner and unassigned Chris-Hibbert Apr 22, 2021
@warner
Copy link
Member Author

warner commented Apr 22, 2021

I'm taking this one back over, because I want to remove within-vat metering right away. From @katelynsills and @Chris-Hibbert 's advice, I'm going to strip out all of the remaining zoe-like features (contract identity, invitations, access to source code, etc). It looks like all of the dapps that use the spawner are not using those features.

warner added a commit that referenced this issue Apr 23, 2021
This removes all zoe-like functionality from the spawner, leaving a bare
install() and spawn() API. This is now effectively a wrapper around
createVat(), except that it accepts source code which exports a default
function, rather than an export named `buildRootObject`, and it does not
return the control facet (`adminNode`) to the caller.

Our two cosmic-swingset applications (chain and ag-solo) are updated to
create the spawner correctly. Dapps can continue to use the existing API
without changes.

closes #1343
warner added a commit that referenced this issue Apr 23, 2021
This removes all zoe-like functionality from the spawner, leaving a bare
install() and spawn() API. This is now effectively a wrapper around
createVat(), except that it accepts source code which exports a default
function, rather than an export named `buildRootObject`, and it does not
return the control facet (`adminNode`) to the caller.

Our two cosmic-swingset applications (chain and ag-solo) are updated to
create the spawner correctly. Dapps can continue to use the existing API
without changes.

closes #1343
warner added a commit that referenced this issue Apr 23, 2021
Now that spawner uses createVat() (#1343), deploys to the solo machine take
longer. The integration test was allowing 60s for `agoric deploy
./contract/deploy.js ./api/deploy.js` to work, and that used to take 47s on
my local machine, but now it takes 76s, and would exceed the timeout.

I increased the timeout to 120s to fix this.

When we switch vats to use XS, this should be dramatically faster (about
10x), so we'll have have plenty of margin.
warner added a commit that referenced this issue Apr 23, 2021
This removes all zoe-like functionality from the spawner, leaving a bare
install() and spawn() API. This is now effectively a wrapper around
createVat(), except that it accepts source code which exports a default
function, rather than an export named `buildRootObject`, and it does not
return the control facet (`adminNode`) to the caller.

Our two cosmic-swingset applications (chain and ag-solo) are updated to
create the spawner correctly. Dapps can continue to use the existing API
without changes.

closes #1343
warner added a commit that referenced this issue Apr 23, 2021
Now that spawner uses createVat() (#1343), deploys to the solo machine take
longer. The integration test was allowing 60s for `agoric deploy
./contract/deploy.js ./api/deploy.js` to work, and that used to take 47s on
my local machine, but now it takes 76s, and would exceed the timeout.

I increased the timeout to 120s to fix this.

When we switch vats to use XS, this should be dramatically faster (about
10x), so we'll have have plenty of margin.
warner added a commit that referenced this issue Apr 23, 2021
Now that spawner uses createVat() (#1343), deploys to the solo machine take
longer. The integration test was allowing 60s for `agoric deploy
./contract/deploy.js ./api/deploy.js` to work, and that used to take 47s on
my local machine, but now it takes 76s, and would exceed the timeout.

I increased the timeout to 120s to fix this.

When we switch vats to use XS, this should be dramatically faster (about
10x), so we'll have have plenty of margin.
warner added a commit that referenced this issue Apr 23, 2021
This removes all zoe-like functionality from the spawner, leaving a bare
install() and spawn() API. This is now effectively a wrapper around
createVat(), except that it accepts source code which exports a default
function, rather than an export named `buildRootObject`, and it does not
return the control facet (`adminNode`) to the caller.

Our two cosmic-swingset applications (chain and ag-solo) are updated to
create the spawner correctly. Dapps can continue to use the existing API
without changes.

closes #1343
warner added a commit that referenced this issue Apr 23, 2021
Now that spawner uses createVat() (#1343), deploys to the solo machine take
longer. The integration test was allowing 60s for `agoric deploy
./contract/deploy.js ./api/deploy.js` to work, and that used to take 47s on
my local machine, but now it takes 76s, and would exceed the timeout.

I increased the timeout to 120s to fix this.

When we switch vats to use XS, this should be dramatically faster (about
10x), so we'll have have plenty of margin.
warner added a commit that referenced this issue Apr 24, 2021
This removes all zoe-like functionality from the spawner, leaving a bare
install() and spawn() API. This is now effectively a wrapper around
createVat(), except that it accepts source code which exports a default
function, rather than an export named `buildRootObject`, and it does not
return the control facet (`adminNode`) to the caller.

Our two cosmic-swingset applications (chain and ag-solo) are updated to
create the spawner correctly. Dapps can continue to use the existing API
without changes.

closes #1343
warner added a commit that referenced this issue Apr 24, 2021
Now that spawner uses createVat() (#1343), deploys to the solo machine take
longer. The integration test was allowing 60s for `agoric deploy
./contract/deploy.js ./api/deploy.js` to work, and that used to take 47s on
my local machine, but now it takes 76s, and would exceed the timeout.

I increased the timeout to 120s to fix this.

When we switch vats to use XS, this should be dramatically faster (about
10x), so we'll have have plenty of margin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request spawner Spawner and contractHost
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants