Commit Graph

19832 Commits

Author SHA1 Message Date
Joe Bryan
6148c87525 vere: restores arbitrary event injection with -I 2020-06-26 11:31:42 -07:00
Joe Bryan
49bea37049 vere: adds pending ipc message to lord status printfs 2020-06-26 11:20:08 -07:00
Philip Monk
271abcd3e7
vere: bump version to 0.10.7 2020-06-26 11:17:02 -07:00
Philip Monk
c6d536a676
Merge branch 'philip/linux' (#3054)
* origin/philip/linux:
  libsigsegv: disable stack vma check

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-06-26 11:15:31 -07:00
Philip Monk
2713083386
libsigsegv: disable stack vma check
This patches libsigsegv to not check the stack vma on Linux, since that
involves reading procfs, and we make very heavy use of sigsegv.  This
eliminates most of urbit's performance discrepancy between Linux and
MacOS.  These are the benchmarks used; note this is a local MBP vs a
cloud Linux server, and the MBP is almost certainly faster hardware.

We take two benchmarks, one of which decrements 10 million times and the
other simply allocates 125MB of memory.  These are the results:

cpu-heavy ==  =/ n 10.000.000 |-(?~(n n $(n (dec n))))
mem-heavy == =a (bex 1.000.000.008)

macos, cpu-heavy: 6 seconds
macos, mem-heavy: 1 second

linux-before, cpu-heavy: 30 seconds
linux-before, mem-heavy: 160 seconds

linux-after, cpu-heavy 9 seconds
linux-after, mem-heavy 1.3 seconds

This represents a 3x speedup for the cpu-heavy operation and a 120x
speedup for the memory-heavy operation.

This check was used to try to distinguish stack overflow from other
forms of segmentation fault.  In the comments in src/handler-unix.c, it
describes three heuristics it uses, depending on what's available from
the OS.  In the linux-i386 case, all three are availble, so we simply
disable the slow one.  This correctly recognizes stack overflow if you
simply alloca(10000000000).
2020-06-26 11:15:01 -07:00
Joe Bryan
57967b35fb vere: tweaks pier/lord info printfs 2020-06-26 10:25:24 -07:00
Philip Monk
77df80d603
gall: don't make large stack trace 2020-06-26 09:20:17 -07:00
Joe Bryan
0f54d25d8e vere: silence ames errors unless -v, prints stats every 1k 2020-06-26 00:54:29 -07:00
Joe Bryan
5a3dbde218 vere: factors common _mcut functions into ward 2020-06-26 00:54:29 -07:00
Joe Bryan
9177b3ea87 vere: initialize king timer early (for reliable early-exit) 2020-06-26 00:54:29 -07:00
Joe Bryan
1762412162 vere: handle partial writes and retry in the terminal 2020-06-26 00:54:29 -07:00
Joe Bryan
48add92ca5 vere: skip SIGINFO on linux (unavailable) 2020-06-26 00:54:29 -07:00
Joe Bryan
6e9f8ec34b king: fixes --serf worker-path cli parser 2020-06-26 00:54:29 -07:00
Joe Bryan
81ff98c5d4 vere/king/serf: adds and enables event timeouts 2020-06-26 00:54:29 -07:00
Joe Bryan
078b274491 vere: completes daemon->king re-renaming 2020-06-26 00:54:29 -07:00
Joe Bryan
b860e8cd63 vere: adds basic info printfs on SIGINFO/SIGUSR1 2020-06-26 00:54:29 -07:00
Joe Bryan
d96a05e387 vere: fix use-after-free on exit in cttp 2020-06-26 00:54:24 -07:00
Liam Fitzgerald
846fe8c048 groups: convert JSON encodings to camelcase 2020-06-26 17:02:51 +10:00
Ted Blackman
ef138bb007 ames: use +cut in +encrypt 2020-06-25 22:54:37 -04:00
Liam Fitzgerald
ad6efe44ff groups: update generators and marks for ford-fusion 2020-06-26 12:45:02 +10:00
Ted Blackman
26ff47b93d Merge remote-tracking branch 'origin/release/next-userspace' into ford-fusion 2020-06-25 22:24:30 -04:00
Ted Blackman
d9b00b0869 pill: solid 2020-06-25 22:07:40 -04:00
Liam Fitzgerald
f27037d2de links: filter unread count on selected groups 2020-06-26 12:03:52 +10:00
Liam Fitzgerald
9aa4d96fb5 chat: refine image scaling 2020-06-26 12:03:52 +10:00
Liam Fitzgerald
48ae088bbd links-js: calculate header unread count correctly 2020-06-26 12:03:52 +10:00
Ted Blackman
3daecd8c1b Merge remote-tracking branch 'origin/fix-slab' into ford-fusion 2020-06-25 21:58:21 -04:00
Ted Blackman
c0e5bd8d9b Merge remote-tracking branch 'origin/la/chat-space-leak' into ford-fusion 2020-06-25 21:52:04 -04:00
Fang
ed808614aa
Merge pull request #3050 from urbit/m/behn-improvements
behn, vere: some improvements
2020-06-25 22:38:02 +02:00
Ted Blackman
68802ea041 dojo: print generator type errors 2020-06-25 15:38:15 -04:00
Fang
7cc1b4f3ca
behn: optimize bounded timers scry 2020-06-25 19:25:44 +02:00
Fang
2976b5303c
vere: support saving scry jam to directory
And default to the scry path, instead of just "scry.jam".
2020-06-25 17:13:19 +02:00
Fang
e087374cf0
vere: u3_nul in place of c3__null
We want ~, not %null.
2020-06-25 14:17:48 +02:00
Ted Blackman
1216510fdb Squashed commit of the following:
commit 8f6aee0fdb
Author: Ted Blackman <ted@tlon.io>
Date:   Thu Jun 25 03:13:19 2020 -0400

    ci: revert debugging artifacts

commit e13a7fc050
Author: Ted Blackman <ted@tlon.io>
Date:   Thu Jun 25 02:48:55 2020 -0400

    ci: try @joemfb's one weird trick
2020-06-25 03:25:31 -04:00
Ted Blackman
82cfc691ce ci: fix herb tests; update pills 2020-06-25 02:14:16 -04:00
Philip Monk
51c6faaa31
ford,kiln: nicer errors 2020-06-24 21:24:58 -07:00
Philip Monk
7044f1fae6
dojo: too many nouns 2020-06-24 21:24:58 -07:00
Philip Monk
3a662881be
clay: don't be evil 2020-06-24 21:24:27 -07:00
Philip Monk
fc42bf6039
clay: special-case +run-pact for %hoon 2020-06-24 20:26:04 -07:00
Philip Monk
f238bbfde0
Merge branch 'philip/mem' (#3041)
* philip/mem:
  vere: bump version to 0.10.6
  ci: add travis as trusted user
  jets: use appropriate macro
  noun: add -C to control memo cache size
  jets: restore fond/play/peek hooks
  jam: add commented-out functionality to count size of atom
  jets: cap memo cache and remove peek, play, and fond jets
  noun: add functions to count size of noun

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-06-24 19:23:15 -07:00
Philip Monk
cbb80e9e7d
vere: bump version to 0.10.6 2020-06-24 19:09:03 -07:00
Philip Monk
627df6d41f
ci: add travis as trusted user 2020-06-24 18:36:40 -07:00
Philip Monk
f9d02263ee
jets: use appropriate macro 2020-06-24 17:11:46 -07:00
Philip Monk
361e41e78d
noun: add -C to control memo cache size 2020-06-24 17:08:50 -07:00
Fang
202de122ab
vere: if behn scry fails, don't try again
Instead, always fall back to the 10 minute timer as backstop.
2020-06-25 01:01:33 +02:00
Fang
e7ab3c037d
vere: rename behn.c's alm -> alm_o
To adhere to the naming conventions.
2020-06-24 23:33:22 +02:00
Fang
afd1808745
vere: scry out next behn timer for backstop
Instead of potentially waiting ten minutes in the problematic case, we
scry out the next timer from behn and set to that (if we haven't set
a new timer while we were waiting for the scry).
2020-06-24 23:31:25 +02:00
Fang
2be266de8c
vere: warn on invalid behn doze 2020-06-24 23:28:56 +02:00
Philip Monk
71fa03457c
jets: restore fond/play/peek hooks 2020-06-24 13:42:51 -07:00
matildepark
77925b06be
Merge pull request #3048 from urbit/mp/spa-debug-debug
dbug: init new channel on start
2020-06-24 12:01:20 -04:00
Fang
a94285208a
behn: improve scry interface
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.

Expose ducts only under a debug endpoint, nothing else should care about
being able to inspect them.

Add scry endpoints for the very next timer (if any), and all timers up
to and including a specified timestamp.
2020-06-24 17:09:29 +02:00