Problem
Unrelated IDE features stop working after a patch update. One observed case is the Commit tool window. Double-clicking a file opens an editor tab, and the tab closes immediately without showing a diff.
The IDE reports the target version, so the version number does not show that the installation is incomplete.
idea.log contains one or more of the following, in any combination:
java.util.MissingResourceException: Registry key <key> is not defined
com.intellij.diagnostic.PluginException: Cannot create editor by provider <provider class>
java.lang.ClassNotFoundException: <platform class>
com.intellij.diagnostic.PluginException: Missing extension point: <extension point>
java.lang.NoSuchMethodError: <method of a bundled plugin>
<module> isn't loaded: it depends on module '<module>' which has private visibility in '<plugin>' plugin
idea_updater_error.log in the log directory records two failures from a single update run:
ERROR Patch.apply - apply failed
java.io.IOException: No space left on device
ERROR Runner.install - revert failed
java.io.IOException: No space left on device
The updater is platform code shared by IntelliJ-based IDEs, so the cause is not specific to one product or one operating system.
Cause
The updater overwrites JAR files in the installation directory in place, after copying each one to a backup. Both the apply step and the revert step need free disk space. When the volume fills during apply, the revert fails for the same reason. The installation then holds files from both builds, plus any file that was partly written when the write failed.
Code from the new build reads registry keys and loads classes that only the new modules declare. Those modules are still the previous build, so each call site fails with whichever exception fits it. A missing registryKey declaration produces MissingResourceException. A missing class produces ClassNotFoundException.
The failures occur in subsystems that have nothing to do with the update, so the reported symptom rarely identifies the updater as the cause. In one incident three loggers reported the same missing registry key: DiffRequestProcessor, MessageBusImpl and SingleAlarm.
The disk space the updater needs is tracked in Updating IDE requires irrational amount of temporary space failing with error "not enough storage space".
Resolution
- Open the log directory through Help | Diagnostic Tools | Special Files and Folders.
- Search
idea_updater_error.logforNo space left on device. - Check that one update run logged two failures, one for
Patch.applyand one forRunner.install. Both failures together confirm that this article applies. - Free disk space on the volume that holds the installation directory and the IDE system directory. Updating Rider fails with "IOException: No space left on device" gives the space each update step consumes. The figures apply to any IntelliJ-based IDE.
- Do not retry the patch update. A patch is computed against the previous build's files, and those files are now a mixture, so a retry cannot produce a consistent installation.
- Install the target version from the full distribution.
- Delete the old installation directory once the new installation starts.
Settings, plugins and caches live outside the installation directory, so a reinstall keeps them. See Directories used by the IDE.
To prevent the same failure on later updates, move the IDE system directory to a volume with more free space, or update through the JetBrains Toolbox App. The article linked in step 4 describes both routes.
Comments
0 comments
Please sign in to leave a comment.