Affects Version/s: 2.1.0-RC1
Fix Version/s: 2.1.0-RC2
buildr 1.3.4 running on jruby 1.2.0 with latest jsch-0.1.41 jar
We try to add ivy support to buildr. Buildr comes with an AntWrap gem to call Ant targets from within a buildr script:
1. using a standard publish via Antwrap using the same parameters that work in Ant
2. the publish works all artifacts are copied and the buildr script continues till its end, but the buildr java process does not terminate!
when publishing to a local repository the process terminates fine, so it has something to do with the SSH connection.
using lsof and checking the open file handles the process has an open connection to the repository via SSH and some other open sockets (lsof output for process):
java 23589 klaas 31u IPv6 342503 TCP brackel.local:43473->argon:ssh (ESTABLISHED)
java 23589 klaas 32u sock 0,4 342501 can't identify protocol
java 23589 klaas 11u unix 0xf5744a80 342386 socket
I checked out the source but could not find the problem. My best guess is that the last SSH connection is cached within SshCache and never disconnected from Ivy.
This is a blocker to change from ANT to Buildr, because the build scripts do not terminate normally so they cannot be used in the integration server.
We have the same problem with an hanging jruby script using Ivy not via Ant but via the Ivy class to resolve projects. The Ivy class is instantiated from within JRuby and used to resolve ivy.xmls to get some information about projects. The script does not terminate after a resolve against a remote repository using SSH has been done.