The wheel-only pip install for an optional attention kernel ran inside load_pipeline under _lock and _generate_lock, so a slow or hanging install blocked unload and cancellation for up to the 600s timeout. Resolve and install the kernel before taking the locks (only an explicit backend ever pulls a package, and its resolution ignores the speed tier); the in-lock apply call is then a fast no-op. Also decode and log pip's stderr on a failed install so the fallback to native is diagnosable instead of showing only the exit code. |
||
|---|---|---|
| .. | ||
| assets | ||
| auth | ||
| core | ||
| hub | ||
| loggers | ||
| models | ||
| plugins | ||
| requirements | ||
| routes | ||
| state | ||
| storage | ||
| tests | ||
| utils | ||
| __init__.py | ||
| _platform_compat.py | ||
| cloudflare_tunnel.py | ||
| colab.py | ||
| main.py | ||
| run.py | ||
| startup_banner.py | ||