• Stefy Lanza (nextime / spora )'s avatar
    a worker's own interpreter dies on the environment the engine hands it · 4b223f7b
    Stefy Lanza (nextime / spora ) authored
    Live on zeiss, /v1/audio/generate answered in 0.25s with "ACE-Step
    requirements missing", which was not the problem: the venv was there and
    imported fine by hand in the same container.
    
    The container's per-engine launchers export PYTHONHOME=/opt/coderai/python
    (the standalone 3.13); PID 1 and an interactive docker exec do not. A 3.12
    interpreter inheriting it aborts before running a byte -- "Current thread ...
    <no Python frame>" -- so the worker's import probe failed instantly, and the
    caller went down the rebuild path to report a missing file instead. Reproduced
    both ways before changing anything.
    
    longcat_worker had already solved this for its 3.10 venv, behind a docstring
    saying coderai does not set those variables. It does. The helper is shared now
    (codai/api/venv_env), longcat delegates to it, and every ACE-Step spawn --
    probe, both venv-creation routes, the install, the service -- goes through it.
    The probe also prints what the child said rather than returning a bare False.
    
    Then response_format: declared as url | b64_wav | b64_mp3, and ignored. The
    response was chosen by whether a file directory was configured, so a client
    asking for base64 silently got a URL -- the same bug /v1/images had with
    b64_json. Honoured now, and b64_mp3 is really encoded, because base64 of a wav
    under an mp3 key is a decode failure at the client.
    
    Also corrected in passing: versions.env pins UBUNTU_VERSION=24.04, whose
    system python IS 3.12, so the baked venv needs no bundled interpreter. The
    Dockerfile rewrote pyvenv.cfg at /opt/coderai/py312 unconditionally, which
    would have broken a working venv when nothing was bundled there, and the build
    refused outright without a relocatable 3.12 it did not need.
    
    Verified live after the fix: b64_wav returns 5,742,296 bytes (~15s of 48 kHz
    stereo), eviction by a 21 GB model stopped the worker and took the GPU from
    7958 MiB to 274 MiB in under four seconds, and ACE-Step then reloaded and
    generated again. Suite at its 15-failure baseline, 5299 passed.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_014T3rZnLhydX9QqUcfBbqLu
    4b223f7b
Name
Last commit
Last update
..
__init__.py Loading commit data...
_film_net.py Loading commit data...
_rife_ifnet.py Loading commit data...
acestep_worker.py Loading commit data...
app.py Loading commit data...
archive.py Loading commit data...
audio_backends.py Loading commit data...
audio_clean.py Loading commit data...
audio_gen.py Loading commit data...
audio_stems.py Loading commit data...
audiocraft_worker.py Loading commit data...
canary_worker.py Loading commit data...
characters.py Loading commit data...
chunking.py Loading commit data...
colibri_worker.py Loading commit data...
compose.py Loading commit data...
context_overflow.py Loading commit data...
crisperwhisper_worker.py Loading commit data...
custom_pipelines.py Loading commit data...
diarization.py Loading commit data...
ds4_kv_janitor.py Loading commit data...
ds4_worker.py Loading commit data...
embeddings.py Loading commit data...
environments.py Loading commit data...
faceswap.py Loading commit data...
fastlog.py Loading commit data...
h3_worker.py Loading commit data...
host_worker.py Loading commit data...
hub_compat.py Loading commit data...
images.py Loading commit data...
k3_worker.py Loading commit data...
kt_worker.py Loading commit data...
lang_codes.py Loading commit data...
lipsync.py Loading commit data...
log.py Loading commit data...
longcat_worker.py Loading commit data...
loop_watch.py Loading commit data...
lora_archs.py Loading commit data...
loras.py Loading commit data...
melotts_worker.py Loading commit data...
model_test.py Loading commit data...
models_transfer.py Loading commit data...
moderation.py Loading commit data...
mux_remote.py Loading commit data...
ocr.py Loading commit data...
parler_worker.py Loading commit data...
pipelines.py Loading commit data...
pod_http.py Loading commit data...
pod_telemetry.py Loading commit data...
pod_tls.py Loading commit data...
podlog.py Loading commit data...
prompt_cache.py Loading commit data...
pyannote_worker.py Loading commit data...
ratelimit.py Loading commit data...
remote_gateway.py Loading commit data...
rerank.py Loading commit data...
runpod_client.py Loading commit data...
runpod_fleet_share.py Loading commit data...
runpod_ledger.py Loading commit data...
runpod_worker.py Loading commit data...
serving_load.py Loading commit data...
spatial.py Loading commit data...
speaker_embeddings.py Loading commit data...
speaker_registry.py Loading commit data...
state.py Loading commit data...
stt_backends.py Loading commit data...
text.py Loading commit data...
thread_pool.py Loading commit data...
transcriptions.py Loading commit data...
tts.py Loading commit data...
tts_backends.py Loading commit data...
uploads.py Loading commit data...
urlutils.py Loading commit data...
venv_env.py Loading commit data...
video.py Loading commit data...
vllm_worker.py Loading commit data...
voice_clone.py Loading commit data...
voice_convert.py Loading commit data...
vpr_salad_server.py Loading commit data...
xtts_worker.py Loading commit data...