desktop: write an xauth entry for :1 once Xvfb is up - #193
Merged
Merged
Conversation
python-xlib looks the display up in XAUTHORITY by hostname and display number. The empty file the flavor installed satisfied its existence check but not the lookup, so every import of pyautogui printed two "no xauthority details available" lines on stdout. The osworld-server runs grader python through that stdout: a glob getter that json-decodes it fails, logs a warning and reports no files, which scored two OSWorld tasks as failures although the agent had produced the files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The desktop flavor installs an empty
/home/user/.Xauthorityso python-xlib finds the file. python-xlib does not stop there: it looks the display up by hostname and display number, finds no entry, and prints twoXlib.xauth: warning, no xauthority details availablelines on stdout every timepyautoguiis imported.The guest's osworld-server runs grader code as
python -c "<pyautogui prefix>; …"and hands that stdout back to the harness. A getter that json-decodes it (get_vm_file_with_wildcard) fails, logsFailed to parse glob results … Expecting value: line 1 column 1, and reports no files. Two OSWorld-V2 tasks (028, 091) scored as failures on this image although the agent had produced the files; the same tasks pass on an AMI with a populated Xauthority.This adds an
ExecStartPosttoxvfb.servicethat writes an entry for:1once the socket exists. The cookie value is irrelevant (Xvfb runs with-ac); the entry only has to exist. Guest hostname is a stablelocalhostafter restore, so a golden-time entry serves every clone.Evidence
Exact line run as root in a live guest, then the harness's own payload through the osworld-server:
Image built with this change and gated in a cold-booted guest (python modules, DISPLAY :0 alias, evolution store, zotero path, keyring off, snap shim, wine/dxvk, fanotify, port relay, and a new check that
import pyautoguithrough the server prints nothing but the payload):OVERLAY_GATE PASS.Hot path: none; one
xauth addat Xvfb start.