Urbit Troubleshooting


Errors and Troubleshooting

My point is not getting ota's

To take from current host star:

|ota (sein:title our now our) %kids

To prod it along:

|merge %kids (sein:title our now our) %kids, =gem %only-that
|merge %home (sein:title our now our) %kids, =gem %only-that

When I try to ota on my planet from my star, I wind up with a base hash of xxxxx (my star has a base hash of yyyyy but a home hash of xxxxx and a kids hash of xxxxx). How can I make sure that updates flow down correctly from my star's galaxy?

Your star probably has some stale extra files. On the star, you can run

|merge %kids (sein:title our now our) %kids, =gem %only-that

and then

|merge %home our %kids

(you might need the =gem part on the second command as well)

That will align its kids desk with the parent galaxy, and then align its home desk with its kids desk.

  • Title is part of zuse (the standard library); it lets you query information about other ships (and yourself).
  • Sein is a function within title which lets you get the sponsor of a given ship - the parameters you give it are (afaik) \who are you \ when is it \ who do you want to know about. Not totally sure why you need to specify who you are, but it seems to break if you put in anything else for the first 'our'.
  • Our is just the current ship (if you type it into dojo on its own you'll get your ship name back).
  • Now is the current time.

So (sein:title our now our) is "who is my current sponsor" and `(sein:title our now~zod)`is "who is ~zod's current sponsor".

Error: dojo: generator failure

A generator is a one-shot script like +code or |hi. Generator failure probably means you submitted an invalid input. If it said dojo: nest-need / dojo: nest-have it means the input was of the wrong type. If it didn't say anything apart from the stack trace it probably intentionally crashed itself with a ?> test, again probably because of bad input anyway it shouldn't matter, generators crashing doesn't cause any problems.

Error: Derived networking keys do not match on chain details

The way networking key derivation works is as follows:

If you log in using a master ticket, we derive the networking keys from that (as defined in UP8, the urbit wallet spec).

If you log in using any other method, you sign a "Bridge authentication token" on-login, and we derive the networking keys from that instead.

The latter wasn't always the case. Up until July 2020, we used random networking keys for the second case, preventing Bridge from re-deriving the keyfile on future logins.

This message means that, for whatever reason, Bridge cannot derive the (networking) private keys that match the public ones registered on-chain. This is not a problem per se, it just means you cannot re-download the keyfile that you should be using right now.

If you've already booted your ship, fine, this is not a problem, because you don't need the file. If you still need to boot your ship, you can simply configure new networking keys, and those should be derivable by Bridge going forward, provided you use the same login details.

Error: no such user or named directory: planet-name

You tried to boot Urbit by including the tilde in the planet name. Linux thinks you're referring to a user. Leave the tilde off.

Error: error fetching http://eth-mainnet.urbit.org:8545: HTTP 404

The Ethereum server crashed at Tlon.  It's not your fault.  Wait a little while and try booting again.

About the author

Jeremy Tunnell
I study Integral Theory and Zen Buddhism at Integral Zen.


Get in touch

You can reach Jeremy at [email protected]