Page MenuHomePhabricator

Remove --background flag to prevent `arc` from hanging
ClosedPublic

Authored by epriestley on Aug 8 2014, 8:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 11, 8:09 AM
Unknown Object (File)
Wed, Apr 10, 5:32 PM
Unknown Object (File)
Fri, Mar 29, 1:23 PM
Unknown Object (File)
Thu, Mar 21, 8:52 PM
Unknown Object (File)
Wed, Mar 20, 6:42 PM
Unknown Object (File)
Wed, Mar 20, 3:51 PM
Unknown Object (File)
Feb 3 2024, 12:25 AM
Unknown Object (File)
Feb 1 2024, 5:16 PM
Subscribers
Tokens
"Like" token, awarded by turadg."Manufacturing Defect?" token, awarded by vm.

Details

Summary

Ref T4281. A long time ago, we added a --background flag to let arc lint and arc unit run while you're typing a commit message, in some situations.

This code is only moderately beneficial and is way too complicated. Particularly, it has a long history of causing hangs (T4281, T2463), doesn't work on Windows, and is impossible to debug.

It's also running into a serious PHP bug with EAGAIN/EPIPE being indistinguishable that I haven't been able to find a reasonable workaround for in ~3-4 hours of trying.

All the pathways forward that I can see make this already-complex system more complex.

The major reason that this stuff is so complex is that the subprocess may need to prompt the user (notably, to apply patches from lint).

Instead, I'm going to simplify how arc diff interacts with arc lint and arc unit, so we can just fire-and-forget a background process, let it do as much work as it can without needing user input, and then pick up wherever it left off. This will be slightly less cool/magical, but it won't hang bizarrely and I will be able to debug it.

For now, simply remove the --background flag and behavior so arc works for everyone.

Test Plan

Ran arc diff to create this diff.

Diff Detail

Repository
rARC Arcanist
Branch
lhang1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 2119
Build 2123: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Remove --background flag to prevent `arc` from hanging.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Aug 8 2014, 10:16 PM
epriestley updated this revision to Diff 24546.

Closed by commit rARC54bea946c120 (authored by @epriestley).