Commit f853482
committed
Delete the three-space branch from the ps parser
`ps -o pid,command` has exactly one separator, so everything after the first
space is the command. The branch looking for a run of three spaces is left over
from a format that also carried TIME, and it was wrong in two ways at once.
It sliced timeAndCommandString by firstSpace - the PID's digit count, which is
not an index into that string at all - and then applied the index it found to
the unsliced span. So a command containing three consecutive spaces was
truncated to whatever followed them, and a seven digit PID with a short command
indexed past the end and threw ArgumentOutOfRangeException.
That throw comes out of ProcessCleanup's static constructor, so it is not one
bad line skipped: it is every launch and every kill in the process, permanently.
Two tests, both failing before this: a command with a run of spaces in it, and a
long PID with a short command.1 parent ae73cbb commit f853482
2 files changed
Lines changed: 39 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
42 | 72 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
83 | 78 | | |
84 | 79 | | |
85 | 80 | | |
| |||
0 commit comments