Commit Graph

355 Commits

Author SHA1 Message Date
Joe Bryan
b60e10f149 corrects profiling struct initializations 2018-12-10 12:02:16 -05:00
Joe Bryan
a3bef0f23a prevents 0-byte allocations in u3i_molt() and u3r_mean() 2018-12-08 20:09:23 -05:00
Joe Bryan
0d5beaf774 fixes duplicate assignment in u3v_nick() 2018-12-08 20:09:23 -05:00
Joe Bryan
21224cc359 fixes memory leak in _cj_je_fsck() 2018-12-08 20:09:23 -05:00
Joe Bryan
de29eb602c
Merge pull request #1085 from urbit/boot-pill-userspace
boot with lifecycle-formula, userspace from pill
2018-12-05 13:50:23 -05:00
Elliot Glaysher
36f2152e61 Move more chars. 2018-12-04 16:20:22 -08:00
Elliot Glaysher
ee38b88188 Cleanup 2018-12-04 15:59:33 -08:00
Elliot Glaysher
4a53ebc6c5 Cleanup 2018-12-04 14:48:26 -08:00
Joe Bryan
2ed422e11f boots with lifecycle formula, without persistent kernel formula
removes now-unused vortex functions
2018-12-04 02:54:06 -05:00
Elliot Glaysher
8b9680072a Add support for trace_event files.
This adds a -j parameter which writes traces of your Urbit's function call
stack to a json file, readable by Chrome's about://tracing or the standalone
trace-viewer webapp.
2018-12-01 15:54:55 -08:00
Joe Bryan
941f2f72bd removes u3v_keep, updates arvo axes 2018-11-26 17:57:01 -05:00
Elliot Glaysher
356f9fc9ac Shrink preallocation of cells from 262.144 cells to 4.096
Everytime a new road is constructed, a new bank of cells is
allocated and initialized. This lead to over three megabytes of
memory being allocated and accessed on each road change. This takes
more than 1ms to complete.

Road changes occur on each virtualization call. Each +soft happens
virtualized; so each +soft call incurs a 1ms delay. The metavase
machinery does at least two (and usually three) softs per card move
meaning sending a card move through arvo usually incurs a 3ms delay.

Before this patch, the following line took six seconds to execute.
Now it is imperceivable:

```
~:(turn (gulf 0 10.000) |=(a=@ud (mule |.(a))))
```
2018-11-23 13:05:39 -08:00
Paul Driver
9104ad2acb reap call sites before reaping the warm dashboard
if the warm dashboard is reaped before call sites, the activation
(and thus the label inside the activation) can be freed (during u3h_put)
while a call site in the junior still points to the label (but doesn't hold
a reference to it, since it is on a senior road). trying to take that label
during call site reap then results in a bail: foul.

the solution is to always reap call sites before reaping the warm dashboard.
2018-11-20 11:40:11 -08:00
Robert
1c97747e7c updates boot printfs 2018-11-16 15:40:33 -08:00
Benjamin Summers
5304a7f255 Fix bail_fail on &33:~ 2018-11-13 16:22:49 -08:00
Benjamin Summers
fa576b00d7 Implemented u3t_boff for Linux. 2018-11-12 12:20:32 -08:00
Paul Driver
55f94d6818 fix reference handling error in _n_reap() 2018-11-09 11:53:14 -08:00
Joe Bryan
63e16f8d64 removes no-op conditional in _cj_site_kick_hot() 2018-11-01 16:16:01 -04:00
Joe Bryan
aa12e760ba fixes profiling of hinted but unjetted arms 2018-11-01 15:04:42 -04:00
Joe Bryan
35bfb49086 Merge branch 'release-candidate' into ames-eth-keys
* release-candidate: (21 commits)
  zinc gate casting bug
  Bug fix for metal-wrapping runes
  converting iron and zinc cores to lead bug
  8. updates nock 4K spec
  7. updates %5 to require two subformulas (nock 4K)
  6. implements edit at %10 (nock 4K)
  5. removes %13 and %14 (nock 4K)
  4. emits %11 and %12 (nock 4K)
  3. implements hint at %11 and wish at %12 (nock 4K)
  2. removes %10 and %11 (nock 4K)
  1. duplicates hint (%10) and wish (%11) at %13 and %14 (nock 4K)
  Disable terminal echo on passcode entry
  increased inbound request and ward timeouts to 5 min
  mutating edit
  bail in _n_edit on invalid path
  avoid allocating an atom for _cj_bash
  bypass mat and chop directly in jam
  small memory leak for large edits
  disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
  bugfixes
  ...
2018-11-01 00:16:20 -04:00
Joe Bryan
b88a2b5062 refactors u3v_wish for clarity 2018-10-28 21:10:25 -04:00
Joe Bryan
7507de1e6c 7. updates %5 to require two subformulas (nock 4K) 2018-10-10 20:20:05 -04:00
Joe Bryan
147941ba07 6. implements edit at %10 (nock 4K) 2018-10-10 19:51:37 -04:00
Joe Bryan
b21b1c6fe1 WIP Merge remote-tracking branch 'fodwyt/edit' into nock-4k
* fodwyt/edit:
  mutating edit
  bail in _n_edit on invalid path
  avoid allocating an atom for _cj_bash
  bypass mat and chop directly in jam
  small memory leak for large edits
  disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
  bugfixes
  first pass at nock 12 impl
2018-10-10 19:50:13 -04:00
Joe Bryan
8f42a29933 5. removes %13 and %14 (nock 4K) 2018-10-10 19:26:50 -04:00
Joe Bryan
4d6950d68a 3. implements hint at %11 and wish at %12 (nock 4K) 2018-10-10 18:40:13 -04:00
Joe Bryan
f64b5c8f80 2. removes %10 and %11 (nock 4K) 2018-10-10 18:16:07 -04:00
Joe Bryan
82c89c1696 1. duplicates hint (%10) and wish (%11) at %13 and %14 (nock 4K) 2018-10-10 17:59:50 -04:00
Joe Bryan
9a3608158f adds comments for known-valid u3r_at calls in jets.c 2018-10-03 11:57:00 -04:00
Joe Bryan
1c49b0438a bail %exit in _cj_site_lock if axis is not in core 2018-10-02 19:36:04 -04:00
Joe Bryan
f0524c23f0 Merge branch 'release-candidate' into hashboard
* release-candidate: (138 commits)
  adds meson option (-Dprof=true) to set U3_CPU_DEBUG
  adds meson option (-Dgc=true) to set U3_MEMORY_DEBUG
  refactors http card validation
  fixes leak in proxy when networking is disabled
  fixes leak in _http_serv_start_all
  bypassed profiling bug
  Eliminate cons optimization.
  Remove broken assert.
  Clean up some printfs.
  increases tcp proxy listener timeout to 2 minutes
  fixes dumb bug in tcp reverse proxy remote address resolution
  Fix issue with trimming >4 character jet names
  upgrades libh2o to v0.13.5 (h2o v2.2.5)
  sets the http client request timeout to 2 minutes
  adds an http request timer to ensure connections are always closed
  adds an http request timer to ensure connections are always closed
  adds (disabled) h2o access log
  don't leak ship-name in _proxy_ward_connect()
  refactors .http.ports write/release (avoid the loom, etc.)
  updates SSL_CTX init to support any PEM private key, simplifies error handling
  ...
2018-10-02 18:25:41 -04:00
Fang
7569f8d8ad Fix issue with trimming >4 character jet names 2018-10-02 15:24:29 -04:00
Joe Bryan
b1f8b79992 adds -S to skip battery hashes 2018-10-02 15:23:35 -04:00
Joe Bryan
8d9f2fac89 fixes u3n_prog pointers in u3n_ream() 2018-10-02 15:15:37 -04:00
Isaac Visintainer
359388a63f bypassed profiling bug 2018-09-27 16:42:43 -07:00
Joe Bryan
89479463e5
Merge pull request #1017 from urbit/fix-jet-name-trim
Fix issue with trimming >4 character jet names
2018-09-07 18:02:50 -04:00
Joe Bryan
ba5e228d78 Merge branch 'https-proxy-config' into ford-turbo-proxy
* https-proxy-config: (92 commits)
  increases tcp proxy listener timeout to 2 minutes
  fixes dumb bug in tcp reverse proxy remote address resolution
  upgrades libh2o to v0.13.5 (h2o v2.2.5)
  sets the http client request timeout to 2 minutes
  adds an http request timer to ensure connections are always closed
  adds an http request timer to ensure connections are always closed
  adds (disabled) h2o access log
  don't leak ship-name in _proxy_ward_connect()
  refactors .http.ports write/release (avoid the loom, etc.)
  updates SSL_CTX init to support any PEM private key, simplifies error handling
  adds u3_wcon (ward candidate conn), refactors ward connection accept and auth
  enables ALPN and HTTP2 over TLS
  increases timeout before server struct, adds explanatory comment
  closes u3_ward stream and timer sequentially, fixing use-after-free per ASan
  moves u3_pact to vere.h, replacing the unused u3_apac
  fixes memory leak in failed cttp.c address resolution
  suppresses AddressSanitizer in vararg functions u3i_molt and u3r_mean
  ignores AddressSanitizer errors in jets.c
  updates %wise and %that to give and receive the proxy auth nonce
  implements nonce-baced authentication for u3_ward proxies
  ...
2018-08-20 22:24:13 -04:00
Joe Bryan
dacb80eef0 Merge branch 'master' into https-proxy-config
* master:
  adds an http request timer to ensure connections are always closed
  moves u3_pact to vere.h, replacing the unused u3_apac
  fixes memory leak in failed cttp.c address resolution
  Remove deprecated paths from gitignore
  print error on failed syscall in _ce_patch_create()
  removes tabs from http.c
  removes orphaned telnet constants and forward declarations
2018-08-09 18:22:53 -04:00
Fang
ad628cbf64
Fix issue with trimming >4 character jet names 2018-07-20 01:31:28 +02:00
Joe Bryan
d5c075b185 suppresses AddressSanitizer in vararg functions u3i_molt and u3r_mean 2018-07-12 16:01:57 -04:00
Joseph Bryan
053509b7c4 ignores AddressSanitizer errors in jets.c 2018-07-12 16:01:57 -04:00
Paul Driver
7dcc2303d1 mutating edit 2018-07-02 07:47:48 -07:00
Joe Bryan
78a0d7732f print error on failed syscall in _ce_patch_create() 2018-06-18 13:50:26 -04:00
Paul Driver
07e524532f avoid allocating an atom for _cj_bash 2018-06-15 11:17:56 -07:00
Paul Driver
6ce5fb681e bail in _n_edit on invalid path 2018-06-14 12:25:45 -07:00
Paul Driver
e629272ac6 avoid allocating an atom for _cj_bash 2018-06-14 11:36:56 -07:00
Paul Driver
0fe4157b82 small memory leak for large edits 2018-06-12 10:23:47 -07:00
Paul Driver
61f9a39f35 disable hike jet, kill errant and unneccessary mutate-context-sample opcodes 2018-06-11 15:04:49 -07:00
Paul Driver
0c64dabc97 bugfixes 2018-06-10 14:02:07 -07:00
Paul Driver
c8da5efe2b first pass at nock 12 impl 2018-06-10 10:39:36 -07:00
Paul Driver
da051310df Merge branch 'master' into hashboard 2018-06-04 14:15:53 -07:00
Paul Driver
a8d7d79b0c use nul prefix for regular (no loc) nock formulas, fix memory leak in _cj_mile, delete unused code 2018-06-04 13:53:41 -07:00
Paul Driver
88b7d23ed8 fix reaming after changing cold dash 2018-05-30 11:32:10 -07:00
Paul Driver
402e77357d stash - working out which hash to use 2018-05-29 21:33:10 -07:00
Paul Driver
d19fde0b5a memory bug in ice testing 2018-05-29 21:32:47 -07:00
Curtis Yarvin
b089420cea Some renaming and stuff. 2018-05-27 12:16:13 -07:00
Paul Driver
5c0232a42b bug in _box_slot 2018-05-26 20:49:11 -07:00
Paul Driver
1486aec835 better bash conveyance 2018-05-26 12:03:09 -07:00
Paul Driver
7fe3eee82a program splitting for located cores 2018-05-25 18:17:19 -07:00
Paul Driver
56ff1520bf bug in _box_slot 2018-05-25 17:54:03 -07:00
Paul Driver
8c4fd067de general battery hash caching 2018-05-25 17:53:36 -07:00
Paul Driver
a0819e41f8 remove superflous profiling quals 2018-05-16 15:18:17 -07:00
Paul Driver
21637cdca9 fix bug in u3j_gate_prep and move hot_p to home road 2018-05-16 13:45:40 -07:00
Paul Driver
f2f6a04cc5 bash batteries for gate prep/lose 2018-05-16 11:49:08 -07:00
Paul Driver
8417f4b7c5 ownership audit 2018-05-16 09:41:49 -07:00
Paul Driver
b9bf443b17 fix leaks in _cj_install, mark hot_p 2018-05-15 21:59:00 -07:00
Shaun Kerr
152e206d18 Removed unused variable. Closes #907 2018-05-15 14:51:52 +12:00
Paul Driver
4ee14f4c59 print axe on hot jet, more hashes 2018-05-14 10:46:34 -07:00
Paul Driver
33195a22ec more hashes, u3j_hood expands to express ut hooks 2018-05-12 14:30:59 -07:00
Paul Driver
2ace4f723a better auditing 2018-05-12 12:16:36 -07:00
Paul Driver
540dca9401 no remarry 2018-05-12 12:15:17 -07:00
Paul Driver
956ecdbeaa more hashes, clarify _cj_spot with hot fallback 2018-05-10 14:06:07 -07:00
Paul Driver
109ad54c53 booting and verifying - pasting in hashes now 2018-05-08 18:30:19 -07:00
Paul Driver
10c775961f stash - building and booting 2018-05-08 13:34:35 -07:00
Curtis Yarvin
5afbf59cae Merge branch 'master' into research-merge 2018-05-02 16:55:29 -07:00
Paul Driver
8bc64b09ac comments, rename some functions 2018-04-30 11:39:33 -07:00
Paul Driver
7551a3c486 comments 2018-04-30 11:26:29 -07:00
Paul Driver
d1d2f02ef0 comments, _cj_fink_free takes post 2018-04-30 11:21:04 -07:00
Paul Driver
672d99fcca comments, no return from _cj_site_lock 2018-04-30 11:10:01 -07:00
Paul Driver
b43f069441 u3n_find returns post 2018-04-30 11:02:48 -07:00
Paul Driver
68f98124e5 more comments, u3n_burn takes a post 2018-04-30 10:56:19 -07:00
Paul Driver
dc470f76d4 deleting unused public functions, cleaning up internal apis 2018-04-30 10:33:04 -07:00
Paul Driver
825b7eb604 posts in sites 2018-04-30 10:16:47 -07:00
Paul Driver
d306975af8 gate_prep transfers, rites to posts 2018-04-30 09:57:09 -07:00
Paul Driver
67c1035d57 fix profiling 2018-04-27 12:22:39 -07:00
Paul Driver
48eb2fee9b roll 2018-04-27 09:33:33 -07:00
Paul Driver
62b8b655ee locally cached gates for things like turn 2018-04-26 17:42:38 -07:00
Paul Driver
be8c56376d hook caching in, kink weirdness fixed 2018-04-26 16:36:29 -07:00
Paul Driver
a15c248e3d move _n_fink_free and everything that calls it 2018-04-26 12:06:57 -07:00
Paul Driver
462c6d7bd5 move rite and site mark 2018-04-26 11:23:03 -07:00
Paul Driver
bf2d240ed0 move cast 2018-04-26 11:15:46 -07:00
Paul Driver
4da79539ec move internal _n data structures to headers 2018-04-26 11:08:34 -07:00
Paul Driver
0e45d64cef minor things like initializing variables and stuff 2018-04-18 12:22:50 -07:00
Paul Driver
a5e79c2820 ream callsites at boot 2018-04-18 12:19:56 -07:00
Paul Driver
033b2c1721 using cached locations to speed up kicks 2018-04-17 14:57:59 -07:00
Paul Driver
50f3c9ef63 holding onto locations and finks at call sites without leaks 2018-04-17 13:47:52 -07:00
Paul Driver
7333250eeb no inter-road call site communication, bat/pog caching working! 2018-04-16 17:27:32 -07:00
Paul Driver
bb76625c4e keeping batteries for no reason 2018-04-16 16:54:20 -07:00
Paul Driver
3c7317a1a4 registration site caching 2018-04-14 14:57:12 -07:00
Paul Driver
4c482af711 fixed memoization, memory problems in reap 2018-04-13 13:32:31 -07:00