Live data from Hacker News

Debugging in the Multiverse

antithesis.com

1–10 of 62 posts

Re: Debugging in the Multiverse

#4
post #3

This looks very interesting! Is it possible to implement this in a node.js web app? Does it work with any build tool? How much latency does it add to a production server?

The simulation is a completely generic Linux system, so we can run anything (including NodeJS). If your build tool can produce Docker containers, then it will work with us.

We don't run this on your production server, but in the same simulation that we use to find your bugs. See also: https://antithesis.com/product/how_does_antithesis_work/

Re: Debugging in the Multiverse

#5

Antithesis employee here. Happy to jump in and answer any burning questions people might have about multiverse debugging.

> Let’s get more concrete. Let’s use this to solve a real problem. My server has crashed and its process has exited! No worries, I’ll just rewind time, attach a debugger to the process, and set a breakpoint or capture a thread dump:

Is this kind of stuff only possible in an Antithesis Environment?

Re: Debugging in the Multiverse

#6

Antithesis employee here. Happy to jump in and answer any burning questions people might have about multiverse debugging.

The intro mentions that ordinarily, we have to pay a high upfront cost to record info that we might need to debug later.

> When we succeed at this, we collect huge volumes of logs “just in case” they provide some crucial clue, incurring equally huge storage costs.

The 'packets from the past' section says we can just retroactively decide what we should have recorded.

Doesn't that mean we're effectively recording everything always? What's the cost of this? Or is all of this under the assumption that we never have to debug something that happened outside of the simulation environment, e.g. in response to an actual in-bound request from a customer? If this is just saying we can afford to save everything in our development environment ... well in that context recording the logs probably wasn't a "huge storage cost" either, right? Or am I missing something basic here?

Re: Debugging in the Multiverse

#7

Antithesis employee here. Happy to jump in and answer any burning questions people might have about multiverse debugging.

> Let’s get more concrete. Let’s use this to solve a real problem. My server has crashed and its process has exited! No worries, I’ll just rewind time, attach a debugger to the process, and set a breakpoint or capture a thread dump: Is this kind of stuff only possible in an Antithesis Environment?

Yes, unfortunately we have not figured out how to rewind time in the real world yet. When we do, there are a lot of choices I'm going to revisit...

Re: Debugging in the Multiverse

#8
post #6

Antithesis employee here. Happy to jump in and answer any burning questions people might have about multiverse debugging.

The intro mentions that ordinarily, we have to pay a high upfront cost to record info that we might need to debug later. > When we succeed at this, we collect huge volumes of logs “just in case” they provide some crucial clue, incurring equally huge storage costs. The 'packets from the past' section says we can just retroactively decide what we should have recorded. Doesn't that mean we're effectively recording every…

You're right that if you tried to do something like this using record/replay, you would pay an enormous cost. Antithesis does not use record/replay, but rather a deterministic hypervisor (https://antithesis.com/blog/deterministic_hypervisor/). So all we have to remember is the set of inputs/changes to entropy that got us somewhere, not the result of every system operation.

Re: Debugging in the Multiverse

#10
post #7

Earlier quoted context omitted.

> Let’s get more concrete. Let’s use this to solve a real problem. My server has crashed and its process has exited! No worries, I’ll just rewind time, attach a debugger to the process, and set a breakpoint or capture a thread dump: Is this kind of stuff only possible in an Antithesis Environment?

Yes, unfortunately we have not figured out how to rewind time in the real world yet. When we do, there are a lot of choices I'm going to revisit...

> Yes, unfortunately we have not figured out how to rewind time in the real world yet.

10 bucks says you get complaints for not implementing the "real world" feature.

Post reply on HN