Did you manage to get passed this?  If so, how did you do it? 

Thanks - 

On Tuesday, July 10, 2018 at 3:37:17 AM UTC-5, Jeff Fry wrote:
>
> I read the dependencies and class loading page and I don't think these 3rd 
> party libraries have this issue. I switched over to debugging with the 
> Jenkins Jetty debug server and I get a slightly different stacktrace below. 
> What I notice now is that *JettyAndServletApiOnlyClassLoader 
> (**https://github.com/jenkinsci/maven-hpi-plugin/blob/master/src/main/java/org/jenkinsci/maven/plugins/hpi/JettyAndServletApiOnlyClassLoader.java
>  
> <https://github.com/jenkinsci/maven-hpi-plugin/blob/master/src/main/java/org/jenkinsci/maven/plugins/hpi/JettyAndServletApiOnlyClassLoader.java>*
> *)* is being used. This class loader looks to restrict class loading from 
> the web application. My code is being initiated from the Jenkins UI to 
> validate connection parameters. Is that what's going on? Calls from the 
> Jenkins web app cannot dynamically load 3rd party classes?
>
> -------
> @Override
> protected Class<?> findClass(String name) throws ClassNotFoundException {
> if (name.startsWith("javax.")
> || name.startsWith("org.eclipse.jetty."))
> return jettyClassLoader.loadClass(name);
> else
> throw new ClassNotFoundException(name);
> } 
> ------
>
> java.lang.ClassNotFoundException: com.vmware.cis.SessionStub
>       at 
> org.jenkinsci.maven.plugins.hpi.*JettyAndServletApiOnlyClassLoader*.findClass(JettyAndServletApiOnlyClassLoader.java:38)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>       at 
> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:560)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>       at com.vmware.vapi.bindings.StubFactory.createStub(StubFactory.java:74)
> Caused: java.lang.RuntimeException
>       at com.vmware.vapi.bindings.StubFactory.createStub(StubFactory.java:93)
>       at 
> hudson.plugins.vmware.authentication.VapiAuthenticationHelper.loginByUsernameAndPassword(VapiAuthenticationHelper.java:73)
>
>
> On Saturday, July 7, 2018 at 3:42:03 AM UTC-7, Jeff Fry wrote:
>>
>> My plugin uses a 3rd party library that dynamically loads some classes. The 
>> exception below occurs from the jelly UI where the library is called to 
>> validate a connection. I have all the required jars from the 3rd party 
>> library included in the plugins WEB-INF/lib and validated this class file 
>> (com.vmware.cis.SessionStub) is in fact there. This feels like a Jenkins 
>> class loading quirk. How could I troubleshoot and fix?
>>
>>
>>
>> java.lang.ClassNotFoundException: com.vmware.cis.SessionStub
>>      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>      at 
>> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:560)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>      at com.vmware.vapi.bindings.StubFactory.createStub(StubFactory.java:74)
>> Caused: java.lang.RuntimeException
>>      at com.vmware.vapi.bindings.StubFactory.createStub(StubFactory.java:93)
>>      at 
>> hudson.plugins.vmware.authentication.VapiAuthenticationHelper.loginByUsernameAndPassword(VapiAuthenticationHelper.java:69)
>>      at 
>> hudson.plugins.vmware.MachineCenter.testMachineCenterLogin(MachineCenter.java:213)
>>      at 
>> hudson.plugins.vmware.MachineCenterCredential$DescriptorImpl.doValidate(MachineCenterCredential.java:33)
>>      at 
>> java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
>>      at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
>>      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
>>      at 
>> org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
>>      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
>>      at 
>> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
>>      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
>>      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
>>      at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
>>      at 
>> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
>>      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
>>      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
>>      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
>>      at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>>      at 
>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
>>      at 
>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
>>      at 
>> com.cloudbees.jenkins.support.impl.cloudbees.UnrestrictedApiCallsMonitor$ApiMonitorFilter.doFilter(UnrestrictedApiCallsMonitor.java:120)
>>      at 
>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>>      at 
>> com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
>>      at 
>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>>      at 
>> com.cloudbees.opscenter.client.plugin.OfflineSecurityRealmFilter._doFilter(OfflineSecurityRealmFilter.java:95)
>>      at 
>> com.cloudbees.opscenter.client.plugin.OfflineSecurityRealmFilter.doFilter(OfflineSecurityRealmFilter.java:70)
>>      at 
>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>>      at 
>> com.cloudbees.opscenter.security.ClusterSessionFilter._doFilter(ClusterSessionFilter.java:69)
>>      at 
>> com.cloudbees.opscenter.security.ClusterSessionFilter.doFilter(ClusterSessionFilter.java:44)
>>      at 
>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>>      at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
>>      at 
>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>>      at 
>> hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
>>      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
>>      at 
>> hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>>      at 
>> hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
>>      at 
>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>>      at 
>> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
>>      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
>>      at 
>> org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
>>      at 
>> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
>>      at 
>> org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>>      at 
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>      at 
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
>>      at 
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>      at 
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
>>      at 
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>>      at 
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
>>      at 
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
>>      at 
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
>>      at 
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>>      at 
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>>      at 
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
>>      at 
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
>>      at 
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>      at 
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>      at org.eclipse.jetty.server.Server.handle(Server.java:564)
>>      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
>>      at 
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>>      at 
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
>>      at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
>>      at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
>>      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
>>      at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>      at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>      at java.lang.Thread.run(Thread.java:745)
>>
>>
>> Managed Master 2.107.3.4-rolling 
>> <https://release-notes.cloudbees.com/product/CloudBees+Jenkins+Platform+Private+SaaS+Edition>
>>
>>
>> java.class.path /usr/share/jenkins/jenkins.war
>> java.class.version 52.0
>> java.endorsed.dirs /usr/lib/jvm/java-1.8-openjdk/jre/lib/endorsed
>> java.ext.dirs 
>> /usr/lib/jvm/java-1.8-openjdk/jre/lib/ext:/usr/java/packages/lib/ext
>> java.home /usr/lib/jvm/java-1.8-openjdk/jre
>> java.io.tmpdir /tmp
>> java.library.path 
>> /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
>> java.runtime.name OpenJDK Runtime Environment
>> java.runtime.version 1.8.0_121-b13
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/1c6cdc02-eeec-4ad7-aa5e-c20c3eb2b588%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to