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

File context menu missing when installing Slave under windows with jnlp

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • core
    • Windows Server 2012
      Windows 7
      Jenkins LTS 1.580.3
      Java 7u51
      Java 8u31

      In the provided version of Jenkins I am not able to install jenkins slaves as windows services because the file context menu is missing when lauching the slave.

      I tried all combinations of the above mentioned software versions.

      I cannot give more information because there is no log output anywhere. The conext menu is only missing...

      Hope you can help or tell me what information you need to solve that problem.

      EDIT:
      I tested same OS/JAVA combinations with Jenkins LTS 1.565.3 and everything works as expected.
      It seems like there is any change come between these versions that broke that contenxt menu.
      I also tested 1.598 and the problem exists also in that version of Jenkins

          [JENKINS-26657] File context menu missing when installing Slave under windows with jnlp

          we are also facing same issue!
          we have install latest version of Jenkins(1.643) and Java8 on windows 7 Enterprise, slave connected successfully using Java web start but file context menu is missing

          prasad rambanam added a comment - we are also facing same issue! we have install latest version of Jenkins(1.643) and Java8 on windows 7 Enterprise, slave connected successfully using Java web start but file context menu is missing

          Daniel Beck added a comment -

          If you check your logs, there should be errors looking a lot like this:

          1) Error injecting constructor, java.io.IOException: javax.crypto.BadPaddingException: Given final block not properly padded
          at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:38)
          while locating org.jenkinsci.main.modules.instance_identity.InstanceIdentity
          for field at org.jenkinsci.modules.upstart_slave_installer.SlaveInstallerFactoryImpl.id(SlaveInstallerFactoryImpl.java:23)

          If that's the case, delete the files $JENKINS_HOME/identity.key.enc and $JENKINS_HOME/secrets/org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY (and by "delete" I mean "move to a backup directory") and restart Jenkins.

          Please report whether that was the problem, and whether the proposed solution worked.

          Daniel Beck added a comment - If you check your logs, there should be errors looking a lot like this: 1) Error injecting constructor, java.io.IOException: javax.crypto.BadPaddingException: Given final block not properly padded at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:38) while locating org.jenkinsci.main.modules.instance_identity.InstanceIdentity for field at org.jenkinsci.modules.upstart_slave_installer.SlaveInstallerFactoryImpl.id(SlaveInstallerFactoryImpl.java:23) If that's the case, delete the files $JENKINS_HOME/identity.key.enc and $JENKINS_HOME/secrets/org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY (and by "delete" I mean "move to a backup directory") and restart Jenkins. Please report whether that was the problem, and whether the proposed solution worked.

          Daniel Beck added a comment -

          No response to comment asking for additional information, so resolving as incomplete.

          Please do not reopen, read my previous comment and only file a new issue if the described issue/workaround do not apply/work.

          Daniel Beck added a comment - No response to comment asking for additional information, so resolving as incomplete. Please do not reopen, read my previous comment and only file a new issue if the described issue/workaround do not apply/work.

          Hi,

          we're having the same issues here. Jenkins is on 2.8 and we're trying to add a Windows 10 slave. The file menu briefly appears but then disappear. The work-around proposed does not apply: there's no such error in the event log (on the slave nor on the server), and the files we're supposed to delete does not exist.

          Regards,

          Nicolas Lacombe

          Nicolas Lacombe added a comment - Hi, we're having the same issues here. Jenkins is on 2.8 and we're trying to add a Windows 10 slave. The file menu briefly appears but then disappear. The work-around proposed does not apply: there's no such error in the event log (on the slave nor on the server), and the files we're supposed to delete does not exist. Regards, Nicolas Lacombe

          vlad guan added a comment -

          Just create a scheduled task to start the agent on startup. We have been doing it this way since my last post and have had non issues.

          vlad guan added a comment - Just create a scheduled task to start the agent on startup. We have been doing it this way since my last post and have had non issues.

          Alex Earl added a comment -

          While having a workaround is good, this issue should be resolved so that the intended behavior works.

          Alex Earl added a comment - While having a workaround is good, this issue should be resolved so that the intended behavior works.

          Actually, the files proposed for deletion do exist, sorry about that.... but anyway deleting them does not solve the isse. Yes, using windows scheduler seems like a decent work-around, but nevertheless the issue should be logged somewhere, or fixed...

          Nicolas Lacombe added a comment - Actually, the files proposed for deletion do exist, sorry about that.... but anyway deleting them does not solve the isse. Yes, using windows scheduler seems like a decent work-around, but nevertheless the issue should be logged somewhere, or fixed...

          Daniel Beck added a comment -

          The reason I asked for a new issue was that we hopefully get something actionable, a 1.5 year old issue with 40+ comments just isn't. There may be multiple issues here.

          Unsubscribing.

          Daniel Beck added a comment - The reason I asked for a new issue was that we hopefully get something actionable, a 1.5 year old issue with 40+ comments just isn't. There may be multiple issues here. Unsubscribing.

          Remko Petersq added a comment -

          Same issue: i will open a new issue if that helps.

          Remko Petersq added a comment - Same issue: i will open a new issue if that helps.

          Donald Horn added a comment -

          I have the same issue with the latest version of Jenkins, this took a while to figure out for me, but I found a work around. 

          you'll need the Jenkins Slave Configuration XML and the Agent.jar file from your Jenkins webserver, as well as the secret keys. 

           

          1. Logon to the server with the configured slave, and navigate to the Slave Directory.
          2. Back this directory up
          3. Copy the Agent.jar to the root of this directory. 
            1. this can be found by clicking the offline slave and looking at it's configuration, then you can just right click and download. 
          4. Edit the Jenkins-Slave.xml
            1. Edit the below line, note that %BASE%\Slave.jar should be changed to agent.jar, and the URL should match what the Jenkins Master node is looking for if you don't know this value click on the offline slave it'll display it. ( Jenkins is case sensitive ). make sure the secret key matches the master.  
            2. <arguments>-Xrs -jar "%BASE%\agent.jar" -jnlpUrl http://Jenkins:port/computer/Computername/slave-agent.jnlp -secret XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</arguments>
          5. Save Jenkins-Slave.xml
          6. Start the Jenkins service, it will take a couple mins to check in but should work.

          Please let me know if this helps. 

          Donald Horn added a comment - I have the same issue with the latest version of Jenkins, this took a while to figure out for me, but I found a work around.  you'll need the Jenkins Slave Configuration XML and the Agent.jar file from your Jenkins webserver, as well as the secret keys.    Logon to the server with the configured slave, and navigate to the Slave Directory. Back this directory up Copy the Agent.jar to the root of this directory.  this can be found by clicking the offline slave and looking at it's configuration, then you can just right click and download.  Edit the Jenkins-Slave.xml Edit the below line, note that %BASE%\Slave.jar should be changed to agent.jar, and the URL should match what the Jenkins Master node is looking for if you don't know this value click on the offline slave it'll display it. ( Jenkins is case sensitive ). make sure the secret key matches the master.   <arguments>-Xrs -jar "%BASE%\agent.jar" -jnlpUrl http://Jenkins:port/computer/Computername/slave-agent.jnlp -secret XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</arguments> Save Jenkins-Slave.xml Start the Jenkins service, it will take a couple mins to check in but should work. Please let me know if this helps. 

            Unassigned Unassigned
            chbiel Christopher Biel
            Votes:
            6 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated: