• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • xvfb-plugin
    • None

      I'd like to enable the xvfb plugin for a job that may run on multiple platforms. Because the job isn't node-linked, I need a mechanism to ensure that xvfb is only launched for certain nodes but not others.

      Can you provide such a mechanism?

          [JENKINS-23155] Only run plugin under Linux

          cowwoc added a comment -

          (This issue should be a feature request, not a bug report)

          cowwoc added a comment - (This issue should be a feature request, not a bug report)

          zregvart added a comment -

          Sure, I could add a configuration option not to fail the build if no Xvfb installation is found, or I could tie into the label mechanism and start Xvfb only if node the build is running on has a certain set of labels. Would you prefer solution one over another, or do you have a better idea?

          zregvart added a comment - Sure, I could add a configuration option not to fail the build if no Xvfb installation is found, or I could tie into the label mechanism and start Xvfb only if node the build is running on has a certain set of labels. Would you prefer solution one over another, or do you have a better idea?

          cowwoc added a comment -

          I prefer adding a label mechanism to the job configuration. Meaning "Start Xvfb before the build, and shut it down after ... but only for these labels".

          cowwoc added a comment - I prefer adding a label mechanism to the job configuration. Meaning "Start Xvfb before the build, and shut it down after ... but only for these labels".

          Code changed in jenkins
          User: Zoran Regvart
          Path:
          src/main/java/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper.java
          src/main/resources/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper/config.jelly
          src/main/resources/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper/help-assignedLabels.html
          http://jenkins-ci.org/commit/xvfb-plugin/8351332de50d10e86b5eb72a4840c0f1fddfdd43
          Log:
          JENKINS-23155 Only run plugin under Linux

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Zoran Regvart Path: src/main/java/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper.java src/main/resources/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper/config.jelly src/main/resources/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper/help-assignedLabels.html http://jenkins-ci.org/commit/xvfb-plugin/8351332de50d10e86b5eb72a4840c0f1fddfdd43 Log: JENKINS-23155 Only run plugin under Linux

          zregvart added a comment -

          Hi,
          I've released a beta version of the plugin with the label mechanism which you can get via the experimental plugins update site (see http://jenkins-ci.org/content/experimental-plugins-update-center). Let me know if that's what you had in mind and it works ok for you

          Zoran

          zregvart added a comment - Hi, I've released a beta version of the plugin with the label mechanism which you can get via the experimental plugins update site (see http://jenkins-ci.org/content/experimental-plugins-update-center ). Let me know if that's what you had in mind and it works ok for you Zoran

          cowwoc added a comment - - edited

          I get the following exception in version 1.0.11-beta with Jenkins 1.564:

          javax.servlet.ServletException: java.lang.NoSuchMethodError: hudson.model.AbstractProject$AbstractProjectDescriptor.doCheckAssignedLabelString(Ljava/lang/String;)Lhudson/util/FormValidation;
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
          	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
          	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
          	at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
          	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
          	at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:89)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
          	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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
          	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:76)
          	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
          	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
          	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
          	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
          	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
          	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
          	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
          	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
          	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
          	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
          	at org.eclipse.jetty.server.Server.handle(Server.java:370)
          	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
          	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
          	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
          	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
          	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
          	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
          	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
          	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
          	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          	at java.lang.Thread.run(Unknown Source)
          Caused by: java.lang.NoSuchMethodError: hudson.model.AbstractProject$AbstractProjectDescriptor.doCheckAssignedLabelString(Ljava/lang/String;)Lhudson/util/FormValidation;
          	at org.jenkinsci.plugins.xvfb.XvfbBuildWrapper$XvfbBuildWrapperDescriptor.doCheckAssignedLabels(XvfbBuildWrapper.java:160)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.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:298)
          	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
          	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
          	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
          	... 69 more
          

          cowwoc added a comment - - edited I get the following exception in version 1.0.11-beta with Jenkins 1.564: javax.servlet.ServletException: java.lang.NoSuchMethodError: hudson.model.AbstractProject$AbstractProjectDescriptor.doCheckAssignedLabelString(Ljava/lang/ String ;)Lhudson/util/FormValidation; at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:225) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:89) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74) 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:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang. Thread .run(Unknown Source) Caused by: java.lang.NoSuchMethodError: hudson.model.AbstractProject$AbstractProjectDescriptor.doCheckAssignedLabelString(Ljava/lang/ String ;)Lhudson/util/FormValidation; at org.jenkinsci.plugins.xvfb.XvfbBuildWrapper$XvfbBuildWrapperDescriptor.doCheckAssignedLabels(XvfbBuildWrapper.java:160) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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:298) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) ... 69 more

          cowwoc added a comment -

          I just got a second exception but, unlike the previous one, this one actually causes the build to fail:

          FATAL: hudson.model.labels.LabelExpression$Not cannot be cast to hudson.model.labels.LabelAtom
          java.lang.ClassCastException: hudson.model.labels.LabelExpression$Not cannot be cast to hudson.model.labels.LabelAtom
          	at jenkins.model.Jenkins.getLabelAtom(Jenkins.java:1600)
          	at hudson.model.Label.parse(Label.java:556)
          	at org.jenkinsci.plugins.xvfb.XvfbBuildWrapper.setUp(XvfbBuildWrapper.java:537)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:653)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:518)
          	at hudson.model.Run.execute(Run.java:1706)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:231)
          

          I got this exception when trying to run the job under OSX. Other platforms (Windows and Linux) did not get this exception. The plugin is configured to only run under Linux so I don't understand why it's triggering this failure under OSX.

          cowwoc added a comment - I just got a second exception but, unlike the previous one, this one actually causes the build to fail: FATAL: hudson.model.labels.LabelExpression$Not cannot be cast to hudson.model.labels.LabelAtom java.lang.ClassCastException: hudson.model.labels.LabelExpression$Not cannot be cast to hudson.model.labels.LabelAtom at jenkins.model.Jenkins.getLabelAtom(Jenkins.java:1600) at hudson.model.Label.parse(Label.java:556) at org.jenkinsci.plugins.xvfb.XvfbBuildWrapper.setUp(XvfbBuildWrapper.java:537) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:653) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:518) at hudson.model.Run.execute(Run.java:1706) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) I got this exception when trying to run the job under OSX. Other platforms (Windows and Linux) did not get this exception. The plugin is configured to only run under Linux so I don't understand why it's triggering this failure under OSX.

          zregvart added a comment -

          Hi,
          what version of Jenkins are you running?

          zregvart added a comment - Hi, what version of Jenkins are you running?

          cowwoc added a comment -

          Both exceptions occur under Jenkins 1.564.

          cowwoc added a comment - Both exceptions occur under Jenkins 1.564.

          cowwoc added a comment -

          Is this a bug in Jenkins or in the xvfb plugin?

          cowwoc added a comment - Is this a bug in Jenkins or in the xvfb plugin?

          zregvart added a comment -

          Hi,
          it's most likely the way the plugin uses Jenkins's functionally, will need to dig into it and try to reproduce on 1.564.

          zregvart added a comment - Hi, it's most likely the way the plugin uses Jenkins's functionally, will need to dig into it and try to reproduce on 1.564.

          zregvart added a comment -

          Hi,
          I've created another beta (1.0.11-beta2) in the experimental plugins update center in which I basically reappropriated code from jenkins-core into the plugin. Otherwise I would have had to check under which version of Jenkins the plugin is running and act accordingly (the signature of the methods changed between versions). I've tested on 1.564 and 1.424.6 (the minimal version) seems ok. Could you test and see if it works in your environment?

          thanks

          zregvart added a comment - Hi, I've created another beta (1.0.11-beta2) in the experimental plugins update center in which I basically reappropriated code from jenkins-core into the plugin. Otherwise I would have had to check under which version of Jenkins the plugin is running and act accordingly (the signature of the methods changed between versions). I've tested on 1.564 and 1.424.6 (the minimal version) seems ok. Could you test and see if it works in your environment? thanks

          Code changed in jenkins
          User: Zoran Regvart
          Path:
          src/main/java/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper.java
          src/main/resources/org/jenkinsci/plugins/xvfb/Messages.properties
          http://jenkins-ci.org/commit/xvfb-plugin/34229d91801f058b0c1c9ee4d216a78a79fcdf2e
          Log:
          JENKINS-23155 Only run plugin under Linux (revised code for future compatibility)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Zoran Regvart Path: src/main/java/org/jenkinsci/plugins/xvfb/XvfbBuildWrapper.java src/main/resources/org/jenkinsci/plugins/xvfb/Messages.properties http://jenkins-ci.org/commit/xvfb-plugin/34229d91801f058b0c1c9ee4d216a78a79fcdf2e Log: JENKINS-23155 Only run plugin under Linux (revised code for future compatibility)

          zregvart added a comment -

          Hi, I've fumbled the release, now its 1.0.11-beta3, the beta2 doesn't have any changes in it ;(

          zregvart added a comment - Hi, I've fumbled the release, now its 1.0.11-beta3, the beta2 doesn't have any changes in it ;(

          cowwoc added a comment -

          1.0.11-beta3 works for me. Thank you!

          cowwoc added a comment - 1.0.11-beta3 works for me. Thank you!

          zregvart added a comment -

          Hi, I've released version 1.0.11.

          zregvart added a comment - Hi, I've released version 1.0.11.

            zregvart zregvart
            cowwoc cowwoc
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: