Benjamin Summers
25713052c0
Messing around.
2019-05-01 19:19:19 -07:00
Benjamin Summers
87dbcef866
Minor cleanup.
2019-04-29 16:15:25 -07:00
Benjamin Summers
ac8144114b
Some Haskell. Now how to build with nix?
2019-04-29 16:01:18 -07:00
Elliot Glaysher
60196a9910
General patch cleanup
2019-04-29 14:23:27 -07:00
Elliot Glaysher
812b841f20
Attempt at fixing compile on CI.
2019-04-29 13:45:40 -07:00
Elliot Glaysher
06cfb81d60
Fix multi-event commit.
2019-04-29 10:59:15 -07:00
Elliot Glaysher
2fe916faac
Merge remote-tracking branch 'origin/cc-release' into cc-batched-writes
2019-04-29 10:16:33 -07:00
Elliot Glaysher
8d691a63af
Theoretically multi-event writes.
...
I'm having trouble testing this, though. Every constructed write request
is still only 1 event.
2019-04-29 10:06:03 -07:00
Joe Bryan
a378aac5ff
Merge pull request #1255 from urbit/ccr-cleanup
...
cc-release general cleanup
2019-04-26 14:53:12 -07:00
Joe Bryan
2c3bf6a9f2
corrects inaccurate u3m_reclaim comment in worker
2019-04-26 14:38:24 -07:00
Joe Bryan
e4db6edb24
restores perror() calls in terminal hijack/lojack to avoid possible reentrance
2019-04-26 14:36:38 -07:00
Joe Bryan
4f3f3897f8
moves _pier_apply into uv_idle_t, runs once per libuv turn
2019-04-26 14:24:01 -07:00
Joe Bryan
9196f7cc4a
removes obsolete members from persistent u3A struct
2019-04-26 13:59:37 -07:00
Joe Bryan
56750c5f59
updates worker to store interim lifecycle events in u3V
2019-04-26 13:57:11 -07:00
Joe Bryan
1f86128b69
restores external arvo time on event failure
2019-04-26 13:56:42 -07:00
Joe Bryan
be254c57ae
moves mug chaining enforcement entirely into the worker
2019-04-26 13:31:29 -07:00
Joe Bryan
b6b84b5369
updates the worker to track in-progress vs completed event numbers
2019-04-26 11:27:20 -07:00
Joe Bryan
45fff7f8da
restores kernel mug when restarting the worker (on %play)
2019-04-26 11:13:49 -07:00
Elliot Glaysher
51253dca5d
Build write request struct.
2019-04-26 11:08:10 -07:00
Joe Bryan
6b362c4008
tweaks event reference counting and fixes mis-fixed memory leak
2019-04-26 08:55:26 -07:00
Joe Bryan
3900d1a0c2
removes superfluous seeding of the openssl prng
2019-04-25 23:17:59 -07:00
Joe Bryan
edc142019e
replaces perror() with u3l_log()
2019-04-25 23:17:59 -07:00
Joe Bryan
3b9a19d2f9
adds lmdb to library version report
2019-04-25 23:17:59 -07:00
Joe Bryan
5d0f1e1465
Merge branch 'master' into ccr-cleanup
...
* master:
bump urbit version number
if sweep gives 0 and reference count != 0, leak
added urbit, curl and argon2 to version reporting (urbit -R)
[CI] bump pinned arvo commit
bump urbit version number to 0.7.3
Consistently use "boot:" printf prefix
Be more precise about the snapshot contents
Re-add printf to notify of snapshot download
2019-04-25 22:56:14 -07:00
Joe Bryan
df59b1a489
Merge branch 'cc-release' into cc-event-replay-check
2019-04-25 17:04:39 -07:00
Joe Bryan
8fe2835e90
Merge pull request #1251 from BernardoDeLaPlaz/vere_build_warnings
...
remove all build warnings
2019-04-25 16:53:11 -07:00
Elliot Glaysher
ce0c78d1ea
Cleanup
2019-04-25 16:35:29 -07:00
Elliot Glaysher
563214c2a2
Verify mugs on log replay to detect nondeterministic replay.
...
Joe helped write the worker/main.c changes so that we consistently
return the mug of the current state on each %done message. Then
enabled a check in _pier_work_complete() which asserts that the
recomputed event produces the same state as the next event was
expecting to be applied to.
2019-04-25 16:22:41 -07:00
BernardoDeLaPlaz
043333f767
-Werror turned on
2019-04-25 18:23:53 -04:00
BernardoDeLaPlaz
e9a2784982
Merge branch 'vere_build_warnings' of https://github.com/BernardoDeLaPlaz/urbit into vere_build_warnings
2019-04-25 18:07:06 -04:00
BernardoDeLaPlaz
c0403d2096
code review
2019-04-25 18:05:26 -04:00
Elliot Glaysher
a4ce72355d
Store [mug job] instead of the entire IPC message.
2019-04-25 14:57:26 -07:00
Benjamin Summers
4b6509e7a3
Hello-world haskell package.
2019-04-25 14:02:19 -07:00
~rigdyn-sondur
8db9653168
Merge branch 'cc-release' into vere_build_warnings
2019-04-25 16:37:08 -04:00
Joe Bryan
ac59fb749c
updates arvo submodule and brass.pill to latest arvo next
2019-04-25 13:35:34 -07:00
BernardoDeLaPlaz
22fe68f67c
fix one new build warning
2019-04-25 16:24:55 -04:00
Joe Bryan
4258c3c8ba
Merge branch 'cc-release' into ccr-replay-reform
...
* cc-release: (26 commits)
Rmoves all calls to u3m_bail() in the database layer. Everything returns an error code.
Cleaner slog replay + fix spelling error
Misc cleanup blocking CC-Release. (#1249 )
Use Joe's suggested change to u3_pier_snap().
u3m_lmdb -> u3_lmdb
updates libnoun to ignore SIGINT upon completion of a soft
Cleanup
Don't print %slog on replay.
Finish cc-release cross-compilation. (#1202 )
removes clay mount auto-sync on restart
Cleanup and enable MDB_NOOVERWRITE.
Remove most u3_foil_* functions.
Read the latest event number out of lmdb.
Event log replay succeeds.
removes obsolete, commented-out signal handling in main.c
First version which appears to replay most of the event log. Still crashes at the end.
corrects typos in libnoun commented-out code
consolidates daemon signal handling
consistently aborts immediately on ctrl-z (SIGTSTP)
The entire log appears to be loaded from the database; still need to queue events, but exciting
...
2019-04-25 13:06:03 -07:00
Elliot Glaysher
0a0d7e0e57
Merge pull request #1248 from urbit/cc-lmdb-log-storage
...
Use lmdb for log storage instead of hand-rolled structure
2019-04-25 12:50:49 -07:00
~rigdyn-sondur
b7c7b7f6be
Merge branch 'cc-release' into vere_build_warnings
2019-04-25 14:46:11 -04:00
Elliot Glaysher
e0e9a09b58
Rmoves all calls to u3m_bail() in the database layer. Everything returns an error code.
2019-04-25 11:22:26 -07:00
BernardoDeLaPlaz
61bf83ff56
remove all build warnings
2019-04-25 14:01:21 -04:00
Elliot Glaysher
f8ca7b39dd
Cleaner slog replay + fix spelling error
2019-04-25 10:47:37 -07:00
Joe Bryan
d0269662c8
fixes memory leak in worker %save handler
2019-04-24 22:21:36 -07:00
Joe Bryan
cfb6202edb
tweaks replacement events: %crud contents, %warn structure
2019-04-24 22:21:09 -07:00
benjamin-tlon
3c3f7e761e
Misc cleanup blocking CC-Release. ( #1249 )
...
* Move extraneous stuff out of pkg/urbit/*
* s/urb/herb/g
* Removed some boilerplate for `urbit` builds.
* Build urbit tests and run them in the nix build.
2019-04-24 17:27:27 -07:00
Elliot Glaysher
0841e797a9
Use Joe's suggested change to u3_pier_snap().
2019-04-24 17:05:34 -07:00
Elliot Glaysher
175fd18585
u3m_lmdb -> u3_lmdb
2019-04-24 16:26:27 -07:00
Joe Bryan
62e7c8272b
Merge pull request #1243 from urbit/ccr-signal-reform
...
cc-release: cleanup of signal handling
2019-04-24 12:52:26 -07:00
Joe Bryan
96ad21c476
updates libnoun to ignore SIGINT upon completion of a soft
2019-04-24 11:29:12 -07:00
Elliot Glaysher
16788f92c1
Cleanup
2019-04-24 11:22:54 -07:00
Elliot Glaysher
d320a7cafe
Don't print %slog on replay.
2019-04-24 10:54:19 -07:00
Joe Bryan
d4321aa28c
Merge pull request #1247 from urbit/ccr-start-nosync
...
cc-release: removes clay mount auto-sync on restart
2019-04-23 20:20:52 -07:00
benjamin-tlon
edd57d380d
Finish cc-release cross-compilation. ( #1202 )
...
- Fixes the IPC bug
- Fixes the terminfo bug
- Moves the OSX SDK out of our nixcrpkgs fork.
- Vendor nixcrpkgs instead of having it be a submodule.
2019-04-23 19:50:38 -07:00
Joe Bryan
3b5644f582
removes clay mount auto-sync on restart
2019-04-23 18:28:58 -07:00
Joe Bryan
450fd5199e
adds additional replacement events
...
%hole (negative ack) and %warn (%crud failed)
2019-04-23 15:57:46 -07:00
Joe Bryan
1ec9b9eee9
limits event replacement to three attempts
2019-04-23 15:57:46 -07:00
Joe Bryan
6d778bee3f
aligns worker printfs, adjusts function indentation
2019-04-23 15:57:34 -07:00
Elliot Glaysher
45b47c21f7
Cleanup and enable MDB_NOOVERWRITE.
2019-04-23 15:30:56 -07:00
Elliot Glaysher
6570b798fd
Remove most u3_foil_* functions.
2019-04-23 15:10:03 -07:00
Joe Bryan
26cbb9c7c8
inject fresh entropy on every restart
2019-04-23 15:07:53 -07:00
Elliot Glaysher
cdc3b6562e
Read the latest event number out of lmdb.
2019-04-23 15:02:28 -07:00
Elliot Glaysher
8b4f1d8e93
Event log replay succeeds.
2019-04-23 14:15:11 -07:00
Joe Bryan
4dabad9120
restores -P sample-based profiling
2019-04-23 12:56:03 -07:00
Joe Bryan
23cbb45ffe
removes obsolete, commented-out signal handling in main.c
2019-04-23 12:04:12 -07:00
Elliot Glaysher
281e352c14
First version which appears to replay most of the event log. Still crashes at the end.
2019-04-23 11:12:09 -07:00
Joe Bryan
ead1b2443e
corrects typos in libnoun commented-out code
2019-04-23 10:46:34 -07:00
Joe Bryan
beafc011cd
consolidates daemon signal handling
2019-04-23 10:46:34 -07:00
Joe Bryan
075bc5109e
consistently aborts immediately on ctrl-z (SIGTSTP)
2019-04-23 10:46:29 -07:00
Elliot Glaysher
5d2468056c
The entire log appears to be loaded from the database; still need to queue events, but exciting
2019-04-22 16:29:38 -07:00
Elliot Glaysher
dc6e3b2236
(This commit makes sh/make-bootzod work again.)
2019-04-22 10:50:54 -07:00
Elliot Glaysher
96942f3dd5
Joe looked at this; this was because of u3we vs u3ke.
2019-04-19 17:02:57 -07:00
Elliot Glaysher
a849b1b81e
WIP: Wrote the skeleton of the reading function. It compiles, but isn't invoked.
2019-04-19 15:49:54 -07:00
Elliot Glaysher
0c36e0da26
Fixes threading so uv_work_t is heap allocated.
2019-04-19 11:17:37 -07:00
Elliot Glaysher
a10beebd47
Wrote out the asynchronous writing, but it crashes in the nock thread now?
2019-04-19 10:28:58 -07:00
Elliot Glaysher
2bef1a30da
First minor integration with lmdb.
...
This stores the ship's identity information in a separate META table in
the lmdb datastore.
2019-04-18 14:01:44 -07:00
Elliot Glaysher
4cf58f27bd
Cleanups
2019-04-16 10:14:15 -07:00
Elliot Glaysher
2aa45f828e
Restore git submodule screw up.
2019-04-15 15:57:06 -07:00
Elliot Glaysher
29d40e032e
Also remove uH/uL macros.
2019-04-15 15:14:07 -07:00
Elliot Glaysher
1e468f75d6
Pass stderr from worker to daemon.
2019-04-15 15:06:19 -07:00
Elliot Glaysher
4f313f05fa
Merge remote-tracking branch 'origin/cc-release' into cc-enhancements
2019-04-15 14:25:50 -07:00
Joe Bryan
ea30e715dd
uses stderr in daemon mode for slog printing
2019-04-12 22:51:43 -07:00
Joe Bryan
417dbf298b
(re-)disable terminal spinner in daemon mode
2019-04-12 22:27:41 -07:00
Joe Bryan
4ccf069458
restores terminal spinner
2019-04-12 22:15:59 -07:00
Joe Bryan
2585e1ca76
adds argument comment to _serf_send_slog
2019-04-12 22:15:59 -07:00
Joe Bryan
05ce835b55
miscellaneous output cleanup
2019-04-12 22:14:55 -07:00
Joe Bryan
daac99c91e
moves slog function pointer to u3C (to preserve across roads)
2019-04-12 22:13:00 -07:00
Joe Bryan
4873309e81
send slog hints over the king/serf pipe
2019-04-12 22:12:31 -07:00
Joe Bryan
3eaa470d98
moves slog implementation out of trace.c and libnoun
...
and removes unused u3t_shiv()
2019-04-12 22:11:49 -07:00
Joe Bryan
3f6c9326fb
improves error message when attempting to recreate existing ship
2019-04-12 22:07:31 -07:00
Joe Bryan
3f7f57a247
removes obsolete ames initialization on boot
2019-04-12 21:57:33 -07:00
Joe Bryan
93ce637e96
updates arvo submodule to latest master
2019-04-12 21:57:02 -07:00
Joe Bryan
55aa3b70bd
refactors/reorders functions in pier.c
2019-04-12 21:48:38 -07:00
Elliot Glaysher
367bf939d2
Move all logging onto a dedicated u3l_log() statement.
...
This makes things in libnoun not depend on the specifics of the terminal
driver for logging, using a implementor customizable logging function.
This allows the daemon process to intercept all logging lines without
breaking the console, and should allow the worker process to forward all
logging messages to the daemon so the daemon can print them without
breaking the console.
2019-04-12 16:21:35 -07:00
Elliot Glaysher
dbeb2c2a8b
Normalize on the preexisting daemon/worker nomenclature.
...
We were calling the worker process three different things, standardize
on the name worker. Same for the daemon.
2019-04-12 13:30:36 -07:00
Joe Bryan
1b503d9e26
ensure that event-log header is first in the log
2019-04-11 00:11:45 -07:00
Joe Bryan
f5da7da563
reads events in batches of 1K during replay
2019-04-11 00:07:35 -07:00
Joe Bryan
2eff7240ac
refactors event-log replay preparation
2019-04-10 23:50:47 -07:00
Joe Bryan
8c0a8a182f
adds explicit boot controller, refactors state transitions
2019-04-10 23:32:13 -07:00
Joe Bryan
671eeaaf00
prevent spurious first-boot of existing pier
2019-04-10 23:18:54 -07:00
Joe Bryan
f68e27e68a
removes superfluous pier liv_o flag
2019-04-10 22:33:40 -07:00
Joe Bryan
785839db5c
Merge pull request #1232 from urbit/ccr-vent-sane
...
cc-release event state machine corrections
2019-04-05 16:58:46 -07:00
Isaac Visintainer
f9a61b36a3
fixes for review
2019-04-05 15:03:19 -07:00
Isaac Visintainer
7c9b8d71ef
put tracing calls in serf
2019-04-05 14:56:58 -07:00
Isaac Visintainer
cf3ddef76a
moved path prettyprinting into noun/manage, and made it globally available
2019-04-05 14:56:12 -07:00
Isaac Visintainer
03ae60505b
load pier directory on serf for saving tracing files
2019-04-05 14:56:11 -07:00
Isaac Visintainer
5c88da2619
fix serf flag size
2019-04-05 14:56:11 -07:00
Joe Bryan
92ece2d22a
enforces snapshot/commit ordering constraints
2019-04-05 14:40:18 -07:00
Joe Bryan
4fb35aaee3
moves boot-barrier callback into _pier_work_release and refactors
2019-04-05 14:33:36 -07:00
Joe Bryan
7f116290aa
adds explicit pier states, uses for playback printfs
2019-04-05 11:45:57 -07:00
Joe Bryan
a4735e8c93
adds explicit _pier_writ_unlink function
2019-04-05 11:45:57 -07:00
Joe Bryan
aaa5b31969
fixes _pier_work_poke reference counting
2019-04-05 11:45:57 -07:00
Joe Bryan
28c7131cc8
revises handling of event-log header
2019-04-05 11:45:57 -07:00
Joe Bryan
e22312ea14
initalizes persistence and starts the serf in parallel
2019-04-05 11:45:57 -07:00
Joe Bryan
6c932e5304
restructures pier startup
2019-04-05 11:43:34 -07:00
Joe Bryan
cf89e34a8a
move disk_init/complete
2019-04-05 11:43:34 -07:00
Joe Bryan
1b456d1121
asserts lifecycle barrier is > 0, sets when reading event-log header
2019-04-05 11:43:42 -07:00
Joe Bryan
02abafef4e
consolidates single-home logic
2019-04-05 11:43:34 -07:00
Joe Bryan
45d892d946
WIP extracts event-log header read and single-home
2019-04-05 11:43:34 -07:00
Joe Bryan
b33c50d117
WIP refactors log init, adds explicit "live" flag
2019-04-05 11:43:38 -07:00
Joe Bryan
8162a5177d
WIP refactors serf init, adds explicit "live" flag
2019-04-05 11:43:34 -07:00
Joe Bryan
6eadbaa18d
frees u3_writ on dispose
2019-04-05 11:43:34 -07:00
Joe Bryan
80d2a41810
removes obsolete, commented-out boot code
2019-04-05 11:43:34 -07:00
Joe Bryan
ffbc3bbc90
cleans up i/o driver initialization
2019-04-05 11:43:34 -07:00
Joe Bryan
81647bbd7c
removes precommits, updates event state machine constraints
2019-04-05 11:43:28 -07:00
Joe Bryan
734adde0b7
adds defines for verbose event state machine printfs
2019-04-05 11:32:50 -07:00
Joe Bryan
4cc3a70498
bumps vere version number
2019-04-02 11:57:14 -07:00
Joe Bryan
9481ff7a6a
removes duplication %behn initialization
2019-04-02 11:32:21 -07:00
Benjamin Summers
272263cf4d
bumps arvo commit to latest next
2019-04-02 11:31:36 -07:00
Joe Bryan
ea56669696
TCOs +turn jet
2019-04-02 10:40:39 -07:00
Joe Bryan
53ca83f4bc
TCOs +weld jet
2019-04-02 10:40:39 -07:00
Joe Bryan
2b3c218d9f
for @pilfer-pandex
2019-03-29 10:50:58 -07:00
Joe Bryan
c39f26f02c
fixes typo, adds comment per review
2019-03-28 23:38:13 -07:00
Joe Bryan
2c0566c55a
Merge branch 'cc-release' into ccr-fast-boot
...
* cc-release: (69 commits)
Fixed Nix build errors on Bernardo's Ubuntu. (#1220 )
Removed urb submodule.
Removed `pkg/ent` submodule.
Nix Build + Monorepo Structure (#1196 )
Added -P/--output-pill argument (#6 )
Collapse long lines.
Nix Setup and Docs (#5 )
Instructions for getting dependencies on Ubuntu/Debian
Whitespace errors.
Wrote a really stupid configure script.
Meson tries to hard to be "smart". Replaced with a Makefile.
Clarify README comment
Version bump, remove double negative
Actually try calling getrandom while configuring
v0.2.0
v0.1.4
Add all config vars to config.h.in
Wrote a config.h.in file for old meson versions.
Minor cleanup
Remove assert, add _ent_fail
...
2019-03-20 23:53:41 -07:00
Benjamin Summers
02a1443cec
Add 'pkg/urb/' from commit '29a2e6a79e59f93e6399225efec6e09bc17f2767'
...
git-subtree-dir: pkg/urb
git-subtree-mainline: 774f29bd06
git-subtree-split: 29a2e6a79e
2019-03-04 17:35:24 -08:00
Benjamin Summers
774f29bd06
Removed urb submodule.
2019-03-04 17:34:55 -08:00
Benjamin Summers
9618f37965
Add 'pkg/ent/' from commit '31ac2913f14c6f7631f5792ad942605fb2d9fb87'
...
git-subtree-dir: pkg/ent
git-subtree-mainline: 1207c204cb
git-subtree-split: 31ac2913f1
2019-03-04 16:49:14 -08:00
Benjamin Summers
1207c204cb
Removed pkg/ent
submodule.
2019-03-04 16:46:58 -08:00
benjamin-tlon
c86879e833
Nix Build + Monorepo Structure ( #1196 )
2019-03-04 16:43:53 -08:00