Issue Type: Bug Bug
Assignee: Nicolas De Loof
Components: git
Created: 07/Mar/14 12:30 PM
Description:

We have submodules in our get build; but if these fail to checkout the build itself fails (git crashes) without sending mail notification.

It's not too hard for a developer to break a build like this if they forget to push the submodule at the same time as they push the master repo. It would be good if this was notified properly as a failure so that the devs can see the breakage immediately instead of realizing later that the job has started failing without notifying anybody.

--------------
(edited transcript; note we have a prebuild step the completed successfully before the repo (+submodules, we have this option selected) checkouts start then fail.

Started by remote host avn-gitlab.ictv.com with note:
..snip..
[EnvInject] - Loading node environment variables.
Building remotely on _SCM in workspace /snip
Running Prebuild steps
[] $ /bin/sh -xe /tmp/hudson6376592122742609814.sh
<snip..>
Success build forhudson.tasks.Shell@4d6ce481

Checkout:virga-ms / /usr/local/builds/CI/H5/virga-ms - hudson.remoting.Channel@6cd5274:_SCM-CentOS-6.4-Build-Slave-03
Using strategy: Default
Last Built Revision: Revision 7c28bf189abbd8c2800aa12d3abaedd015bb4381 (origin/mediasource)
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository g...@avn-gitlab.ictv.com:html5server.git
git --version
git version 1.7.1
Fetching upstream changes from origin
Commencing build of Revision ff9ab38e606f65d275050bc9f0d2a26b0451f2d6 (origin/mediasource)
Checking out Revision ff9ab38e606f65d275050bc9f0d2a26b0451f2d6 (origin/mediasource)
FATAL: Command "git submodule update --init --recursive" returned status code 1:
stdout: Initialized empty Git repository in /usr/local/builds/CI/H5/virga-ms/virga-ms/libs/libbmp/.git/
Submodule path 'libs/libbmp': checked out 'cf1c4e134a50d8e667f8db9f2ff5c19e97e80256'
Initialized empty Git repository in /usr/local/builds/CI/H5/virga-ms/virga-ms/libs/mediaplayer/.git/

stderr: fatal: reference is not a tree: 885b6998613918fa1d333f8741f2735cc542097a
Unable to checkout '885b6998613918fa1d333f8741f2735cc542097a' in submodule path 'libs/mediaplayer'

hudson.plugins.git.GitException: Command "git submodule update --init --recursive" returned status code 1:
stdout: Initialized empty Git repository in /usr/local/builds/CI/H5/virga-ms/virga-ms/libs/libbmp/.git/
Submodule path 'libs/libbmp': checked out 'cf1c4e134a50d8e667f8db9f2ff5c19e97e80256'
Initialized empty Git repository in /usr/local/builds/CI/H5/virga-ms/virga-ms/libs/mediaplayer/.git/

stderr: fatal: reference is not a tree: 885b6998613918fa1d333f8741f2735cc542097a
Unable to checkout '885b6998613918fa1d333f8741f2735cc542097a' in submodule path 'libs/mediaplayer'

	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:790)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:756)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.submoduleUpdate(CliGitAPIImpl.java:429)
	at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1235)
	at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1205)
	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2417)
	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
	at hudson.remoting.Request$2.run(Request.java:326)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:679)

-----------
And that is where the build log ends; on the git error stacktrace, no attempt is made to send a failure notification.

Environment: Jenkins 1.528 on CentOS 6.3.

java.runtime.name OpenJDK Runtime Environment
java.runtime.version 1.6.0_24-b24

[root@ci-h5-jenkins ~]# git --version
git version 1.7.1

Active (enabled) git plugins:
git 1.4.0
git-chooser-alternative 1.0
git-client 1.1.2
git-notes 0.0.4
git-parameter 0.2
git-server 1.2
git-userContent 1.3
gitlab-hook 0.2.12
Project: Jenkins
Priority: Minor Minor
Reporter: Owen Carter
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to