History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-1849
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: U. Artie Eoff
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Bazaar source control plugin should create Destination Path if it does not exist

Created: 19/Nov/13 07:50 PM   Updated: 21/Nov/13 09:00 AM
Component/s: None
Affects Version/s: 5.0.38
Fix Version/s: 5.1.0

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: None
Image Attachments:

1. Bazaar-repository-settings.png
(90 kb)
Environment: Fedora 19; bzr v2.5.1


 Description  « Hide
With the Bazaar source control plugin, the "Destination Path" value may not point to an existing directory initially. The plugin should created the destination path automatically if it does not exist (similar to the git plugin). Currently get the following error:

2013-11-19 11:22:20,199 [pool-1-thread-18274] ERROR com.pmease.quickbuild.DefaultBuildEngine - Error processing build request.
    java.lang.RuntimeException: Error executing grid job
        at com.pmease.quickbuild.grid.GridTaskFuture.get(GridTaskFuture.java:68)
        at com.pmease.quickbuild.grid.GridTaskFuture.get(GridTaskFuture.java:85)
        at com.pmease.quickbuild.DefaultBuildEngine.process(DefaultBuildEngine.java:305)
        at com.pmease.quickbuild.DefaultBuildEngine.access$000(DefaultBuildEngine.java:121)
        at com.pmease.quickbuild.DefaultBuildEngine$2.run(DefaultBuildEngine.java:966)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        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:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
    Caused by: com.pmease.quickbuild.QuickbuildException: Cannot run program "bzr" (in directory "/home/quickbuild/quickbuild-5.0.38/workspace/root/wayland/Stable/wayland-pnp/src/glmark2"): error=2, No such file or directory
        at com.pmease.quickbuild.execution.Commandline.execute(Commandline.java:288)
        at com.pmease.quickbuild.execution.Commandline.execute(Commandline.java:205)
        at com.pmease.quickbuild.plugin.scm.helper.ScmCli.run(ScmCli.java:87)
        at com.pmease.quickbuild.plugin.scm.helper.ScmCli.run(ScmCli.java:79)
        at com.pmease.quickbuild.plugin.scm.helper.ScmCli.run(ScmCli.java:71)
        at com.pmease.quickbuild.plugin.scm.bazaar.BazaarCli.getVersion(BazaarCli.java:38)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository.getBzrVersion(BzrRepository.java:318)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.CGLIB$getBzrVersion$2(<generated>)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375$$FastClassByCGLIB$$f101786f.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.getBzrVersion(<generated>)
        at com.pmease.quickbuild.plugin.scm.bazaar.BazaarCli.logCommand(BazaarCli.java:98)
        at com.pmease.quickbuild.plugin.scm.bazaar.BazaarCli.tip(BazaarCli.java:107)
        at com.pmease.quickbuild.plugin.scm.bazaar.BazaarCli.revision(BazaarCli.java:124)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository.getHeadRevision(BzrRepository.java:118)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.CGLIB$getHeadRevision$14(<generated>)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375$$FastClassByCGLIB$$f101786f.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.getHeadRevision(<generated>)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository.getHeadRevision(BzrRepository.java:35)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.CGLIB$getHeadRevision$15(<generated>)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375$$FastClassByCGLIB$$f101786f.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.getHeadRevision(<generated>)
        at com.pmease.quickbuild.repositorysupport.Repository.takeSnapshot(Repository.java:330)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.CGLIB$takeSnapshot$40(<generated>)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375$$FastClassByCGLIB$$f101786f.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
        at com.pmease.quickbuild.plugin.scm.bazaar.BzrRepository$$EnhancerByCGLIB$$1b832375.takeSnapshot(<generated>)
        at com.pmease.quickbuild.setting.configuration.snapshot.TakeReferencedSnapshots.takeSnapshot(TakeReferencedSnapshots.java:15)
        at com.pmease.quickbuild.model.Configuration.takeSnapshot(Configuration.java:1503)
        at com.pmease.quickbuild.CheckConditionJob.execute(CheckConditionJob.java:37)
        at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:78)
        ... 6 more

 All   Comments   Work Log   Change History      Sort Order:
Steve Luo [20/Nov/13 02:53 PM]
Hello,

This issue is not caused by a not-existing path, instead, it is caused by bzr command is not in your bin path. You may specify the full path for your bzr program in the admin page for bzr plugin, or make sure the bzr program is in the path.

U. Artie Eoff [20/Nov/13 02:58 PM]
Hello Steve,

I'm not entirely sure that's the cause... bzr is in the bin path. If I set the "Destination Path" to this script:

${
util.getFile(configuration.workspaceDir + "/src/" + current.name).mkdirs();
result = "src/" + current.name;
}

...then it works just fine.

U. Artie Eoff [20/Nov/13 03:06 PM]
Also, to verify 'bzr' is in my path, I created a "Shell/Batch Command" step that runs "bzr help" and that succeeds... assuming this is "equivalent" to what the plugin does.

Steve Luo [20/Nov/13 03:15 PM]
I doubt this is the issue, as I tested with Debian and Mac without any problem.

Did your checkout step run on the same agent before and after you create the directory?

U. Artie Eoff [20/Nov/13 03:22 PM]
Hmm...

This is failing on the server when it tries to take an initial snapshot of the repository before it even executes the build request process.

U. Artie Eoff [20/Nov/13 03:29 PM]
Snapshot of my Bazaar repository settings

Steve Luo [20/Nov/13 04:20 PM]
Yes, I can now reproduce the issue. Thank you very much.