Commit Graph

579 Commits

Author SHA1 Message Date
Philip Monk
15bd35301e
jael: properly store ship sources 2019-12-18 10:42:57 -03:30
Ted Blackman
9fb37543ec ford: clear build results on +load 2019-12-18 00:25:27 -05:00
Philip Monk
7ca3d9624e
ames: handle misordered crashing boons
Two bugs fixed here: first, if the %done reentrancy triggered another
%boon, that wasn't getting translated to a %lost, even though it could
have been the reason the event crashed in the first place.

Second, the %done reentrancy needs to happen after we emit our move, so
that we don't invert the order of the %boon's we produce.
2019-12-17 20:58:30 -08:00
Philip Monk
e5ac690fd3
jael: re-enable ship-to-ship communication
Also fix bug in eth-watcher that didn't cancel outstanding threads when
config changes.

And set default rift for ourselves to 0.
2019-12-17 16:14:07 -08:00
Philip Monk
769a1c96af
eyre: turn sigpam into flog
This error is mostly harmless, but it does indicate we aren't cleaning
up our subscriptions properly.  This lets you silence with |knob.

fixes #2088
2019-12-14 00:49:23 -08:00
Philip Monk
b14606660a
goad: recompile apps after changes to /sys
OTAs commonly end up in an inconsistent state if apps depend on changes
to /sys.  For example, the %sift changes break on OTA because %spider
needs to be reloaded so that it's aware of the new thread type.  This
adds a %goad app, which reloads all apps after every change to /sys.

Getting this to start OTA is nontrivial, but this pattern should work
for apps in the future.  The changes to clock shouldn't generally be
necessary; they are only necessary here because we can't rely on hood to
start goad, since hood fails to compile if it's run before zuse is
reloaded.  Once goad is active, this will cease to be a problem.
2019-12-13 17:14:51 -08:00
Jared Tobin
9ba4505086
Merge branch 'ames-sift' (#2081)
* ames-sift:
  ames: refactor +load
  ames: +send-blob better ship printing
  hood: |ames-sift generator to trace by ship
  ames: add %sift  to trace by ship

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:06:32 +08:00
Ted Blackman
35596ca7de
ames: refactor +load 2019-12-12 15:55:37 +08:00
Ted Blackman
d4574b5da4
ames: +send-blob better ship printing 2019-12-12 15:55:36 +08:00
Ted Blackman
d77fb0f685
ames: add %sift to trace by ship 2019-12-12 15:55:32 +08:00
Jared Tobin
85d447f173
Merge branch 'philip/gall-noop' (#2073)
* origin/philip/gall-noop:
  gall: no-op on duplicate watch-ack

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 15:50:19 +08:00
Jared Tobin
2aa86e3121
Merge branch 'philip/stuck-flow' (#2071)
* origin/philip/stuck-flow:
  ames: recover from mismatched message nums

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 15:49:53 +08:00
Jared Tobin
e4a7dae888
Merge branch 'philip/login-instructions' (#2039)
* origin/philip/login-instructions:
  eyre: add instructions to login page

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 15:46:36 +08:00
Philip Monk
3b41a8be15
gall: no-op on duplicate watch-ack
fixes #2070
2019-12-10 18:49:50 -08:00
Philip Monk
29f078bb14
ames: don't forward up the sponsorship chain
This is *actually* why the galaxies are under so much load.  They're in
a forwarding loop with their stars, and this breaks the loop.
2019-12-10 16:20:12 -08:00
Philip Monk
68279d91e4
gall: remove message type from wire
%leave over the network didn't work because we included the message type
in the wire from gall, so the duct for the initial %watch and the %leave
were different.  We need to know the message type so we can route the
acknowledgment as %poke-ack, %watch-ack, or no-op.

This moves this piece of information to a piece of state, where we queue
up the message types per [duct wire].  Ames guarantees that
acknowledgments will come in order.

This also includes an easy state adapter.  The more interesting part of
the upgrade is that we likely have outstanding subscriptions with the
old wire format.  The disadvantage of storing information in wires is
that it can't be upgraded in +load.  So, here we listen for updates on
the old wire format, and when we get them we kill the old subscription,
so that it will be recreated with the new wire format.

As an aside, this is a good example of what we mean when we say
subscriptions may be killed at any time, so apps must handle this case.

Finally, this fixes the "attributing" ship to ~zod for agent requests.
This information was ignored for agent requests, but including it causes
spurious duct mismatches.
2019-12-10 19:32:26 +08:00
Philip Monk
e7c8a44e11
ames: recover from mismatched message nums
We've seen issues where the message-num of the head of live.state is
less than current.state.  When this happens, we continually try to
resend message n-1, but we throw away any acknowledgment for n-1 because
current.state is already n.  This halts progress on that flow.

We don't know what causes us to get in this bad state, so this adds an
assert to the packet pump that we're in a good state, run every time
the packet pump is run.  When this crashes, we can turn on |ames-verb
and hopefully identify the cause.

This also adds logic to +on-wake in the packet pump to not try to resend
any messages that have already been acknowledged.  This is just to
rescue ships that currently have these stuck flows.

(Incidentally, I'd love to have a rr-style debugger for stuff like this.
Just run a command that says "replay my event log watching for this
specific condition and then stop and let me poke around".)
2019-12-09 23:31:18 -08:00
Philip Monk
abde1d8aa9
ames: reduce load by increasing timer delays 2019-12-06 12:11:06 -08:00
Philip Monk
956a3c7420
eyre: add instructions to login page 2019-12-05 12:31:42 -08:00
Ted Blackman
bee0b5803a
ames: don't crash on missing queued larval event 2019-12-05 17:04:24 +08:00
Jared Tobin
41b64feb16
Merge branch 'philip/p2p' (#2025)
* philip/p2p:
  ames: don't overwrite lane if already direct

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:08:01 +08:00
Philip Monk
5406f06092
ames: don't overwrite lane if already direct
This is why basically all packets are going through the galaxies right
now.  Most of the time, the flow right now is:

* talking to ~dopzod but don't know where it is, so ask ~zod to forward,
  which it does

* ~dopzod responds both directly (on the origin lane) and through ~zod

* (if NAT, the direct response doesn't get back, but the one through
  ~zod does. Then you respond directly to ~dopzod because their lane
  piggybacked on the response. ~dopzod responds both directly and
  through ~zod, and the story picks up the same as if you weren't behind a
  NAT)

* now you have a direct lane to ~dopzod, so all is well.

* now the duplicate response from ~dopzod through ~zod comes in (takes a
  little longer because it's bouncing off ~zod), resetting your lane to
  "provisional"

* since your lane is provisional, you send your next packet both
  directly and through ~zod

* GOTO 2

This change says "if I already have a direct lane, don't overwrite it
with a provisional one". This way, the only way the direct lane can be
overwritten is if they stop responding on it (cleared on "not
responding; still trying").

I also added |- to +send-blob to make |ames-verb %rot less confusing.
2019-12-05 16:05:06 +08:00
Jared Tobin
75ca54ca24
Merge branch 'ames-sponsor-scry-2' (#2021)
* ames-sponsor-scry-2:
  ames: scry for sponsor and don't crash on jael response

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 15:43:00 +08:00
Ted Blackman
a7e638ebab ames: scry for sponsor and don't crash on jael response 2019-12-04 17:18:39 -05:00
Ted Blackman
b3f757d88b
ames: send larval crashes to dill 2019-12-05 02:23:13 +08:00
Ted Blackman
4c9cc1542a
ames: dequeue failed larval timer 2019-12-05 02:23:13 +08:00
Ted Blackman
c20f2391e1
ames: print and retry larval crashes 2019-12-05 02:22:27 +08:00
Philip Monk
ebec1eb54f
ping: delay kick until after ames processes breach 2019-12-04 02:27:35 -08:00
Philip Monk
9bc6ccb7fc
ames: don't say not responding if we haven't been talking 2019-12-03 20:21:43 -08:00
Philip Monk
38197fc79d
gen: add comments on new generators 2019-12-03 16:41:29 -08:00
Philip Monk
98b886acf2
Merge remote-tracking branch 'jfranklin9000/master' into rc 2019-12-03 15:10:32 -08:00
Philip Monk
702dd2c07a
verb: add +verb %bowl to print bowl on every event 2019-12-03 15:05:42 -08:00
Philip Monk
8c2c52c01c
ames: make life printf helpful 2019-12-03 13:06:04 -08:00
Philip Monk
2954ed0b55
gall: correctly construct wire for ap-specific-take 2019-12-02 23:46:15 -08:00
Philip Monk
5f1c4805fe
ames: printfs 2019-12-02 23:13:48 -08:00
Philip Monk
c90107659b
Merge remote-tracking branch 'origin/rc-ames-verb' into rc 2019-12-02 20:22:04 -08:00
Philip Monk
93d3edbf73
pill 2019-12-02 20:09:36 -08:00
Philip Monk
9186f232f1
gall: kick after sending leave 2019-12-02 20:09:36 -08:00
Ted Blackman
d0d45ed8f2
ames: fix message pump to complete queueing fix 2019-12-02 20:09:35 -08:00
Ted Blackman
6dcb6622fa
ames: fix ack queueing 2019-12-02 20:09:35 -08:00
Ted Blackman
0cb6464e9d ames: %spew to set verbosity 2019-12-02 18:46:40 -05:00
Philip Monk
096273cf4a
gall: add state upgrade for %pack 2019-12-02 03:20:34 -08:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
Philip Monk
e3005eaffa
ames: clear out-of-order messages from packet queue 2019-12-02 00:41:50 -08:00
Philip Monk
aaf7b3b42e
ames: don't crash in +on-take-wake 2019-12-01 16:00:32 -08:00
Ted Blackman
0a8b12c882 ames: state adapter 2019-12-01 02:49:46 -05:00
Ted Blackman
900d923ccc ames: fix aggressive lane timeout (still needs migration) 2019-12-01 02:49:46 -05:00
John Franklin
c36edc838e jael: add %lyfe and %ryft scrys (unitized %life and %rift) and use in +trouble 2019-11-30 19:04:18 -06:00
Philip Monk
d6c1ff4e20
ames: add routing diagnostics 2019-11-30 14:44:57 -08:00
Ted Blackman
071b1a4bbe ames: ~s30 max timeout instead of ~m2 2019-11-28 01:17:34 -05:00
Ted Blackman
93604c2f29 Merge branch 'rc' of github.com:urbit/urbit into rc 2019-11-27 23:06:53 -05:00
Ted Blackman
3779cca5a9 ames: try sponsors above .our 2019-11-27 23:06:39 -05:00
Philip Monk
23cc21c383
ames: remove printf 2019-11-27 19:39:12 -08:00
Ted Blackman
e9ba500ee4 Merge branch 'rc' of github.com:urbit/urbit into rc 2019-11-27 22:31:18 -05:00
Philip Monk
26c5be2948
ames: remove printf 2019-11-27 18:40:33 -08:00
Ted Blackman
9af7b3954a ames: ignore encrypted packets from alien comets 2019-11-27 20:58:18 -05:00
Philip Monk
138cbb5d2e
ames: clean up printfs 2019-11-27 16:58:26 -08:00
Philip Monk
fdb1069b33
ames: printfs 2019-11-27 16:43:09 -08:00
Philip Monk
fc74ab2dbd
ames: count unsent messages for backpressure 2019-11-27 15:58:38 -08:00
Philip Monk
74b0f66850
ames: continue processing memos after %done 2019-11-27 15:13:17 -08:00
Philip Monk
f035955a36
ames: rename alef -> ames 2019-11-27 00:46:02 -08:00
Philip Monk
96be4b65a5
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-27 00:14:08 -08:00
Ted Blackman
55c19a7d47 ames: use +crub more in comet logic 2019-11-27 02:13:15 -05:00
Ted Blackman
e3dba2ea75 incorporate @pcmonk's fix for .channel and .peer-state 2019-11-27 02:11:43 -05:00
Philip Monk
d0d66b99f4
ames: save acknowledgement when negative %done 2019-11-26 22:48:22 -08:00
Ted Blackman
6c18a4ef76 ames: use +crub for comet attestation 2019-11-27 01:15:05 -05:00
Ted Blackman
7fdb940b5c ames: fix another comet bug 2019-11-26 23:52:43 -05:00
Ted Blackman
f91a1f4873 ames: fix egregious comet bug 2019-11-26 22:54:00 -05:00
Philip Monk
9a94c35d4d
gall: acutally delete outgoing on watch-ack 2019-11-26 18:18:44 -08:00
Ted Blackman
3f550d669e Merge remote-tracking branch 'origin/philip/mall-real' into mall-testnet 2019-11-26 20:20:23 -05:00
Philip Monk
bf55197baf
ames: backpressure fixes 2019-11-26 14:56:20 -08:00
Philip Monk
7cfe1542e5
ames: too big of messages 2019-11-26 12:00:27 -08:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Joe Bryan
3741e734cb dill: adds |pack and and friends 2019-11-22 17:24:42 -08:00
Philip Monk
f8b612d053
ph: add ph-all to run multiple tests 2019-11-22 12:46:30 -08:00
Ted Blackman
5110b3459b ames: only %clog on 5 unsent messages 2019-11-22 08:43:08 -05:00
Ted Blackman
4b4e5ba80c ames: fix typo 2019-11-22 08:42:19 -05:00
Ted Blackman
93ab01e274 ames: minor printing improvements 2019-11-21 23:10:49 -05:00
Philip Monk
9d47222139
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-21 19:07:28 -08:00
Ted Blackman
4446c96814 yet another oops 2019-11-21 21:24:34 -05:00
Ted Blackman
8bbdc45a01 another oops 2019-11-21 21:23:34 -05:00
Ted Blackman
a4bad50e71 oops 2019-11-21 21:22:05 -05:00
Ted Blackman
ae76a33157 ames: kill timers on breach 2019-11-21 21:20:39 -05:00
Ted Blackman
1d88275032 ames: abandon ill-fated decryption reordering 2019-11-21 21:17:43 -05:00
Ted Blackman
29c816c65c ames: fix typo 2019-11-21 21:15:05 -05:00
Ted Blackman
cf543134ee ames: don't repeat broken timers 2019-11-21 21:13:09 -05:00
Ted Blackman
e7be81e219 ames: check life before decrypt 2019-11-21 21:12:42 -05:00
Ted Blackman
b944024893 ames: fix nest-fail; update solid pill 2019-11-21 20:41:17 -05:00
Ted Blackman
4988875ea8 ames: don't brick on timer error 2019-11-21 19:52:57 -05:00
Philip Monk
bdbd35fcf3
gall: virtualize scry
Compare +mute and +mule.  Those pass through scry, which doesn't allow us to
catch crashes due to blocking scry.  If you intercept scry, you can't preserve
the type polymorphically.  By monomorphizing, we are able to do so safely.
2019-11-21 14:47:06 -08:00
Philip Monk
b8903e9a6f
gall: fix ap-kill-down
This broke when %kick was handled by resubscribing on your own ship
because it processed the %kick before the %leave.  For example, `@t`404
at the dojo would put the dojo in an unworkable state.

You want the %leave to be processed first because you can't do a
"resubscribe" in response to that.
2019-11-20 13:24:19 -08:00
Philip Monk
1d1119c1f3
drum: unsubscribe on poke-ack failure 2019-11-20 12:12:33 -08:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
Philip Monk
6a406e6b29
gall: mall -> gall 2019-11-18 20:36:21 -08:00
Philip Monk
9862dccc0e
mall: age -> app 2019-11-18 19:28:59 -08:00
Philip Monk
fea3bd60e4
dojo: add syntax for imps
This adds syntax for running imps.  For example:

-time ~s1

Runs the "time" imp with the argument ~s1.  This blocks the terminal
until the imp has completed (backspace kills it, of course).  You could
avoid blocking the terminal if you sacrifice the ability to use imps as
sources in more complex commands.

In keeping with this one-and-done view of imps, this also changes spider
to not use a live build of imps.  This significantly reduces the amount
of uncertainty around imps -- spider will try exactly once to run your
imp, and if it fails it'll tell you.  If you want to retry, that's up to
you.
2019-11-15 17:20:56 -08:00
Ted Blackman
49d81265c3 alef: clean up printing 2019-11-14 19:10:48 -05:00
Philip Monk
3dae66332c
jael: process all ships in %full update 2019-11-14 14:54:48 -08:00
Philip Monk
c9f437e3c6
jael: process all ships in %full update 2019-11-14 14:46:14 -08:00
Philip Monk
607a2c0ac6
eyre: fix tests 2019-11-13 19:41:56 -08:00
Jared Tobin
39fb914cdd
Merge branch 'philip/jael-no-sub' (#1944)
* philip/jael-no-sub:
  jael: only listen to azimuth-tracker on boot

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-14 09:58:34 +08:00
Philip Monk
5fd75edcc6
eyre: change id format 2019-11-13 14:07:37 -08:00
Philip Monk
a1b928488d
eyre: remove eyre-id from eyre's state 2019-11-13 01:45:04 -08:00
Philip Monk
cc94abf717
eyre: cancel subscriptions more aggressively 2019-11-13 01:21:14 -08:00
Philip Monk
4a6e98a558
mall, eyre: refactor server apps to be stateless 2019-11-13 00:38:35 -08:00
Philip Monk
47e3b260d5
eyre: subscribe to apps for responses
This removes the %http-response special case from gall.  In its place,
we implement a subscription regime with the following steps:

- Agent sends %connect to Eyre
- Eyre pokes agent with %handle-http-response, including unique eyre-id
- Agent passes %start-watching to Eyre with eyre-id and unique app-id
- Eyre subscribes to agent on /http-response/app-id
- Agent produces a %http-response-header fact followed by 0 or more
  %http-response-data facts and possibly a %http-response-cancel fact
- Agent produces a %kick to close the subscription, which Eyre
  interprets as completion of the message.

This works when there is data.  There is currently a bug where if the
response has no data in total (as in the case of a naked 404), no
response will be sent.

This also includes lib/http-handler, which implements a convenient
interface for agents that want to respond immediately with all the data.
This lets them avoid carrying extra state to keep track of pending
requests.

This should really have access to your state and the ability to change
it.  Perhaps a more minimalist design would be better: just keep track
of the requests, then hand it off to +on-watch when eyre is ready to
receive responses.  It's not clear how to pass in the request data in
+on-watch.
2019-11-12 23:37:38 -08:00
Philip Monk
0e564e2f28
jael: only listen to azimuth-tracker on boot
For some reason Jael subscriptions aren't starting properly for many
people.  Until we can get to the bottom of it, this sets everyone to
start listening directly to the chain.
2019-11-12 22:00:57 -08:00
Philip Monk
b25412b93b
clay: fix meet-conflict crash 2019-11-11 21:42:33 -08:00
Philip Monk
e603681097
clay: fix meet-conflict crash 2019-11-10 14:33:48 -08:00
Philip Monk
ae295d445a
mall: rm old apps for easier merging 2019-11-09 16:53:42 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
Philip Monk
7c4316fce4
mall: refactor gift/sign/task types
+on-agent now takes a +sign:agent:mall, which doesn't include spurious
options.  Similarly, +task:agent:mall is smaller.
2019-11-08 17:35:24 -08:00
Philip Monk
1688fe82fd
mall: add flag to default-agent to assist with errors 2019-11-08 13:56:35 -08:00
Philip Monk
d096c18377
mall: properly delete on %kick 2019-11-07 18:25:19 -08:00
Philip Monk
67ef0ed0f7
mall: don't remove sub until sent kick 2019-11-07 16:30:45 -08:00
Philip Monk
68a7f58447
mall: set attributing to immediate source 2019-11-07 14:46:06 -08:00
Philip Monk
9d2585772d
mall: fan out kicks 2019-11-07 13:17:13 -08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Philip Monk
23f99e8f85
jael: don't update state until you've tested for breach
We were updating our state and then using that when checking if the rift
had incremented.  This would never be true, since we'd already set the
new state.

Fixes #1852 again
2019-11-06 12:51:33 -08:00
Jared Tobin
24f6309670
Merge branch 'behn-flop-drip' (#1916)
* behn-flop-drip:
  behn: print %drip errors in the correct order

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 18:31:45 +08:00
Philip Monk
46d89dd823
mall: convert dns-collector 2019-11-05 19:55:51 -08:00
Joe Bryan
cafb58b080 dill: fixes cursor position during boot 2019-11-05 14:56:15 -08:00
Joe Bryan
5ace479711 dill: adds %goad automation 2019-11-05 14:56:10 -08:00
Joe Bryan
c930aceec6 dill: refactors move production 2019-11-05 13:08:10 -08:00
Joe Bryan
d852d4f159 gall: restores "not-running" printf 2019-11-05 13:04:27 -08:00
Joe Bryan
1b187657cb gall: adds %goad task force agent rebuilds 2019-11-05 13:04:27 -08:00
Joe Bryan
6ccc8b65d5 behn: print %drip errors in the correct order 2019-11-05 00:22:53 -08:00
Philip Monk
0e2da1e130
mall: convert lanaguage-server 2019-11-04 23:47:27 -08:00
Philip Monk
274d518cbc
mall: forward-port gall changes 2019-11-04 20:19:08 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Joe Bryan
ec32a76596 gall: fix virtualization of agent compilation 2019-11-04 15:29:17 -08:00
Ted Blackman
19c4bf7110 alef,gall: %clog notice and handling 2019-11-03 20:35:45 -05:00
Ted Blackman
3ecfbd6a68 fixed merge; sync and hi work again 2019-11-03 00:07:51 -04:00
Ted Blackman
9a02c64b45 Merge branch 'master' into alef-testnet-merge
Untested, has not been run.
Uses master pills for now.  Will need refreshing.
2019-11-02 23:37:01 -04:00
Ted Blackman
22ef92053a gall and ames: |hi works, fixed alef nack-trace bug 2019-11-02 20:52:48 -04:00
Ted Blackman
6f2ebe8ebd gall: deleted +ap-track-queue, boot completes 2019-11-01 16:18:51 -04:00
Ted Blackman
f7c1af8dec pill compiles, but apps unlink on boot 2019-11-01 15:06:09 -04:00
Ted Blackman
925489eba6 /sys: various merge fixes 2019-10-30 16:23:37 -04:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Anton Dyudin
78d10f30cd
eyre: fix wire=path terminology 2019-10-25 16:04:29 -07:00
Jared Tobin
7f124db8d9
Merge branch 'philip/jael-ames-full' (#1882)
* philip/jael-ames-full:
  jael: provide edge-triggered breach notification

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-25 14:05:01 +08:00
Philip Monk
9ddc04143a
jael: provide edge-triggered breach notification
Until now, clients of Jael have had to store the first-seen rift if they
want to reliably detect breaches.  Otherwise, they would get a false
positive if they heard an old message about a breach (eg if you kick
azimuth-tracker).  Clay and Gall did this correctly, but Ames did not.

Jael already maintains this state, so I added a notification to the
existing subscription that happens whenever it notices a breach (a diff
or full where the new rift is greater than the old one).

Because this is an issue on the live network, I wrote state adapters
for Gall and Clay.  The Gall one just removes the rift from our state,
but the Clay one is much more involved because we have to upgrade
instances of the clad monad that are possibly in progress.
Specifically, since more input is possible than before, we must wrap any
in-progress instances of the monad in a function that handles the
potential new input from Jael.  This temporarily preservers a copy of
the old kernel, but only until the current commit/merge/update has
completed.

The real solution for Clay is to factor out those IO-heavy instances to
userspace tapp/async/imp/threads, and if an upgrade happens in the
middle, you should simply restart them.

Fixes #1852
2019-10-23 21:40:34 -07:00
Jared Tobin
bdfc270b2f
gall: fix bug in +ap-peek
fc7901d2 refactored much of +ap-peek, but introduced a bug in the
process.  The relevant diff from that commit is as follows:

  -        =/  =path  [ren tyl]
  -        =/  =vase  !>((slag p.u.cug path))
  -        (ap-slam q.u.cug p.arm vase)
  +        =/  index  p.u.maybe-arm
  +        =/  term  q.u.maybe-arm
  +        =/  =vase
  +          =/  =path  [term tyl]
  +          =/  raw  (slag index path)
  +          !>  raw
  +        (ap-slam term p.arm vase)

Note that [ren tyl] was replaced with [term tyl], where 'term' and 'ren'
are not equal.  This commit merely rights that wrong.
2019-10-22 15:22:30 +08:00
Philip Monk
87f689f443
custody: add more types 2019-10-21 15:41:28 -07:00
Philip Monk
be212ad54b
ames: better stack traces 2019-10-17 16:52:35 -07:00
Philip Monk
f835ef5a70
ames: don't crash 2019-10-17 12:33:35 -07:00
Jared Tobin
70ed0d6e98
Merge branch 'philip/jael-fix' (#1827)
* philip/jael-fix:
  jael: retrieve first sponsor instead of last

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-16 10:06:09 +04:00
Philip Monk
6b8d75a88c
jael: retrieve first sponsor instead of last 2019-10-15 18:04:34 -07:00
Jared Tobin
f0a0c66afd
ames: bump protocol version
A last-minute adjustment to the v0.9.0 release to ensure that ships in
the next era don't become haunted by ghosts of the past one.
2019-10-15 22:32:55 +04:00
Ted Blackman
625f855f24 master without pills, hopefully 2019-10-14 16:02:27 -04:00
Jared Tobin
ac55d362e9
Merge branch 'ames-boot-timer' (#1817)
* ames-boot-timer:
  pills: update solid
  ames: skip timers if unix duct is unset

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-11 11:08:35 +04:00
Joe Bryan
e9396973cc ames: skip timers if unix duct is unset 2019-10-10 17:21:39 -07:00
pkova
92cc039155 eyre: fix missing cancel-heartbeat-move cases 2019-10-10 20:59:39 +03:00
pkova
a019c2079e eyre: add channel \n heartbeat every 20 seconds 2019-10-07 03:11:11 +03:00
Jared Tobin
8aeaf1610b
Merge branch 'behn-log-drip-fail' (#1795)
* behn-log-drip-fail:
  updates solid pill
  behn: print error on failed %drip
2019-10-05 16:28:20 +04:00
Ted Blackman
5fcdb02db9 ames: reset congestion control params to 'reasonable' values 2019-10-05 01:00:20 -04:00
Ted Blackman
cc5e2c9564 temporary fast start for testing 2019-10-05 00:41:18 -04:00
Ted Blackman
8749fc7f13 try slowing down once cwnd > 1.000; 200 was too slow 2019-10-04 23:54:09 -04:00
Ted Blackman
eed3d8ce36 try slowing down once cwnd > 200 2019-10-04 23:39:51 -04:00
Ted Blackman
6bae84fbe4 fix enqueued message order 2019-10-04 23:38:32 -04:00
Ted Blackman
32360c2e5a try misordered acks 2019-10-04 23:21:29 -04:00
Isaac Visintainer
e9c639464b eyre: changed cookie format 2019-10-04 15:06:01 -07:00
Philip Monk
d202a4fb56 behn: print error on failed %drip 2019-10-04 14:05:52 -07:00
Ted Blackman
895927e583 print more 2019-10-02 03:46:34 -04:00
Ted Blackman
04bd180542 alef: cap cwnd 2019-10-02 03:37:56 -04:00
Ted Blackman
59ac079488 alef: tweak printing 2019-10-02 03:20:19 -04:00
Ted Blackman
f04e5b9f97 alef: print more 2019-10-02 03:13:11 -04:00
Ted Blackman
850f7b392b tweak printing 2019-10-02 02:47:45 -04:00
Ted Blackman
c480d12995 adjust printing 2019-10-02 02:38:56 -04:00
Ted Blackman
ed0483bd63 alef: preparing for misordered ack handling 2019-10-02 02:21:05 -04:00
Joe Bryan
ef959e0c52 gall: clear caches in response to memory pressure 2019-10-01 15:04:07 -07:00
Joe Bryan
1e9cc07649 eyre: close channels in response to memory pressure 2019-10-01 15:04:03 -07:00
Joe Bryan
8ff445c68c ford: clear caches in response to memory pressure 2019-10-01 11:35:08 -07:00
Philip Monk
9fc28a9538
mall: populate wex.bowl with outgoing subscriptions
fixes #1466
2019-09-30 20:53:12 -07:00
Jared Tobin
21c3119660
gall: remove %gall-booting printf
%gall currently prints

  [%gall-booting <app> p=<ship> q=<desk>]

whenever it receives a %conf (i.e., when it boots an app).  This turns
up in many of the places the old, less-informative '%mo-not-running'
printf did, but it's of similarly little use, and mainly serves to
create redundant line noise.  This commit just removes it.
2019-09-30 01:58:28 +04:00
Jared Tobin
2add146302
Merge branch 'reclamation' (#1773)
* reclamation:
  solid pill
  arvo: wires up %trim memory-pressure event stubs
  u3: wires up the %trim event in the daemon
  u3: adds %trim memory-pressure notification "effect"
  u3: tweaks |mass output (and fixes inadvertent truncation)
  u3: refactors periodic memory reclamation
  u3: factors out u3a_idle() to measure free-lists in a road
  u3: adds and uses u3a_full/heap/temp road macros
  u3: cleans up whitespace, removes dead code in allocator
2019-09-29 21:30:56 +04:00
Jared Tobin
5c99f33271
Merge branch 'ted/verb' (#1754)
* ted/verb:
  update pill
  hood: |knob {tag} {level} to set dill verbosity
  dill: set verbosity by error tag
2019-09-29 21:09:05 +04:00
Philip Monk
9c9115a7e0
spider, ph: convert ph to imps 2019-09-28 21:44:31 -07:00
Joe Bryan
3dd9bd7111 arvo: wires up %trim memory-pressure event stubs 2019-09-27 13:02:11 -07:00
Ted Blackman
f2073dbc34 dill: set verbosity by error tag 2019-09-27 13:55:14 -04:00
Philip Monk
b79dead5f8
spider: convert example-fetch to imp 2019-09-27 10:40:22 -07:00
Logan Allen
9a62a04042
eyre: better error handling in channel js 2019-09-27 16:30:53 +04:00
Ted Blackman
087adacc15 alef: reno-style congestion control (todo: misordered acks) 2019-09-27 07:45:22 -04:00
Philip Monk
e6f5b0d3fd
mall: fix %child-sync ph test 2019-09-25 13:19:09 -07:00
Philip Monk
a4dcad7d46
gall: unsubscribe after breach
fixes #1431
2019-09-24 15:00:16 -07:00
Philip Monk
30f74368fb
mall: convert hall to mall 2019-09-23 20:46:59 -07:00
Philip Monk
fc9f17ae23
mall: convert talk to mall
also change !< to crash on failure
2019-09-23 15:44:48 -07:00
Ted Blackman
cfce0e1390 turn off some debug printfs for benchmarking 2019-09-16 22:04:56 -04:00
Philip Monk
839a822f71
mall: convert hood/dojo to refactored form 2019-09-12 15:01:55 -07:00
Philip Monk
fbf56e3033
mall: refactor and rename
remove bones, give agent arms long names, remove metavase use, general
cleanup
2019-09-11 21:02:49 -07:00
Jared Tobin
472c27ef6c
Merge branch 'barbus' (#1712)
* barbus:
  hoon: removed unused parser type
  hoon: remove extraneous cast
  hoon: removed barhax. No hax!
  hoon: replace barhax with barbus
  hoon: changed barbus to match barhax
  hoon: replaced barbus usage with barhax
  hoon: add parsing for barhax
  hoon: added barhax to replace barbus
  hoon: update tall parsing for |$
  hoon: replace +* name usage with ++  name  |$
  hoon: add parsing rules for |$
  hoon: add ast for |$
2019-09-11 15:27:04 -02:30
David Kerschner
60c6d4fed1 hoon: replace barhax with barbus 2019-09-11 01:20:21 -07:00
David Kerschner
504e4fcac1 hoon: replaced barbus usage with barhax 2019-09-11 01:20:10 -07:00
Philip Monk
263b151dcb
clay: answer ~ to %next request if file is deleted 2019-09-10 13:49:12 -07:00
David Kerschner
b226d24a50 hoon: replace +* name usage with ++ name |$ 2019-09-10 11:59:22 -07:00
Philip Monk
1ca4c72aa5
mall: make boot 2019-09-09 20:04:38 -07:00
Joe Bryan
a6272a97a8
arvo, ford: add type safety to scry
Adds a nest-check to the scry-wrapper functions +sloy and +sloy-light,
plugging a type hole in .^ namespace reads (scry).
2019-09-08 19:44:06 -02:30
Philip Monk
fc682fc585
Merge remote-tracking branch 'origin/scry-safe-mule' into philip/mall-real 2019-09-06 13:18:42 -07:00
Philip Monk
2c5a478a84
mall: convert drum to mall 2019-09-05 20:01:31 -07:00
Philip Monk
84c7b442e9
mall: convert helm to mall 2019-09-05 18:46:55 -07:00