[ 
https://issues.jenkins-ci.org/browse/JENKINS-6296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

evernat resolved JENKINS-6296.
------------------------------

    Resolution: Incomplete

No response from the reporter, so closing as incomplete.
                
> Remote API /computer/api/xml fails when the offlinecause is an EOFException
> ---------------------------------------------------------------------------
>
>                 Key: JENKINS-6296
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-6296
>             Project: Jenkins
>          Issue Type: Bug
>          Components: core
>            Reporter: roxspring
>
> [17:33] <@mindless> roxspring: do you think the EOFException was contained 
> within the OfflineCause ?
> [17:36] <@mindless> roxspring: yeah, I see 
> OfflineCause.ChannelTermination.cause is @Exported
> [17:36] <@mindless> kohsuke: is @Exported on Exception bad?  it's not an 
> @ExportedBean ..
> [17:36] <@kohsuke> I don't think it's bad, but if the bean itself isn't 
> exported, it will have no effect.
> [17:37] <@mindless> kohsuke: http://hudson.pastebin.com/GQsLWw68
> [17:37] <@mindless> I could move @Exported to getShortDescription instead.. 
> returns cause.toString()
> [17:38] <@kohsuke> I think exposing structuerd data is a good thing
> [17:38] <@kohsuke> So the cause field is an Exception type?
> [17:38] <@mindless> yes
> [17:39] <@kohsuke> Maybe requiring the class to be marked was not a good idea
> [17:40] <@kohsuke> perhaps we should have just exported whatever properties 
> annotated with @Exported
> [17:40] <@mindless> it is annotated with @Exported
> [17:40] <@mindless> @Exported public final Exception cause;
> [17:40] <@kohsuke> but not the value referenced by the cause field.
> [17:40] <@mindless> you've lost me
> [17:41] <@kohsuke> The error is saying that the actual value, an instance of 
> EOFException, is not annotated with @ExportedBean
> [17:41] <@kohsuke> but if the semantics is such that no classes need to be 
> annotated by @ExportedBean, and if we just write out whatever @Exported 
> properties,
> [17:41] <@kohsuke> we'd just get <cause /> without an error
> [17:41] <@mindless> oh
> [17:41] <@kohsuke> because EOFException doesn't have any @Exported field
> [17:42] <@kohsuke> Or I suppose I could treat a value without @ExportedBean 
> as if it were null?
> [17:42] <@kohsuke> instead of a hard error
> [17:42] <@kohsuke> or it could be a switch like 
> @Exported(ignoreUnexportable=true)
> [17:43] <@kohsuke> Can you file a ticket for this?
> [17:43] <@mindless> roxspring: ^
> {noformat}
> java.lang.reflect.InvocationTargetException
>       at sun.reflect.GeneratedMethodAccessor222.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:169)
>       at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:101)
>       at 
> org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:54)
>       at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:75)
>       at 
> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
>       at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:145)
>       at 
> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
>       at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:145)
>       at 
> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:435)
>       at org.kohsuke.stapler.Stapler.service(Stapler.java:123)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
>       at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
>       at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
>       at 
> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
>       at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       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 
> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
>       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 
> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
>       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:66)
>       at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>       at 
> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
>       at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
>       at 
> winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
>       at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
>       at java.lang.Thread.run(Unknown Source)
> Caused by: org.kohsuke.stapler.export.NotExportableException: class
> java.io.EOFException doesn't have @ExportedBean
>       at org.kohsuke.stapler.export.Model.<init>(Model.java:46)
>       at org.kohsuke.stapler.export.ModelBuilder.get(ModelBuilder.java:25)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:181)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
>       at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
>       at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:188)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
>       at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
>       at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
>       at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:153)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:188)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:138)
>       at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
>       at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
>       at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
>       at org.kohsuke.stapler.export.Model.writeTo(Model.java:129)
>       at org.kohsuke.stapler.export.Model.writeTo(Model.java:148)
>       at 
> org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:153)
>       at hudson.model.Api.doXml(Api.java:87)
>       ... 52 more{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to