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 jenkinsci-dev+unsubscr...@googlegroups.com.
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