Plugin installation fails during setup for some plugins
During setup, some plugins can not be installed, e.g. ifcopenshell, binaryserializers. This happens under Linux, with 1.5.147. I am seeing this error:
19:22:35 INFO [PluginInterface.installPluginBundle]: 0.0.65 (InstallPluginBundle.java:70)
org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.opensourcebim:binaryserializers:jar:0.0.65 from/to central (http://central.maven.org/maven2): Connection reset
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
at org.bimserver.plugins.MavenPluginLocation.getVersionJar(MavenPluginLocation.java:311)
at org.bimserver.plugins.RepositoryMavenPluginBundle.getJarInputStream(RepositoryMavenPluginBundle.java:65)
at org.bimserver.plugins.PluginBundleManager.install(PluginBundleManager.java:140)
at org.bimserver.database.actions.InstallPluginBundle.execute(InstallPluginBundle.java:73)
at org.bimserver.database.actions.InstallPluginBundle.execute(InstallPluginBundle.java:35)
at org.bimserver.database.DatabaseSession.executeAndCommitAction(DatabaseSession.java:735)
at org.bimserver.database.DatabaseSession.executeAndCommitAction(DatabaseSession.java:727)
at org.bimserver.webservices.impl.PluginServiceImpl.installPluginBundle(PluginServiceImpl.java:1442)
at org.bimserver.generated.PluginInterfaceReflectorfGUBzOkvPltQ_1.callMethod(PluginInterfaceReflectorfGUBzOkvPltQ_1.java)
at org.bimserver.shared.meta.SMethod.invoke(SMethod.java:223)
at org.bimserver.JsonHandler.processSingleRequest(JsonHandler.java:166)
at org.bimserver.JsonHandler.execute(JsonHandler.java:77)
at org.bimserver.servlets.JsonApiServlet.service(JsonApiServlet.java:67)
at org.bimserver.servlets.RootServlet.service(RootServlet.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:505)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:786)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:743)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.opensourcebim:binaryserializers:jar:0.0.65 from/to central (http://central.maven.org/maven2): Connection reset
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:581)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:249)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
... 51 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:200)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:176)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:148)
at org.eclipse.aether.spi.connector.transport.AbstractTransporter.copy(AbstractTransporter.java:200)
at org.eclipse.aether.spi.connector.transport.AbstractTransporter.utilGet(AbstractTransporter.java:96)
at org.eclipse.aether.transport.http.HttpTransporter.access$100(HttpTransporter.java:72)
at org.eclipse.aether.transport.http.HttpTransporter$EntityGetter.handle(HttpTransporter.java:516)
at org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:294)
at org.eclipse.aether.transport.http.HttpTransporter.implGet(HttpTransporter.java:243)
at org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:59)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:447)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350)
... 56 more
19:22:35 ERROR [PluginInterface.installPluginBundle]: (InstallPluginBundle.java:75)
java.lang.NullPointerException: null
at org.bimserver.plugins.PluginBundleManager.install(PluginBundleManager.java:144)
at org.bimserver.database.actions.InstallPluginBundle.execute(InstallPluginBundle.java:73)
at org.bimserver.database.actions.InstallPluginBundle.execute(InstallPluginBundle.java:35)
at org.bimserver.database.DatabaseSession.executeAndCommitAction(DatabaseSession.java:735)
at org.bimserver.database.DatabaseSession.executeAndCommitAction(DatabaseSession.java:727)
at org.bimserver.webservices.impl.PluginServiceImpl.installPluginBundle(PluginServiceImpl.java:1442)
at org.bimserver.generated.PluginInterfaceReflectorfGUBzOkvPltQ_1.callMethod(PluginInterfaceReflectorfGUBzOkvPltQ_1.java)
at org.bimserver.shared.meta.SMethod.invoke(SMethod.java:223)
at org.bimserver.JsonHandler.processSingleRequest(JsonHandler.java:166)
at org.bimserver.JsonHandler.execute(JsonHandler.java:77)
at org.bimserver.servlets.JsonApiServlet.service(JsonApiServlet.java:67)
at org.bimserver.servlets.RootServlet.service(RootServlet.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:505)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:786)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:743)
at java.lang.Thread.run(Thread.java:748)
In the web interface I only see a UserException. Even if the root cause of this error is external and uncontrollable, e.g. network issues, the message could be a bit more specific.
I am not sure whether this is reproducible or is caused by some particular network setup or Maven hickup. To try to reproduce, start with a fresh install, run setup with all plugins. Disable the plugin that failed to see whether other plugins are also affected. Some plugins do install well, e.g. bimviews, ifcplugins.
This also seems to happen for some older versions (tried 1.5.138 and 1.5.125), which makes me suspect it is related to my particular current setup. I also went to Maven Central to see that the affected plugins are indeed there, e.g. org.opensourcebim:binaryserializers:jar:0.0.65 in the stacktrace above.
In a different network now, with same OS and JVM, I can not reproduce this.