ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Duffy <char...@dyfis.net>
Subject Re: Classloading issue
Date Tue, 13 May 2014 18:49:03 GMT
I was thinking of doing a runtime type check on the exception returned
(grabbing an instance of the class via introspection, to avoid a
classload-time dependency) and reraising anything unexpected wrapped in a
RuntimeException; otherwise, that's pretty much exactly the way I would
have fixed the issue.


On Tue, May 13, 2014 at 11:55 AM, Nicolas Lalevée <
nicolas.lalevee@hibnet.org> wrote:

> r1594279 seems to fix the issue, but I still don't understand why.
> Any suggestion of a better fix is welcomed.
>
> Nicolas
>
> Le 11 mai 2014 à 23:41, Nicolas Lalevée <nicolas.lalevee@hibnet.org> a
> écrit :
>
> > Hi,
> >
> > I need some help to understand a bug around classloading (nothing that
> particular to Ivy).
> >
> > I was looking into IVY-1471 [1] and I don't understand why it is failing
> that way. In the classpath there are both Ivy and Jsch, but not the
> optional jar related to managing the ssh agent via jsch. And it is failing
> because a class in that optional jar is not found. But I don't understand
> why the classloader is looking for it in the first place.
> >
> > The error is raised is AbstractSshBasedRepository, on the call of
> SshCache.getInstance() [2]. But as far as I can tell, nothing in the
> loading of the SshCache [3] class requires AgentProxyException. The class
> is only needed by the function SshCache#attemptAgentUse() [4], which will
> be called at runtime, if the end user actually want ssh agent support, in
> which case it would naturally fail. But here it fails very earlier.
> >
> > I have made a test case you can test with its build.xml, no IvyDE
> required there [5].
> >
> > Am I missing something ? Is there a special treatment for the loading of
> Exception classes ?
> >
> > Nicolas
> >
> > [1] https://issues.apache.org/jira/browse/IVY-1471
> > [2]
> https://fisheye6.atlassian.com/browse/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java?hb=true#to108
> > [3]
> https://fisheye6.atlassian.com/browse/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java?hb=true
> > [4]
> https://fisheye6.atlassian.com/browse/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java?hb=true#to300
> > [5]
> http://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk/test/ssh-resolver/
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> > For additional commands, e-mail: dev-help@ant.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message