Problem
ide-services-cli init prints this line and then produces no further output for tens of minutes:
Downloading latest Toolbox tool distributions into ./ide-services/offline/distributions…
No error appears, no progress indicator appears, and the process does not exit. Running the command with -vvv shows a continuous JDK HttpClient debug loop. This output is easy to mistake for a failed connection.
Cause
init downloads the latest Toolbox App distribution for every supported operating system and architecture. One distribution is about 160 MB. The set cannot be narrowed, because init accepts no filter option. The --filter JSON documented for offline mode applies to ide-services-cli tool list and ide-services-cli tool download only.
init prints nothing between the start of the download and its completion. A run in progress and a failed run produce identical console output, so elapsed time alone does not distinguish them. Behind an inspecting proxy, a full init can take tens of minutes. The offline mode documentation does not state how long init runs, or how much it downloads.
Resolution
Check whether the download is still running before changing any configuration.
- Run
du -sh ide-services/offlinefrom a second shell. The total grows while the download runs. - Look for the
plugins/directory. A complete run producesdistributions/,feeds/,plugins/andoffline.jsonunderide-services/offline/. Whenplugins/exists, the run reached the end. - Read the byte counts in the
-vvvoutput. Body-parser lines are the only lines that prove data arrives:
Parser got 3984 bytes (3984 remaining / 167432080)
Parser got all expected bytes: completing
readBuf remaining:0 and DownstreamPusher: queue empty do not indicate a problem. Those lines are the read loop waiting on the next socket read, and they appear throughout a slow but healthy transfer.
To shorten the wait, run init on a host with faster or uninspected egress. init contacts download.jetbrains.com only. It writes a self-contained ide-services/offline/ tree, which is transferred to object storage as a separate step. So init does not need to run on the restricted network, or on the IDE Services server. An interrupted run also does not have to start over. init skips tool distributions that are already downloaded, and the --force command re-downloads them.
If init exits with an error instead of running silently, Please review Resolving IDE Service CLI Connection Issue with Proxy and Offline Mode which covers the proxy configuration init requires behind a corporate proxy.
Comments
0 comments
Please sign in to leave a comment.