Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge develop to next/kelvin/410 #666

Merged
merged 55 commits into from
Jul 2, 2024
Merged

Merge develop to next/kelvin/410 #666

merged 55 commits into from
Jul 2, 2024

Conversation

pkova
Copy link
Collaborator

@pkova pkova commented Jul 2, 2024

No description provided.

joemfb and others added 30 commits April 18, 2024 23:24
Same as urbit/urbit#3261 but for vere. From what
I can tell this NAT-PMP stuff is fairly well supported by routers, works
on my machine at least.
CTRL+z to force kill an urbit process has been broken for some time.
This was caused by our SIGTSTP handler being overwritten in
`_cw_play_imp` that gets called not only during replay but on every boot
if we're not a new pier.
Adds `--lmdb-map-size` to specify LMDB's initial memory mapping size,
intended for use by users who need a size smaller than our default of
500G. Note: `case 12` to avoid collision with the other arg added in
#654.
matthew-levan and others added 25 commits May 30, 2024 12:34
Solves #660 

Prevents Nock 9 from crashing the pier if the axis argument is a cell.
Without the check Vere may call `u3qc_cap` on a cell, leading to a
segfault or an assertion failure:

```
Assertion '_(u3a_is_atom(b))' failed in pkg/noun/retrieve.c:1011
```

To reproduce the bug, run in Dojo:

```
.*(0 [9 [2 2] 0 1])
```

Is there a way to add a unit test to guard against a downgrade?
This is #593 that got reverted in #644 because it broke `urbit/urbit`
CI. This PR fixes the issue which was unconditionally calling
`uv_poll_init` on a socket that was initialized with `initnatpmp`
without checking if `initnatpmp` returned an error first.
This PR:
1. Adds the `--serf-bin` option for specifying a serf executable
2. Sets `u3_Host.wrk_c` to `--serf-bin`'s value if specified, self
otherwise
3. Performs boot's replay in a subprocess that spawns our own serf (by
default) or the specified serf if provided
4. Spawns a thread in `_cw_play` that exits if it reads `EOF` from
`STDIN` (thereby ensuring the child process for replaying events exits
whenever the parent is killed)

These changes allow Ares (or any other runtime) to implement its own
`play` subcommand and have Vere use it for the boot process's replay
functionality.

Tests:
- [x] `linux-x86_64` subcommand, replay via boot, killing king via INT,
KILL, TERM
- [x] `macos-aarch64` subcommand, replay via boot, killing king via INT,
KILL, TERM
This PR refactors ames' galaxy dns resolution and simplifies its STUN
protocol state machine. By removing the packet queueing in the old
galaxy dns handling, this PR also plugs a memory leak introduced in #305
(f9e8542 specifically).
This PR fixes an issue introduced in #654, whereby docked binaries could
not replay.
@pkova pkova requested a review from a team as a code owner July 2, 2024 14:37
@pkova pkova merged commit a53619a into next/kelvin/410 Jul 2, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants