Architect crashes after indexing help pages

After installation of a package from source, Architect updates the help index.
After that it crashes without an error.
The last message in the log is:

!MESSAGE An error occurred when exec RJ UI command 'org.eclipse.statet.r.apps.onAppStarted'.
!STACK 0
org.eclipse.statet.jcommons.status.StatusException: Unhandled RJ UI command 'org.eclipse.statet.r.apps.onAppStarted'.
	at org.eclipse.statet.rj.server.client.AbstractRJComClient.handleUICallback(AbstractRJComClient.java:478)
	at org.eclipse.statet.r.nico.impl.RjsController$NicoComClient.handleUICallback(RjsController.java:357)
	at org.eclipse.statet.rj.server.client.AbstractRJComClient.processUICallback(AbstractRJComClient.java:454)
	at org.eclipse.statet.rj.server.client.AbstractRJComClient.processMainCmd(AbstractRJComClient.java:417)
	at org.eclipse.statet.rj.server.MainCmdS2CList.readExternal(MainCmdS2CList.java:80)
	at java.base/java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2136)
	at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2085)
	at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1594)
	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:430)
	at java.rmi/sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:322)
	at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:174)
	at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:209)
	at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:161)
	at com.sun.proxy.$Proxy25.runMainLoop(Unknown Source)
	at org.eclipse.statet.rj.server.client.AbstractRJComClient.runMainLoop(AbstractRJComClient.java:905)
	at org.eclipse.statet.rj.server.client.AbstractRJComClient.answerConsole(AbstractRJComClient.java:1191)
	at org.eclipse.statet.r.nico.impl.RjsController.doSubmitL(RjsController.java:1127)
	at org.eclipse.statet.nico.core.runtime.ToolController.submitToConsole(ToolController.java:1921)
	at org.eclipse.statet.r.nico.AbstractRDbgController.submitToConsole(AbstractRDbgController.java:796)
	at org.eclipse.statet.nico.core.runtime.ToolController$ConsoleCommandRunnable.run(ToolController.java:206)
	at org.eclipse.statet.r.console.core.AbstractRController$RCommandRunnable.run(AbstractRController.java:68)
	at org.eclipse.statet.nico.core.runtime.ToolController.loopRunTask(ToolController.java:1260)
	at org.eclipse.statet.nico.core.runtime.ToolController.loopTopLevel(ToolController.java:1052)
	at org.eclipse.statet.nico.core.runtime.ToolController.run(ToolController.java:623)
	at org.eclipse.statet.nico.core.runtime.ToolRunner.run(ToolRunner.java:93)
	at org.eclipse.statet.nico.core.runtime.ToolRunner.access$0(ToolRunner.java:91)
	at org.eclipse.statet.nico.core.runtime.ToolRunner$1.run(ToolRunner.java:105)

!ENTRY org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:06:48.951
!MESSAGE Indexing: 'Embedded R Server'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:06:48.951
!MESSAGE Beginning batch (index directory= 'C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\renv\eplugin-local-eu.openanalytics.r.server\shared\index').
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:06:48.951
!MESSAGE Setting doc dir to: 'C:\Users\<USER>\AppData\Local\Architect\plugins\eu.openanalytics.architect.r.server.win32.win32.x86_64_1.0.0.201911242027\R\doc'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:06:48.952
!MESSAGE Beginning package: '<pkgNameSrc>'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:06:48.952
!MESSAGE Finishing batch.

It then crashed again when I started it and it tried to index the help again.
And then I only see this in the log:

!ENTRY org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:10:09.456
!MESSAGE Indexing: 'Embedded R Server'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:10:09.456
!MESSAGE Beginning batch (index directory= 'C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\renv\eplugin-local-eu.openanalytics.r.server\shared\index').
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:10:09.456
!MESSAGE Setting doc dir to: 'C:\Users\<USER>\AppData\Local\Architect\plugins\eu.openanalytics.architect.r.server.win32.win32.x86_64_1.0.0.201911242027\R\doc'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:10:09.456
!MESSAGE Beginning package: '<pkgNameSrc>'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 15:10:09.456
!MESSAGE Finishing batch.

So it seems to try (and fail) again.
Prior to this, this also happened with another package I installed from source as well…

By the way, this was all working fine, prior to today.
This started happening after I installed a package from source using devtools::install()

Update:
I triggered a full reindex.
And at the end it crashed again…
I see a lot of messages like this in the log and it seems to end correctly:

!MESSAGE Beginning package: 'zip'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 16:04:04.726
!MESSAGE Beginning package: 'zoo'.
!SUBENTRY 1 org.eclipse.statet.rhelp.core 1 0 2020-06-26 16:04:04.726
!MESSAGE Finishing batch.

Another update:
I even renamed the index directory in:

~/.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\renv\eplugin-local-eu.openanalytics.r.server\shared

It started indexing fine, but again after it finished it crashed…

For future reference.

This started happening after I installed an internal package using devtools::install
I ended up deleting that package from the user library:

~\.architect\workspace\.metadata\.r\eplugin-local-eu.openanalytics.r.server\user-library

And then restarting Architect (making sure none openjdk or architect processes were still running).
Then I installed the package again (this time using R CMD INSTALL from Architect, although I do not think that that matters).
Afterwards I let it reindex completely again, and that seems to have resolved it.

It happened again.
This time I was more alert with looking at the logs. And I think I have seen the following error the last time as well:

java.io.EOFException: Unexpected end of ZLIB input stream
	at java.base/java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:245)
	at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:159)
	at java.base/java.io.DataInputStream.readFully(DataInputStream.java:200)
	at org.eclipse.statet.internal.rhelp.core.FIO.readString(FIO.java:502)
	at org.eclipse.statet.internal.rhelp.core.SerUtil.loadPage(SerUtil.java:508)
	at org.eclipse.statet.internal.rhelp.core.SerUtil.loadPackage(SerUtil.java:441)
	at org.eclipse.statet.internal.rhelp.core.SerUtil.load(SerUtil.java:348)
	at org.eclipse.statet.internal.rhelp.core.SerUtil.load(SerUtil.java:246)
	at org.eclipse.statet.internal.rhelp.core.RHelpManagerIntern.getHelpIntern(RHelpManagerIntern.java:509)
	at org.eclipse.statet.rhelp.core.RHelpManager.getHelp(RHelpManager.java:77)
	at org.eclipse.statet.internal.r.core.RCorePlugin$PreloadRHelpJob.run(RCorePlugin.java:72)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

It then seems that it corrupts the package in the user library, and that makes the indexing fail.

It just happened to me again, and this time I see more useful output in the logs:

!ENTRY org.eclipse.statet.r.core 4 -1 2020-12-02 09:14:55.925
!MESSAGE An error occurred when initializing DB for model.
!STACK 1
org.eclipse.core.runtime.CoreException: An error occurred when loading embedded DB (Derby + DBCP)
	DB ConnectionURL=C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db
	Driver Name=org.apache.derby.jdbc.EmbeddedDriver, Version=10.11
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB$DerbyDB.createConnectionFactory(EmbeddedDB.java:125)
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB$AbstractDB.createConnectionPool(EmbeddedDB.java:57)
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB.createConnectionPool(EmbeddedDB.java:161)
	at org.eclipse.statet.internal.r.core.sourcemodel.RModelIndex.initDB(RModelIndex.java:989)
	at org.eclipse.statet.internal.r.core.sourcemodel.RModelIndex.<init>(RModelIndex.java:604)
	at org.eclipse.statet.internal.r.core.sourcemodel.RModelManager.<init>(RModelManager.java:63)
	at org.eclipse.statet.internal.r.core.RCorePlugin.start(RCorePlugin.java:152)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1015)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)
	at org.eclipse.osgi.container.Module.doStart(Module.java:603)
	at org.eclipse.osgi.container.Module.start(Module.java:467)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:493)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:571)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:346)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:398)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:425)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:620)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:196)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:929)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
	at org.eclipse.core.internal.events.BuildManager.instantiateBuilder(BuildManager.java:1012)
	at org.eclipse.core.internal.events.BuildManager.initializeBuilder(BuildManager.java:951)
	at org.eclipse.core.internal.events.BuildManager.getBuilder(BuildManager.java:633)
	at org.eclipse.core.internal.events.BuildManager.getBuilder(BuildManager.java:673)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:261)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:154)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:244)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.sql.SQLException: Failed to create database 'C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db', see the next exception for details.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
	at org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown Source)
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB$DerbyDB.createConnectionFactory(EmbeddedDB.java:118)
	... 43 more
Caused by: ERROR XJ041: Failed to create database 'C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db', see the next exception for details.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
	... 53 more
Caused by: ERROR XBM0J: Directory C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.ecommons.edb.core\C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db already exists.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.services.monitor.StorageFactoryService$10.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown Source)
	at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
	at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
	at org.apache.derby.impl.services.monitor.FileMonitor.createPersistentService(Unknown Source)
	at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown Source)
	... 50 more
!SUBENTRY 1 org.eclipse.statet.ecommons.edb.core 4 -1 2020-12-02 09:14:55.927
!MESSAGE An error occurred when loading embedded DB (Derby + DBCP)
	DB ConnectionURL=C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db
	Driver Name=org.apache.derby.jdbc.EmbeddedDriver, Version=10.11
!STACK 0
java.sql.SQLException: Failed to create database 'C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db', see the next exception for details.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
	at org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown Source)
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB$DerbyDB.createConnectionFactory(EmbeddedDB.java:118)
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB$AbstractDB.createConnectionPool(EmbeddedDB.java:57)
	at org.eclipse.statet.ecommons.edb.core.EmbeddedDB.createConnectionPool(EmbeddedDB.java:161)
	at org.eclipse.statet.internal.r.core.sourcemodel.RModelIndex.initDB(RModelIndex.java:989)
	at org.eclipse.statet.internal.r.core.sourcemodel.RModelIndex.<init>(RModelIndex.java:604)
	at org.eclipse.statet.internal.r.core.sourcemodel.RModelManager.<init>(RModelManager.java:63)
	at org.eclipse.statet.internal.r.core.RCorePlugin.start(RCorePlugin.java:152)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1015)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)
	at org.eclipse.osgi.container.Module.doStart(Module.java:603)
	at org.eclipse.osgi.container.Module.start(Module.java:467)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:493)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:571)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:346)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:398)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:425)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:620)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:196)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:929)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
	at org.eclipse.core.internal.events.BuildManager.instantiateBuilder(BuildManager.java:1012)
	at org.eclipse.core.internal.events.BuildManager.initializeBuilder(BuildManager.java:951)
	at org.eclipse.core.internal.events.BuildManager.getBuilder(BuildManager.java:633)
	at org.eclipse.core.internal.events.BuildManager.getBuilder(BuildManager.java:673)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:261)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:154)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:244)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: ERROR XJ041: Failed to create database 'C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db', see the next exception for details.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
	... 53 more
Caused by: ERROR XBM0J: Directory C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.ecommons.edb.core\C:\Users\<USER>\.architect\workspace\.metadata\.plugins\org.eclipse.statet.r.core\db already exists.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.services.monitor.StorageFactoryService$10.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown Source)
	at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
	at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
	at org.apache.derby.impl.services.monitor.FileMonitor.createPersistentService(Unknown Source)
	at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown Source)
	... 50 more