On Fri, Sep 12, 2014 at 11:45 AM, Laurent Malvert <[email protected] > wrote:
> I am encountering a rather strange issue on 1.578 with auto-installers.
> Multiple issues actually, but they could be related.
>
>
Issue 2)
> On Windows slaves the auto-install fails if the installer was already
> installed previously, which didn't use to be an issue. That part is OK on
> Linux slaves.
> Also, I had a look at auto-install paths, and I noticed that the
> auto-intaller seems to try to install a first time in a folder using the
> name I gave to the JDK in my configuration (say, "jdk-1.7.0_67-auto"), but
> eventually installs it under another folder name, which I think is one we
> used previously ("1.7.0_67-x86_64"). It looks like a former JDK name/path
> is being retained (couldn't find a reference to it in the config files
> though), and maybe as well that Jenklins doesn't like to have multiple JDK
> installers for the same version (which also didn't use to be a problem, as
> we had specific installers for each version and generic ones to easily
> update bleeding-edge builds, e.g. "1.7.0-latest", which would generally
> have the same version as another JDK installer).
>
I did a new attempt after fixing my startup issues and with clean logs and
deleted cache and tools folders again.
I have a build pipeline where the first job simply performs an svn
checkout, and the 2nd job performs a build.
Attached are the logs of both builds on the Windows slave.
As you can see, the 1st job's ran fine and mentions that the JDK was
auto-installed.
Installing
c:\jenkins-slave\root\tools\hudson.model.JDK\jdk-1.7.0_25-auto\jdk.exe
[jdk-1.7.0_25-auto] $
c:\jenkins-slave\root\tools\hudson.model.JDK\jdk-1.7.0_25-auto\jdk.exe /s
ADDLOCAL="ToolsFeature" REBOOT=ReallySuppress
INSTALLDIR=c:\jenkins-slave\root\tools\hudson.model.JDK\jdk-1.7.0_25-auto
'/L
\"c:\jenkins-slave\root\tools\hudson.model.JDK\jdk-1.7.0_25-auto\jdk.exe.install.log\"'
In the 2nd job's log however, we can see that it mentions that the
JAVA_HOME points to an invalid directory:
Error: JAVA_HOME is set to an invalid directory.
JAVA_HOME =
"c:\jenkins-slave\root\tools\hudson.model.JDK\jdk-1.7.0_25-auto"
Except that's indeed where I'd expect it to be (and where it was installed
by the first job.
If I RDP to the slave to inspect the filesystem again, I see these two
folders under my "tools\" folder:
1.7.0_25-x86_64
jdk-1.7.0_25-auto
Where jdk-1.7.0_25-auto is empty, save for a .installedByHudson file with
content "jdk-7u25-oth-JPR", and the 1.7.0_25-x86_64 contains a correct
installation.
As mentioned in my previous email, 1.7.0_25-x86_64 was (if I recall
correctly) the name we used to give to that installer. Now, I could change
it back, but the issue was appearing before that as well (I attempted to
remove all JDK installers and set them back, hence the slight name
variations), except instead of complaining about the folder being invalid
it was trying to reinstall on top of it (and failing).
The remote slave is started using a simple script run using the user
account who owns (and as Full Control permission on) the directory
structure of c:\jenkins-slave:
%JAVA_HOME%\bin\java.exe -Xms1024m -Xmx1024m -jar slave.jar -jnlpUrl
http://30jenkins2/computer/vpcbuildslave01/slave-agent.jnlp -secret
<secret_key_here>
(where JAVA_HOME at this stage points to a locally installed JDK)
Thoughts are welcome, I'm a bit at a loss here, as we never ran into these
issues before.
(side note: do jenkins slave have to run with Administrator privileges? It
was my understanding and previous experience that they didn't need it.)
--
Laurent Malvert
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.
build-2-build.log
Description: Binary data
build-1-svn.log
Description: Binary data
