Skip to content

Fix disk-format handling and fail fast on host launch errors (#31/#32) - #34

Closed
Jordan231111 wants to merge 13 commits into
mainfrom
fix/issues-31-32-disk-access
Closed

Jordan231111 wants to merge 13 commits into
mainfrom
fix/issues-31-32-disk-access

Conversation

@Jordan231111

Copy link
Copy Markdown
Owner

Investigation

Refs #31 and #32 (the two newest open reports). The newer #33 is a closed provenance question without a runtime log and was also reviewed; no provenance/licensing material is changed.

Downloaded and read both complete public attachments:

Both logs fail at line 28 while Windows tries to start HD-Player.exe, before guest ADB. #31 then polls for 120 seconds with no player or listener; #32's submitted log stops after about 17 seconds with the same absence. The #32 screenshot was also downloaded and reviewed: PREP finishes and detaches the updated disk, then the DATA-stage launch is denied. Removing Defender is not established as a solution; the logs do not identify the denying component.

Separately, #31's issue-body transcript reports a virtual-disk provider error during offline Root.vhd attachment. The code inferred storage type from the filename. Microsoft documents this behavior for Mount/Get/Dismount-DiskImage. A VHDX named .vhd is a reproducible failure case, but the reporter's actual disk format is NOT present in their log and is not assumed to be VHDX.

Changes

  • Add canonical shared tools/bsr_host.ps1, embedded into both engines and debug.cmd by reembed.ps1.
  • Detect VHD/VHDX by content; reject truncated, VDI, and unknown images rather than rename/convert them.
  • Mount and query with an explicit storage type; detach using the successful mount's typed object. Do not detach pre-existing foreign mounts.
  • Preserve the pristine-backup step, then preflight attachment before patching HD-Player or changing configuration.
  • Use an explicit player working directory, quoted instance argument, and -ErrorAction Stop independent of the orchestrator's Continue preference.
  • Preserve exception chains, native Win32 codes, HRESULTs, and native CIM error identifiers. Add read-only ACL/signature/policy-event observations to launch failures.
  • Stop debug.cmd immediately with HOST_LAUNCH_FAILED and a nonzero status instead of polling an unstarted guest.
  • Replace the misleading antivirus-blaming pipeline footer.
  • Rebuild blueStackRoot.cmd; all non-script payload blocks remain byte-for-byte unchanged.
  • Add host regression coverage to normal, read-only Windows CI.

Validation

Windows validation run 36308106993 passed all six suites: 430 checks passed, 0 failed, 2 existing environment-dependent skips. The new host suite passed 59 checks, including real disposable VHD/VHDX mounts, typed queries, and detach. The old extension-only path failed on a VHDX named .vhd with 0x80070570; the corrected path succeeded. This reproduces the code defect, not the reporter's exact disk or error code.

The two skips require ext4/debugfs tooling and an actual HD-Player executable. Temporary investigation workflows and source patchers have been removed. No release was published and main is unchanged.

Still requires reporter confirmation

Draft because the original Windows permission/policy denial has not been reproduced on the reporters' hosts. These changes fix the demonstrated code paths and diagnostics; they do not grant permissions or bypass host security policy. The existing logs are insufficient to distinguish ACL, AppLocker/App Control, or another host denial. No new ACL/security exclusions or policy changes are made by these helpers.

Please validate the updated diagnostic on Rvc64 (#31) and Tiramisu64 (#32). A remaining host denial should now include native codes and relevant observations; a remaining disk failure should identify the detected format and exact native error. Keep images and backups intact. Do not close either issue on CI results alone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant