Repository navigation
Commit 2343d26
fix(test): unflake the apply_lock orphaned-inode race; extend the hosted gem pin for production's fifth 6.0.3 patch (#232)
* fix(test): retry the apply_lock orphaned-inode choreography to tolerate its two benign races
waiter_does_not_lock_orphaned_inode_after_lock_file_deleted failed 3/3
attempts on CI's macos-latest (PR #230's runs) in two distinct modes,
both scheduler races in the TEST, not the lock:
- the waiter's retry landed between remove_file and the test's fresh
acquire, while the lock was genuinely free — the waiter is a
legitimate sole holder and the fresh try-once .unwrap() panicked
(apply_lock.rs:395);
- the waiter opened the old inode, was descheduled across repair's
drop+unlink, and flocked the orphan — the sanctioned microsecond
open->flock window the module docs accept for a fresh acquire
(apply_lock.rs:401).
The regressed bug (one pre-loop handle re-flocked forever) double-holds
on essentially every iteration, while the benign losses need an unlucky
deschedule and almost never repeat — so retry the choreography up to 5
times, pass on the first clean iteration (fresh guard held, waiter got
Held — unreachable under the bug), and fail only if no iteration is
clean. 30 isolated runs + 3 full-suite (2540-test parallel) runs green
locally.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(test): extend the hosted gem pin with production's fifth activestorage 6.0.3 patch
hosted-e2e's gem_bundler_hosted_install_proof fails on every PR since
2026-08-21T19:07Z: production extended the activestorage 6.0.3 patch set
with a fifth advisory — GHSA-xr9x-r78c-5hrm / CVE-2026-66066 (libvips
unfuzzed-operations arbitrary file read / RCE) — and the server-ranked
selection now wires its patch 9c2b4925-b413-4a3a-bb3a-9990440fb446,
which the pinned any-of set predates.
Verified per the pin's own recipe before appending: /patch/view blobs
fetched live 2026-08-24 — image_processing_transformer.rb (modified) and
NEW lib/active_storage/vips.rb (backports Vips.block_untrusted) both
carry the Socket Community Patch header, git-blob-sha256-match their
manifest afterHash entries, and contain no unexpected code. The gem leg
passes against live production locally with the extended set.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent 96df6ae commit 2343d26
2 files changed
Lines changed: 88 additions & 44 deletions
File tree
- crates
- socket-patch-cli/tests
- socket-patch-core/src/patch
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
166 | | - | |
167 | | - | |
| 165 | + | |
| 166 | + | |
168 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
169 | 176 | | |
170 | 177 | | |
171 | 178 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
362 | 369 | | |
363 | 370 | | |
364 | 371 | | |
365 | 372 | | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
403 | 441 | | |
404 | | - | |
405 | | - | |
| 442 | + | |
| 443 | + | |
406 | 444 | | |
407 | | - | |
408 | 445 | | |
409 | 446 | | |
410 | 447 | | |
| |||
0 commit comments