Publish with SSH (sftp or ssh) prevents enclosing java process to terminate
---------------------------------------------------------------------------
Key: IVY-1075
URL: https://issues.apache.org/jira/browse/IVY-1075
Project: Ivy
Issue Type: Bug
Affects Versions: 2.1.0-RC1
Environment: buildr 1.3.4 running on jruby 1.2.0 with latest
jsch-0.1.41 jar
Reporter: Klaas Prause
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.