profile
viewpoint

japaric/xargo 824

The sysroot manager that lets you build and customize `std`

Gilnaa/memoffset 92

offsetof for Rust

opatut/dudel 29

This used to be a webapp for scheduling meetings easily. Now it's no longer maintained. Have a look at Bitpoll instead:

coq-community/autosubst 26

Automation for de Bruijn syntax and substitution in Coq [maintainers=@RalfJung,@co-dan]

Diggsey/rust-field-offset 26

Safe pointer-to-member functionality for rust

RalfJung/ansible 1

ansible playbooks for my servers

freifunk-saar/tunneldigger 0

Client and broker for our custom L2TPv3 NAT-traversing tunnel setup protocol based on L2TPv3 support in the Linux kernel.

hacksaar/Firmware 0

ESP32 firmware for the SHA2017 badge

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha 1d29e7323f05618b5a2c318ac0326368119dcd50

Proof of wp_EncMap, with a more sensible spec; don't want to bother trying to make marshalling a map deterministic in the presence of a (should be) non-deterministic MapIter, so defined a `has_map_encoding (m:gmap u64 u64) (r:Rec)` that says that `r` encodes the map; can use by writing e.g. \exists rmap, (has_map_encoding m rmap) /\ has_encoding data_on_disk ([EncUInt64 foo] ++ rmap ++ [EncUInt64 bar]) to keep track of the fact that a map was serialized to durable storage. Will want to put in marshall (instead of the durable kvserver) at some point

view details

push time in 11 hours

PR opened rust-lang/miri

Add shim for libc::sysconf(libc::_SC_NPROCESSORS_CONF)

libc::sysconf(libc::_SC_NPROCESSORS_CONF) is used by AArch64 devices to get the number of CPUs in the num_cpus crate:

https://github.com/seanmonstar/num_cpus/blob/b423db0a698b035914ae1fd6b7ce5d2a4e727b46/src/lib.rs#L337-L342

+1 -0

0 comment

1 changed file

pr created time in 14 hours

PR merged rust-lang/miri

rustup; test swap of element with itself

Cc https://github.com/rust-lang/rust/issues/80682

+7 -1

4 comments

2 changed files

RalfJung

pr closed time in 20 hours

push eventrust-lang/miri

Ralf Jung

commit sha 3990debf824925230abca279661d7630fd859409

rustup; test swap of element with itself

view details

bors

commit sha 6fdda8aac97c57c84671ae54b6c9377245bc33e8

Auto merge of #1682 - RalfJung:rustup, r=RalfJung rustup; test swap of element with itself Cc https://github.com/rust-lang/rust/issues/80682

view details

push time in 20 hours

pull request commentrust-lang/miri

rustup; test swap of element with itself

:sunny: Test successful - checks-actions Approved by: RalfJung Pushing 6fdda8aac97c57c84671ae54b6c9377245bc33e8 to master... <!-- homu: {"type":"BuildCompleted","approved_by":"RalfJung","base_ref":"master","builders":{"checks-actions":"https://github.com/rust-lang/miri/runs/1747523276"},"merge_sha":"6fdda8aac97c57c84671ae54b6c9377245bc33e8"} -->

RalfJung

comment created time in 20 hours

pull request commentrust-lang/miri

rustup; test swap of element with itself

:hourglass: Testing commit 3990debf824925230abca279661d7630fd859409 with merge 6fdda8aac97c57c84671ae54b6c9377245bc33e8... <!-- homu: {"type":"BuildStarted","head_sha":"3990debf824925230abca279661d7630fd859409","merge_sha":"6fdda8aac97c57c84671ae54b6c9377245bc33e8"} -->

RalfJung

comment created time in 20 hours

push eventrust-lang/miri

Ralf Jung

commit sha 3990debf824925230abca279661d7630fd859409

rustup; test swap of element with itself

view details

bors

commit sha 6fdda8aac97c57c84671ae54b6c9377245bc33e8

Auto merge of #1682 - RalfJung:rustup, r=RalfJung rustup; test swap of element with itself Cc https://github.com/rust-lang/rust/issues/80682

view details

push time in 20 hours

pull request commentrust-lang/miri

rustup; test swap of element with itself

:pushpin: Commit 3990debf824925230abca279661d7630fd859409 has been approved by RalfJung

<!-- @bors r=RalfJung 3990debf824925230abca279661d7630fd859409 --> <!-- homu: {"type":"Approved","sha":"3990debf824925230abca279661d7630fd859409","approver":"RalfJung"} -->

RalfJung

comment created time in 20 hours

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha 1eb7a70213008fa8b3a3e7f205aabf814f0bdc35

Started trying to apply crash-safe HandleRequest_is_rpcHandler to KV server

view details

Upamanyu Sharma

commit sha eb0f2587c276287816389891f2d955c2c83569f6

Require specs for core function and core makeDurable to apply HandleRequest spec

view details

Upamanyu Sharma

commit sha bcb50d64057a85b5d2562aaf65a185fa12852373

Remove reference to KVServer in rpc_durable_proof

view details

Upamanyu Sharma

commit sha dbf94064e6a590c9a09f6b1437dad905542c26c6

Finished off admits in rpc_durable_proof; Finished proof of KVServer__Put, leaving admits for wpc_put_core, wpc_WriteDurableKVServer, and defining the durable ownership predicate for a KVServer (i.e. the marshalling stuff).

view details

Upamanyu Sharma

commit sha e6223c6038688ff94fd1e854d224b87b5a788da5

Update lockservice code with impl of Write/ReadDurableKVServer

view details

Upamanyu Sharma

commit sha ec26a5105a11d2f9710e94d25e60a886612944ba

Proof of idempotent spec for KV__put_core, modulo a later problem

view details

Upamanyu Sharma

commit sha 190f7c9b5087e40b485d692346c815f679d0fadd

Proof of idempotent KVServer__put_core; now need to prove WriteKVDurableServer correct

view details

Upamanyu Sharma

commit sha e7e92476bec6c14a2583f0b12d601678be9d7fa7

Fupd in idempotent core spec can't have rpcRequestInvN in namespace

view details

Upamanyu Sharma

commit sha f0f7f6cfd6c3108b9e3aebd82147ed7e06a4ade8

Started working on wp_EncMap; got rid of an unnecessary later

view details

Upamanyu Sharma

commit sha e5f11884e66d52df3b7495004f9c4482188d1134

Deal with all but one admit in wp_EncMap

view details

krawthekrow

commit sha a1f820cc64e91ccbc8c685f559d8a57ded049839

prove locking theorems

view details

push time in 21 hours

push eventmit-pdos/perennial

krawthekrow

commit sha a1f820cc64e91ccbc8c685f559d8a57ded049839

prove locking theorems

view details

push time in 21 hours

pull request commentrust-lang/miri

Add ABI check for shims

find_mir_or_eval_fn is called for each function call. ... The main entry point you have to worry about is this

Thanks for pointing me in the right direction, that solved the failing test :smile:

Sorry for the notification spam in the related issue (forgot about the commit message). This PR should be ready for review when you are.

unseddd

comment created time in a day

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha e5f11884e66d52df3b7495004f9c4482188d1134

Deal with all but one admit in wp_EncMap

view details

push time in a day

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha 190f7c9b5087e40b485d692346c815f679d0fadd

Proof of idempotent KVServer__put_core; now need to prove WriteKVDurableServer correct

view details

Upamanyu Sharma

commit sha e7e92476bec6c14a2583f0b12d601678be9d7fa7

Fupd in idempotent core spec can't have rpcRequestInvN in namespace

view details

Upamanyu Sharma

commit sha f0f7f6cfd6c3108b9e3aebd82147ed7e06a4ade8

Started working on wp_EncMap; got rid of an unnecessary later

view details

push time in a day

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha ec26a5105a11d2f9710e94d25e60a886612944ba

Proof of idempotent spec for KV__put_core, modulo a later problem

view details

push time in a day

pull request commentrust-lang/miri

Add ABI check for shims

Sorry for the delay; I am quite busy currently so it could take a bit until I can take a closer look at what you did. It's on my queue though and will not get lost!

No worries, thanks for letting me know. No intention of being a nuisance :smile:

If it is __rust_begin_short_backtrace, then that function does have the Rust ABI, not the C ABI -- so looks like the check is wrong here

I'll look into it more, then. Still need to figure out all the callers of the shim find_mir_or_eval_fn. From your earlier comment, I thought these would all be extern "C" calls, but maybe that's only a subset? Anyway, thanks for the feedback, will keep working on this.

unseddd

comment created time in a day

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha e6223c6038688ff94fd1e854d224b87b5a788da5

Update lockservice code with impl of Write/ReadDurableKVServer

view details

push time in a day

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha bcb50d64057a85b5d2562aaf65a185fa12852373

Remove reference to KVServer in rpc_durable_proof

view details

Upamanyu Sharma

commit sha dbf94064e6a590c9a09f6b1437dad905542c26c6

Finished off admits in rpc_durable_proof; Finished proof of KVServer__Put, leaving admits for wpc_put_core, wpc_WriteDurableKVServer, and defining the durable ownership predicate for a KVServer (i.e. the marshalling stuff).

view details

push time in 2 days

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha eb0f2587c276287816389891f2d955c2c83569f6

Require specs for core function and core makeDurable to apply HandleRequest spec

view details

push time in 2 days

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha 1eb7a70213008fa8b3a3e7f205aabf814f0bdc35

Started trying to apply crash-safe HandleRequest_is_rpcHandler to KV server

view details

push time in 2 days

push eventmit-pdos/perennial

Joseph Tassarotti

commit sha 5504f54433b206d31d621281a5c3ade60798a5a4

Add Goose list/slice conversion functions

view details

Tej Chajed

commit sha 2ba15065f6912e317077164b037224b50b7465f9

Upgrade to Coq 8.13 Nothing is actually incompatible but we'll no longer worry about incompatibility from now.

view details

Upamanyu Sharma

commit sha 01418e25951bb6632437a79be46fec24fec69ffa

Started working on generic proof of crash-safe HandleRequest

view details

Joseph Tassarotti

commit sha 7f1fe2b9925ade42c7f5595b49782689eddcf64d

Define pure wrappers for ops, fix ReadBuf op in FFI

view details

Joseph Tassarotti

commit sha c0d98341a686f6cbb02c057145e1272e7aa89b0d

Finish defining translation of Atomically for twophase

view details

push time in 2 days

issue commentrust-lang/unsafe-code-guidelines

Storing an object as &Header, but reading the data past the end of the header

One thing I just thought of: when someone goes to try out the "delayed"/"on-use" aliasing restrictions, be wary of reborrows. Reborrows happen fairly often (which is obvious for &mut since &mut isn't Copy, but less obvious for &, since it is, but matters for lifetimes), and it would be unfortunate if it were worked out that &Header could access the whole alloc.... until you passed it into a function and it is reborrowed.

I don't expect this to be an issue, but it popped into my head as a worry so I wanted to write it down.

thomcc

comment created time in 2 days

pull request commentrust-lang/miri

Add ABI check for shims

@RalfJung I changed the ABI check, and rebased on latest master. Let me know what you think.

With the update, looks like a test(s) is now failing. Is this expected? Should I fix the test, or did I screw something up?

unseddd

comment created time in 2 days

push eventmit-pdos/perennial

Joseph Tassarotti

commit sha 7f1fe2b9925ade42c7f5595b49782689eddcf64d

Define pure wrappers for ops, fix ReadBuf op in FFI

view details

Joseph Tassarotti

commit sha c0d98341a686f6cbb02c057145e1272e7aa89b0d

Finish defining translation of Atomically for twophase

view details

push time in 2 days

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha 01418e25951bb6632437a79be46fec24fec69ffa

Started working on generic proof of crash-safe HandleRequest

view details

push time in 2 days

push eventmit-pdos/perennial

Tej Chajed

commit sha 2ba15065f6912e317077164b037224b50b7465f9

Upgrade to Coq 8.13 Nothing is actually incompatible but we'll no longer worry about incompatibility from now.

view details

push time in 2 days

push eventmit-pdos/perennial

Joseph Tassarotti

commit sha 5504f54433b206d31d621281a5c3ade60798a5a4

Add Goose list/slice conversion functions

view details

push time in 2 days

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha f7b29878549f668d5a0b7f40cf4af9ebf745fa9a

Annoying struct construction proof; will rewrite code to make it simpler

view details

Upamanyu Sharma

commit sha a3cd73ad621b56de194a60cafce2337c71cab8d3

Updated code; did annoying proof for assigning to ShortTermIncrClerk struct

view details

Upamanyu Sharma

commit sha eb8bf07aa64c1ff5dd259f508b286197ed63e35b

Use wp_DecodeShortTermIncrClerk

view details

Upamanyu Sharma

commit sha 9c759172527f6d3af4302dded2992a5fd40b180d

Use unproven spec for incr service in MakePreparedRequest proof. Need to weaken spatial context to the loop invariant for the MakePreparedRequest proof, just like in the proof of MakeRequest. Had to do a bit of work to turn a `(readonly (ck ↦[ShortTermIncrClerk.S :: "req"] <struct literal>))` into a bunch of readonly ptstos for all of the fields in the req struct, to satisfy the read_request precondition of RemoteProcedureCall_spec.

view details

Upamanyu Sharma

commit sha bc52dab15a1c59fb1807527a40d0b4b44610c5ba

Weakened loop invariant in MakePreparedRequest

view details

Upamanyu Sharma

commit sha 581b9edc35a78a4d479b0e712f21f6a689995ad1

Start using MakePreparedRequest; need to actually figure out what post we want on increment_core and MakePreparedRequest. We should only use up γPost at the commit point (when we make the reply table durable). Maybe make post of increment_core be a fupd that takes the Post out of the request invariant; the fupd probably will require a witness that the seqno has increased past the req's seqno, so that we can deal with crash condition.

view details

Joseph Tassarotti

commit sha 6d20e2d9e5d7224b645de0724cfcfb81f0781142

Remove the spec_atomic_convertible parameter A 'client' of this interface can implement that idea themselves, there's no need to bake in the context filtering according to this predicate in the interface.

view details

Joseph Tassarotti

commit sha 1bd6e21e3ca5e532786ca970a466205285911a2e

Add extra argument to Atomically block Operationally, this argument does nothing. But in the implementation, this will be a pointer to a txn, and the typing rules will enforce this.

view details

Joseph Tassarotti

commit sha 3367bbff0ca8b7a3701bec8665b5759689c966b9

Add stub for jrnl ffi

view details

Joseph Tassarotti

commit sha 0290639320993f77f906a2fb83fca854e866fad9

Define kinds and well-formedness for jrnl data

view details

Joseph Tassarotti

commit sha 532630fe6802c81905527a7c39db6dbdab8becb2

Fix interpreter

view details

Joseph Tassarotti

commit sha 6ae3a430e4b84faa2ef876a1dacd3e7ec26f393c

Fix out of date comments

view details

Joseph Tassarotti

commit sha 3a03fcadad2cbb827b825ff69a81f0917c15608d

Add transitions for ReadBufOp and WriteBufOp

view details

Joseph Tassarotti

commit sha 5280ade77afb44e84fe137b318347f2cab6dd5ee

Update goose output to include twophase

view details

Upamanyu Sharma

commit sha fde0360c33f73852a7b3aeb806df578bd4bbfa65

Merged rpc_base and rpc_durable into rpc.v

view details

Joseph Tassarotti

commit sha 9a7a16ff4ae19775340e5523d243d84e85004d7f

rename 2pl directory to twophase to match name of goosed code

view details

Joseph Tassarotti

commit sha 9a16ff0f06ffea8340e585b932e81043ce5f73b4

Add read/overwrite op translations (not quite right versions)

view details

krawthekrow

commit sha 5473de1cf630e2e5b84731bd558f41b806524b9b

initial twophase invariant

view details

push time in 3 days

push eventmit-pdos/perennial

krawthekrow

commit sha 5473de1cf630e2e5b84731bd558f41b806524b9b

initial twophase invariant

view details

push time in 3 days

push eventmit-pdos/perennial

Joseph Tassarotti

commit sha 9a7a16ff4ae19775340e5523d243d84e85004d7f

rename 2pl directory to twophase to match name of goosed code

view details

Joseph Tassarotti

commit sha 9a16ff0f06ffea8340e585b932e81043ce5f73b4

Add read/overwrite op translations (not quite right versions)

view details

push time in 3 days

push eventmit-pdos/perennial

Upamanyu Sharma

commit sha fde0360c33f73852a7b3aeb806df578bd4bbfa65

Merged rpc_base and rpc_durable into rpc.v

view details

push time in 3 days

more