Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-17343

Jenkins is no more WinXP compliant : CreateSymbolicLinkW is not available

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core
    • windows XP
      Windows Server 2003 Enterprise Edition SP2

      since update to 1.507 (from 1.505), no build is possible.

      it seems that fix of https://issues.jenkins-ci.org/browse/JENKINS-15587 has broken XP compatibility.

      when starting to run any job, error message is :

      FATAL: Error looking up function 'CreateSymbolicLinkW': La procédure spécifiée est introuvable.

      java.lang.UnsatisfiedLinkError: Error looking up function 'CreateSymbolicLinkW': La procédure spécifiée est introuvable.

      at com.sun.jna.Function.<init>(Function.java:179)
      at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:347)
      at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:327)
      at com.sun.jna.Library$Handler.invoke(Library.java:203)
      at $Proxy22.CreateSymbolicLinkW(Unknown Source)
      at hudson.util.jna.Kernel32Utils.createSymbolicLink(Kernel32Utils.java:85)
      at hudson.Util.createSymlink(Util.java:1048)
      at hudson.model.Run.execute(Run.java:1573)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:237)

          [JENKINS-17343] Jenkins is no more WinXP compliant : CreateSymbolicLinkW is not available

          Adham Hassan added a comment -

          I receive the same error, and 1.507 is completely unusable on my Windows Server 2003 platform. It's most likely related to this bug fix:
          https://issues.jenkins-ci.org/browse/JENKINS-15587

          Adham Hassan added a comment - I receive the same error, and 1.507 is completely unusable on my Windows Server 2003 platform. It's most likely related to this bug fix: https://issues.jenkins-ci.org/browse/JENKINS-15587

          Christian Gmeiner added a comment - - edited

          same here with Windows Server 2003 SP2:

          Status Code: 500

          Exception: org.apache.commons.jelly.JellyTagException: jar:file:/G:/hudson/war/WEB-INF/lib/jenkins-core-1.508.jar!/hudson/model/Job/permalinks.jelly:32:48: <st:include> Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found.
          Stacktrace:
          javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/G:/hudson/war/WEB-INF/lib/jenkins-core-1.508.jar!/hudson/model/Job/permalinks.jelly:32:48: <st:include> Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found.

          at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:117)
          at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:666)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
          at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
          at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:583)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:214)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
          at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
          at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          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:124)
          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:64)
          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:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
          at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227)
          at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          at java.lang.Thread.run(Thread.java:619)
          Caused by: org.apache.commons.jelly.JellyTagException: jar:file:/G:/hudson/war/WEB-INF/lib/jenkins-core-1.508.jar!/hudson/model/Job/permalinks.jelly:32:48: <st:include> Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found.

          at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:745)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:289)
          at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
          at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
          at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
          at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
          at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
          at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
          at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
          at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
          ... 64 more
          Caused by: java.lang.UnsatisfiedLinkError: Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found.

          at com.sun.jna.Function.<init>(Function.java:179)
          at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:347)
          at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:327)
          at com.sun.jna.Library$Handler.invoke(Library.java:203)
          at $Proxy22.CreateSymbolicLinkW(Unknown Source)
          at hudson.util.jna.Kernel32Utils.createSymbolicLink(Kernel32Utils.java:85)
          at hudson.Util.createSymlink(Util.java:1048)
          at jenkins.model.PeepholePermalink.updateCache(PeepholePermalink.java:145)
          at jenkins.model.PeepholePermalink.resolve(PeepholePermalink.java:118)
          at sun.reflect.GeneratedMethodAccessor448.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
          at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
          at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
          at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
          at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
          at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
          at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
          at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          ... 104 more

          Christian Gmeiner added a comment - - edited same here with Windows Server 2003 SP2: Status Code: 500 Exception: org.apache.commons.jelly.JellyTagException: jar: file:/G:/hudson/war/WEB-INF/lib/jenkins-core-1.508.jar!/hudson/model/Job/permalinks.jelly:32:48: <st:include> Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found. Stacktrace: javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar: file:/G:/hudson/war/WEB-INF/lib/jenkins-core-1.508.jar!/hudson/model/Job/permalinks.jelly:32:48: <st:include> Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found. at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:117) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:666) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:583) at org.kohsuke.stapler.Stapler.service(Stapler.java:214) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:248) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 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:124) 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:64) 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:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at winstone.RequestDispatcher.forward(RequestDispatcher.java:331) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.commons.jelly.JellyTagException: jar: file:/G:/hudson/war/WEB-INF/lib/jenkins-core-1.508.jar!/hudson/model/Job/permalinks.jelly:32:48: <st:include> Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found. at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:745) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:289) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53) at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) ... 64 more Caused by: java.lang.UnsatisfiedLinkError: Error looking up function 'CreateSymbolicLinkW': The specified procedure could not be found. at com.sun.jna.Function.<init>(Function.java:179) at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:347) at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:327) at com.sun.jna.Library$Handler.invoke(Library.java:203) at $Proxy22.CreateSymbolicLinkW(Unknown Source) at hudson.util.jna.Kernel32Utils.createSymbolicLink(Kernel32Utils.java:85) at hudson.Util.createSymlink(Util.java:1048) at jenkins.model.PeepholePermalink.updateCache(PeepholePermalink.java:145) at jenkins.model.PeepholePermalink.resolve(PeepholePermalink.java:118) at sun.reflect.GeneratedMethodAccessor448.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) ... 104 more

          Joshua Masek added a comment -

          Ok, I updated to latest version of Java, and that fixed this issue. Sorry I didn't think to try that before. I don't think I had updated it in awhile.

          Joshua Masek added a comment - Ok, I updated to latest version of Java, and that fixed this issue. Sorry I didn't think to try that before. I don't think I had updated it in awhile.

          Jesse Glick added a comment -

          @mafujosh: right, using Java 7 is one workaround, since on Java 7 we use NIO.2 APIs which offer symlink functions when available. It is only on Java 5/6 that we try to use JNA to access platform-specific symlink calls.

          The fix is not to search for other symlink-like things on XP, but to ignore errors calling this API, as we do for other native methods.

          Jesse Glick added a comment - @mafujosh: right, using Java 7 is one workaround, since on Java 7 we use NIO.2 APIs which offer symlink functions when available. It is only on Java 5/6 that we try to use JNA to access platform-specific symlink calls. The fix is not to search for other symlink-like things on XP, but to ignore errors calling this API, as we do for other native methods.

          Mike Caspar added a comment -

          Hi there.

          I upgraded from 1.506 to 1.508 and started having this problem.

          It was easily solved by downgrading to 1.506. This may allow you to keep working while looking for resolution.

          Mike Caspar added a comment - Hi there. I upgraded from 1.506 to 1.508 and started having this problem. It was easily solved by downgrading to 1.506. This may allow you to keep working while looking for resolution.

          Mike Caspar added a comment -

          OK.. I made some progress and wanted to help others who are having trouble. It appears that by upgrading to Java 1.7 (jre7) instead of 1.6 does the trick. I found out that just changing JAVA_HOME is not enough to be able to do the switch.

          If you go to Manage Jenkins, then system info (sysinfo).. check the java.runtime.version. You will see that it seems to ignores whatever is in JAVA_HOME.

          I discovered that the reason for this is that a Copy of the JRE at the time of initial installation was copied to JENKINS_HOME/jre.

          To fix this, I did the following...

          • net stop jenkins
          • rename JENKINS_HOME\jre to JENKINS_HOME\jre-backup (in my case, I actually copied the entire folder elsewhere to be sure I had a copy (just in case).
          • Copy the folder c:\Program Files\Java\jre7 to JENKINS_HOME/jre7.
          • After copying JRE7 to JENKINS_HOME, rename it to jre (of course, you might be able to do without the rename step).
          • Start up Jenkins with net start Jenkins
          • Login and go to sysinfo.. you should see the newer java.runtime.version.

          I put this together from a few of the notes above and wanted to share it with other WinXP users that might not easily find this resolution.

          Mike Caspar added a comment - OK.. I made some progress and wanted to help others who are having trouble. It appears that by upgrading to Java 1.7 (jre7) instead of 1.6 does the trick. I found out that just changing JAVA_HOME is not enough to be able to do the switch. If you go to Manage Jenkins, then system info (sysinfo).. check the java.runtime.version. You will see that it seems to ignores whatever is in JAVA_HOME. I discovered that the reason for this is that a Copy of the JRE at the time of initial installation was copied to JENKINS_HOME/jre. To fix this, I did the following... net stop jenkins rename JENKINS_HOME\jre to JENKINS_HOME\jre-backup (in my case, I actually copied the entire folder elsewhere to be sure I had a copy (just in case). Copy the folder c:\Program Files\Java\jre7 to JENKINS_HOME/jre7. After copying JRE7 to JENKINS_HOME, rename it to jre (of course, you might be able to do without the rename step). Start up Jenkins with net start Jenkins Login and go to sysinfo.. you should see the newer java.runtime.version. I put this together from a few of the notes above and wanted to share it with other WinXP users that might not easily find this resolution.

          Adham Hassan added a comment -

          Confirmed that replacing the JENKINS_HOME\jre folder with what jre7 folder I have in installed in C:\Program Files\Java\jre7, fixes this issue for my Windows Server 2003 SP2 Jenkins installation.

          Adham Hassan added a comment - Confirmed that replacing the JENKINS_HOME\jre folder with what jre7 folder I have in installed in C:\Program Files\Java\jre7, fixes this issue for my Windows Server 2003 SP2 Jenkins installation.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          changelog.html
          core/src/main/java/hudson/Util.java
          core/src/main/java/hudson/util/jna/Kernel32Utils.java
          http://jenkins-ci.org/commit/jenkins/a016f3da07958202b13dd247dcac6766ea03a2aa
          Log:
          [FIXED JENKINS-17343]

          Don't break Windows XP, fall back gracefully to no-op.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html core/src/main/java/hudson/Util.java core/src/main/java/hudson/util/jna/Kernel32Utils.java http://jenkins-ci.org/commit/jenkins/a016f3da07958202b13dd247dcac6766ea03a2aa Log: [FIXED JENKINS-17343] Don't break Windows XP, fall back gracefully to no-op.

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2441

          Result = SUCCESS

          dogfood added a comment - Integrated in jenkins_main_trunk #2441 Result = SUCCESS

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          core/src/main/java/hudson/Util.java
          core/src/main/java/hudson/util/jna/Kernel32Utils.java
          http://jenkins-ci.org/commit/jenkins/606dea7ab0bf36ac29695ef0c0c383a8b08c593f
          Log:
          [FIXED JENKINS-17343]

          Don't break Windows XP, fall back gracefully to no-op.
          (cherry picked from commit a016f3da07958202b13dd247dcac6766ea03a2aa)

          Conflicts:
          changelog.html

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/src/main/java/hudson/Util.java core/src/main/java/hudson/util/jna/Kernel32Utils.java http://jenkins-ci.org/commit/jenkins/606dea7ab0bf36ac29695ef0c0c383a8b08c593f Log: [FIXED JENKINS-17343] Don't break Windows XP, fall back gracefully to no-op. (cherry picked from commit a016f3da07958202b13dd247dcac6766ea03a2aa) Conflicts: changelog.html

            Unassigned Unassigned
            aaubert alexandre aubert
            Votes:
            11 Vote for this issue
            Watchers:
            21 Start watching this issue

              Created:
              Updated:
              Resolved: