Page MenuHomePhabricator
Feed All Stories

May 3 2022

epriestley requested review of D21801: Use the same logic in "bin/drydock lease" and LeaseUpdateWorker to identify candidate blueprints.
May 3 2022, 9:28 PM
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21801: Use the same logic in "bin/drydock lease" and LeaseUpdateWorker to identify candidate blueprints.
May 3 2022, 9:28 PM · Drydock
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21800: Allow "bin/drydock lease" to acquire many identical leases with "--count N".
May 3 2022, 9:10 PM · Drydock
epriestley requested review of D21800: Allow "bin/drydock lease" to acquire many identical leases with "--count N".
May 3 2022, 9:10 PM
epriestley requested review of D21799: Add an ArgumentParser helper for integers.
May 3 2022, 9:09 PM
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21799: Add an ArgumentParser helper for integers.
May 3 2022, 9:09 PM · Drydock
epriestley closed D21798: Fix more PHP 8.1 "strlen(null)" callsites in PhutilURI.
May 3 2022, 8:42 PM
epriestley committed rARCe5b92735c6dc: Fix more PHP 8.1 "strlen(null)" callsites in PhutilURI (authored by epriestley).
Fix more PHP 8.1 "strlen(null)" callsites in PhutilURI
May 3 2022, 8:42 PM
epriestley added a comment to T13676: Drydock may reclaim recently-used resources.

That patch is reasonable, and shouldn't break anything as long as the list you provide is a subset of the possible list.

May 3 2022, 8:41 PM · Drydock
jmeador added a comment to T13676: Drydock may reclaim recently-used resources.

fill in the details a bit.

May 3 2022, 7:06 PM · Drydock
epriestley added a revision to T13588: PHP 8 Compatibility: D21798: Fix more PHP 8.1 "strlen(null)" callsites in PhutilURI.
May 3 2022, 7:00 PM · Infrastructure
epriestley requested review of D21798: Fix more PHP 8.1 "strlen(null)" callsites in PhutilURI.
May 3 2022, 7:00 PM
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21798: Fix more PHP 8.1 "strlen(null)" callsites in PhutilURI.
May 3 2022, 7:00 PM · Drydock
epriestley closed D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
May 3 2022, 6:58 PM
epriestley committed rARC8d487ed77016: Mostly remove "STDERR" and "STDOUT" constants from Arcanist (authored by epriestley).
Mostly remove "STDERR" and "STDOUT" constants from Arcanist
May 3 2022, 6:58 PM
epriestley updated the diff for D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
  • Fix stderr vs stdout mixup.
May 3 2022, 6:58 PM
epriestley requested review of D21797: Update "bin/drydock command" help text to use more standard quoting.
May 3 2022, 6:57 PM
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21797: Update "bin/drydock command" help text to use more standard quoting.
May 3 2022, 6:57 PM · Drydock
epriestley added a comment to T13676: Drydock may reclaim recently-used resources.

After D21796:

May 3 2022, 6:54 PM · Drydock
epriestley added a comment to T13676: Drydock may reclaim recently-used resources.

(one orthogonal bug I found is that bin/drydock lease discards any blueprints provided in an attributes JSON)

May 3 2022, 6:46 PM · Drydock
jmeador added a comment to T13676: Drydock may reclaim recently-used resources.

(one orthogonal bug I found is that bin/drydock lease discards any blueprints provided in an attributes JSON)

May 3 2022, 6:42 PM · Drydock
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21796: Fail in a more comprehensible way when a WorkingCopy lease omits or mangles "repositories.map".
May 3 2022, 6:36 PM · Drydock
epriestley requested review of D21796: Fail in a more comprehensible way when a WorkingCopy lease omits or mangles "repositories.map".
May 3 2022, 6:36 PM
epriestley added a comment to T13676: Drydock may reclaim recently-used resources.

Grab a test lease on the host with:

May 3 2022, 6:31 PM · Drydock
epriestley closed T12103: No active Drydock blueprint exists which can ever allocate a resource for lease, when there is one available as Resolved.

Harbormaster needs a "Working Copy" blueprint, not just a "Host" blueprint.

May 3 2022, 6:18 PM · Bug Report
epriestley requested review of D21795: Fix various "strlen(null)" PHP 8.1 issues on "bin/phd" and "bin/drydock" pathways.
May 3 2022, 6:10 PM
epriestley added a revision to T13676: Drydock may reclaim recently-used resources: D21795: Fix various "strlen(null)" PHP 8.1 issues on "bin/phd" and "bin/drydock" pathways.
May 3 2022, 6:10 PM · Drydock
epriestley added a revision to T13588: PHP 8 Compatibility: D21795: Fix various "strlen(null)" PHP 8.1 issues on "bin/phd" and "bin/drydock" pathways.
May 3 2022, 6:10 PM · Infrastructure
epriestley added a comment to T13676: Drydock may reclaim recently-used resources.

Here's a fairly simple way to reproduce this:

May 3 2022, 5:55 PM · Drydock
epriestley triaged T13676: Drydock may reclaim recently-used resources as Normal priority.
May 3 2022, 5:35 PM · Drydock

May 2 2022

epriestley added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

How do modern servers written in C/C++ handle parallelizing requests?

May 2 2022, 11:06 PM · Arcanist
epriestley added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

Just for my own notes:

May 2 2022, 8:14 PM · Arcanist

May 1 2022

20after4 awarded T13658: How to rebrand Phabricator a Mountain of Wealth token.
May 1 2022, 10:15 PM
20after4 added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

FWIW I've found by far the easiest way to work with microcontrollers is using micropython / circuitpython on any of these chips: ESP32, ATSAMD21/ATSAMD51 and RP2040. The esp32 is in many ways the easiest and most practical because it's extremely cheap and includes a wifi radio.

May 1 2022, 9:58 PM · Arcanist

Apr 29 2022

epriestley added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

What are the practical limits of multi-system or multi-architecture binaries?

Apr 29 2022, 8:32 PM · Arcanist
mormegil awarded T13675: Can Arcanist plausibly be compiled into a binary? a Love token.
Apr 29 2022, 8:26 AM · Arcanist
mormegil added a comment to T13673: CVE-2022-24765 - Multi-user Git Privilege Escalation.

Just for visibility, this is I believe the change that broke Diffusion (which was fixed in rP52df4ff515b7), where the error message is something like

Apr 29 2022, 8:19 AM · Git, Security
epriestley added inline comments to D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
Apr 29 2022, 3:18 AM
cspeckmim added inline comments to D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
Apr 29 2022, 2:39 AM

Apr 28 2022

epriestley added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

I generated D21794 with a native binary that has no dependency on system PHP (but does depend on system cURL).

Apr 28 2022, 10:41 PM · Arcanist
epriestley added a revision to T13675: Can Arcanist plausibly be compiled into a binary?: D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
Apr 28 2022, 10:25 PM · Arcanist
epriestley added a revision to T13556: Setting "phd.trace" may cause TTY testing with "posix_isatty()" against closed pipes: D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
Apr 28 2022, 10:25 PM · Daemons
epriestley requested review of D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
Apr 28 2022, 10:25 PM
epriestley added a comment to T13556: Setting "phd.trace" may cause TTY testing with "posix_isatty()" against closed pipes.

Another open question is: before we call posix_isatty(STDOUT), how do we test whether STDOUT is a valid handle?

Apr 28 2022, 10:23 PM · Daemons
epriestley added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.
  1. PHP doesn't link cURL statically and doesn't appear (?) to provide any easy way to link it statically.
      • Possible solution: build static cURL.
      • Possible solution: link cURL dynamically.
      • Possible solution: replace cURL with mbedTLS + a first-party HTTP client, since we don't care about 99% of what cURL does. Or implement first-party TLS hahaha except I'm half-serious? If HTTP/HTTPS is going to happen from an embedded context on my coffee maker I need a healthy embeddable TLS + HTTP stack anyway.
    1. The STDERR and STDOUT constants are defined by the CLI SAPI, and not present in the embed SAPI.
      • Possible solution: define them in the C wrapper.
      • Possible solution: polyfill them at startup in PHP (I'm not entirely sure this is possible).
      • Possible solution: abstract around them and use php://stderr and php://stdout instead. See also T13556. This is likely desirable anyway.
    2. When arc tries to load PHP code, it needs to read data out of the executable binary in some set of conditions (e.g., "if we miss on disk").
      • Possible solution: hook zend_compile_file(), which seems to be the expected way to approach this. The flow in phar_compile_file() seems similar.
    3. To run unit tests, arc depends on the presence of a php binary on the system.
      • Possible solution: accept that you must also have PHP to run arc's tests (and that system PHP may differ from arc php).
      • Possible solution: also include the PHP CLI wrapper and invoke it when arc is executed as php, providing what is essentially a fallback toolset.
      • Possible solution: provide a "unit test helper" fallback toolset.
      • Possible solution: rewrite the 5 trivial cases where we need this (support/unit/*) in shell script (but: the reason to do these in PHP in the first place was so that they're portable to Windows).
Apr 28 2022, 9:44 PM · Arcanist

Apr 27 2022

epriestley added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

Can we build a single binary with a bunch of data in it (e.g., a picture of a cat) without breaking anything?

Apr 27 2022, 4:51 PM · Arcanist

Apr 26 2022

cburroughs awarded T13675: Can Arcanist plausibly be compiled into a binary? a Y So Serious token.
Apr 26 2022, 12:50 AM · Arcanist

Apr 25 2022

epriestley closed T5619: Duplicate entry 'PHID-PHRF-n6jez7lb5eyyll77k7re-338' for key 'key_version'' in Phragment as Wontfix.

See T5479.

Apr 25 2022, 11:50 PM · Phragment
epriestley closed T4684: Asynchronously calculate or pre-calculate patches for Phragment files as Wontfix.

See T5479.

Apr 25 2022, 11:50 PM · Phragment
epriestley closed T5065: Allow Phragment to serve up repositories in e.g. NuGet and Maven formats, a subtask of T5479: Unbeta Phragment, as Wontfix.
Apr 25 2022, 11:50 PM · Phragment
epriestley closed T5065: Allow Phragment to serve up repositories in e.g. NuGet and Maven formats as Wontfix.

See T5479.

Apr 25 2022, 11:50 PM · Phragment
epriestley closed T5479: Unbeta Phragment as Resolved.

I removed Phragment in D21793.

Apr 25 2022, 11:50 PM · Phragment
epriestley added a comment to T13658: How to rebrand Phabricator.

My initial linter implementation didn't actually catch all of these so there were a few more than I expected, but I think I got essentially all of them.

Apr 25 2022, 11:48 PM
epriestley closed D21792: Remove the "Releeph" application.
Apr 25 2022, 11:47 PM
epriestley closed D21793: Remove the "Phragment" application.
Apr 25 2022, 11:47 PM
epriestley committed rP84b0c5a669ea: Remove the "Releeph" application (authored by epriestley).
Remove the "Releeph" application
Apr 25 2022, 11:47 PM
epriestley committed rPc4156229233a: Remove the "Phragment" application (authored by epriestley).
Remove the "Phragment" application
Apr 25 2022, 11:47 PM
epriestley committed rP27b512e28496: Remove product literal strings in "pht()", part 25 (authored by epriestley).
Remove product literal strings in "pht()", part 25
Apr 25 2022, 11:47 PM
epriestley closed D21791: Remove product literal strings in "pht()", part 25.
Apr 25 2022, 11:47 PM
epriestley closed D21790: Remove product literal strings in "pht()", part 24.
Apr 25 2022, 11:47 PM
epriestley committed rPbc7f87591fe7: Remove product literal strings in "pht()", part 24 (authored by epriestley).
Remove product literal strings in "pht()", part 24
Apr 25 2022, 11:47 PM
epriestley closed D21788: Remove product literal strings in "pht()", part 22.
Apr 25 2022, 11:47 PM
epriestley closed D21789: Remove product literal strings in "pht()", part 23.
Apr 25 2022, 11:47 PM
epriestley committed rP0c5ab2c16428: Remove product literal strings in "pht()", part 23 (authored by epriestley).
Remove product literal strings in "pht()", part 23
Apr 25 2022, 11:47 PM
epriestley committed rP7fd82631854a: Remove product literal strings in "pht()", part 22 (authored by epriestley).
Remove product literal strings in "pht()", part 22
Apr 25 2022, 11:47 PM
epriestley committed rPb1079b79e582: Remove product literal strings in "pht()", part 21 (authored by epriestley).
Remove product literal strings in "pht()", part 21
Apr 25 2022, 11:47 PM
epriestley closed D21787: Remove product literal strings in "pht()", part 21.
Apr 25 2022, 11:47 PM
epriestley closed D21786: Remove product literal strings in "pht()", part 20.
Apr 25 2022, 11:47 PM
epriestley closed D21785: Remove product literal strings in "pht()", part 19.
Apr 25 2022, 11:47 PM
epriestley committed rP2f4ac2a8040a: Remove product literal strings in "pht()", part 19 (authored by epriestley).
Remove product literal strings in "pht()", part 19
Apr 25 2022, 11:47 PM
epriestley committed rP2f95330c5aaa: Remove product literal strings in "pht()", part 18 (authored by epriestley).
Remove product literal strings in "pht()", part 18
Apr 25 2022, 11:47 PM
epriestley closed D21784: Remove product literal strings in "pht()", part 18.
Apr 25 2022, 11:47 PM
epriestley committed rP07723b46274c: Remove product literal strings in "pht()", part 20 (authored by epriestley).
Remove product literal strings in "pht()", part 20
Apr 25 2022, 11:47 PM
epriestley committed rP55770a2ca8d7: Remove product literal strings in "pht()", part 17 (authored by epriestley).
Remove product literal strings in "pht()", part 17
Apr 25 2022, 11:47 PM
epriestley closed D21783: Remove product literal strings in "pht()", part 17.
Apr 25 2022, 11:46 PM
epriestley committed rP9df1bbd31da8: Remove product literal strings in "pht()", part 16 (authored by epriestley).
Remove product literal strings in "pht()", part 16
Apr 25 2022, 11:46 PM
epriestley committed rPce1972bfae60: Remove product literal strings in "pht()", part 15 (authored by epriestley).
Remove product literal strings in "pht()", part 15
Apr 25 2022, 11:46 PM
epriestley committed rP67e580be651b: Remove product literal strings in "pht()", part 14 (authored by epriestley).
Remove product literal strings in "pht()", part 14
Apr 25 2022, 11:46 PM
epriestley closed D21782: Remove product literal strings in "pht()", part 16.
Apr 25 2022, 11:46 PM
epriestley closed D21781: Remove product literal strings in "pht()", part 15.
Apr 25 2022, 11:46 PM
epriestley closed D21780: Remove product literal strings in "pht()", part 14.
Apr 25 2022, 11:46 PM
epriestley committed rP0eddc1a62ccd: Remove product literal strings in "pht()", part 13 (authored by epriestley).
Remove product literal strings in "pht()", part 13
Apr 25 2022, 11:46 PM
epriestley committed rP4d70e9d4004b: Remove product literal strings in "pht()", part 12 (authored by epriestley).
Remove product literal strings in "pht()", part 12
Apr 25 2022, 11:46 PM
epriestley closed D21779: Remove product literal strings in "pht()", part 13.
Apr 25 2022, 11:46 PM
epriestley closed D21778: Remove product literal strings in "pht()", part 12.
Apr 25 2022, 11:46 PM
epriestley committed rP039cbec1553b: Remove product literal strings in "pht()", part 11 (authored by epriestley).
Remove product literal strings in "pht()", part 11
Apr 25 2022, 11:46 PM
epriestley closed D21777: Remove product literal strings in "pht()", part 11.
Apr 25 2022, 11:46 PM
epriestley closed D21776: Catch more product names in "pht()", and replace newly matched Arcanist product names.
Apr 25 2022, 11:46 PM
epriestley committed rARCda206314cf59: Catch more product names in "pht()", and replace newly matched Arcanist product… (authored by epriestley).
Catch more product names in "pht()", and replace newly matched Arcanist product…
Apr 25 2022, 11:46 PM
epriestley added a revision to T5479: Unbeta Phragment: D21793: Remove the "Phragment" application.
Apr 25 2022, 11:45 PM · Phragment
epriestley requested review of D21793: Remove the "Phragment" application.
Apr 25 2022, 11:45 PM
epriestley added a revision to T13658: How to rebrand Phabricator: D21793: Remove the "Phragment" application.
Apr 25 2022, 11:45 PM
epriestley added a revision to T9530: Release Server / Workflow app / Future of Releeph : D21792: Remove the "Releeph" application.
Apr 25 2022, 11:40 PM · Restricted Project, Harbormaster
epriestley requested review of D21792: Remove the "Releeph" application.
Apr 25 2022, 11:40 PM
epriestley added a revision to T13658: How to rebrand Phabricator: D21792: Remove the "Releeph" application.
Apr 25 2022, 11:40 PM
epriestley requested review of D21791: Remove product literal strings in "pht()", part 25.
Apr 25 2022, 11:30 PM
epriestley added a revision to T13658: How to rebrand Phabricator: D21791: Remove product literal strings in "pht()", part 25.
Apr 25 2022, 11:30 PM
epriestley requested review of D21790: Remove product literal strings in "pht()", part 24.
Apr 25 2022, 11:27 PM
epriestley added a revision to T13658: How to rebrand Phabricator: D21790: Remove product literal strings in "pht()", part 24.
Apr 25 2022, 11:26 PM
epriestley requested review of D21789: Remove product literal strings in "pht()", part 23.
Apr 25 2022, 11:24 PM