<< Back to previous view

[QB-627] Proof build for SVN fails with non-standard configuration workspace path
Created: 19/Sep/10  Updated: 23/Sep/10

Status: Resolved
Project: QuickBuild
Component/s: None
Affects Version/s: 3.0.4
Fix Version/s: 3.0.6

Type: Bug Priority: Major
Reporter: Alexey Shumkin Assigned To: Robin Shen
Resolution: Fixed Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown
Environment: OS Name: Microsoft Windows XP Professional
OS Version: 5.1.2600 Service Pack 2 Build 2600
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
Original Install Date: 30.11.2008, 23:51:24
System Up Time: 3 Days, 17 Hours, 46 Minutes, 54 Seconds
System type: X86-based PC
Processor(s): 1 Processor(s) Installed.
                           [01]: x86 Family 15 Model 6 Stepping 2 GenuineIntel ~2998 Mhz
System Locale: ru;Russian
Input Locale: en-us;English (United States)
Time Zone: (GMT+03:00) Moscow, St. Petersburg, Volgograd
Total Physical Memory: 2047 MB
Available Physical Memory: 540 MB
Virtual Memory: Max Size: 2048 MB
Virtual Memory: Available: 2008 MB
Virtual Memory: In Use: 40 MB


 Description   
Prerequisites:
QB server and User agent are installed on the same PC
QB has wo configurations:
root and root/Want
root has default config
Want config has:
  1. Repository - Subversion - Proof build support enabled
     Working copies "c:\Program Files\Want"
     proof build condition "if build triggered manually"
  2. Two steps: checkout and build
Root config has workspace path - "Use configuration name.."
Source code checked out to "c:\Program Files\Want"

Steps to reproduce the bug
1. In advanced settings of "Want" change workspace path from "Use configuration name.." to
"Use specified workspace directory" and set path to "e:\Data\QB\workspace\Want"
2. Change some files in working directory (c:\Program Files\Want)
3. Try to build config
4. Build fails with error
17:24:36,750 [collect_local_change@zappedws:8821] DEBUG - Local change:
17:24:36,750 [collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/src/wantver.res
17:24:36,750 [collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/release.ini
17:24:37,032 [collect_local_change@zappedws:8821] INFO - Workspace mutex released.
17:24:37,032 [collect_local_change@zappedws:8821] DEBUG - Job finished.
17:24:37,375 [master>checkout WANT@zappedws:8810] INFO - Applying local change for repository 'SVN'...
17:24:37,375 [master>checkout WANT@zappedws:8810] INFO - Executing post-execute script...
17:24:37,375 [master>checkout WANT@zappedws:8810] ERROR - Step 'checkout WANT' is failed.
    java.lang.RuntimeException: java.io.FileNotFoundException: File 'e:\Data\QB\workspace\Want\local_change\SVN\info' does not exist
        at com.pmease.quickbuild.util.FileUtils.readFileAsString(FileUtils.java:149)
        at com.pmease.quickbuild.util.BeanUtils.readFile(BeanUtils.java:372)
        at com.pmease.quickbuild.util.BeanUtils.readFile(BeanUtils.java:377)
        at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep.applyLocalChange(CheckoutStep.java:145)
        at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep.run(CheckoutStep.java:129)
        at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$6587ac87.CGLIB$run$0(<generated>)
        at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$6587ac87$$FastClassByCGLIB$$8971bb1f.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:271)
        at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$6587ac87.run(<generated>)
        at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:449)
        at com.pmease.quickbuild.stepsupport.StepJob.execute(StepJob.java:34)
        at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:120)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.FileNotFoundException: File 'e:\Data\QB\workspace\Want\local_change\SVN\info' does not exist
        at org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:137)
        at org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1102)
        at com.pmease.quickbuild.util.FileUtils.readFileAsString(FileUtils.java:147)
        ... 13 more
17:24:37,407 [master>checkout WANT@zappedws:8810] INFO - Workspace mutex released.
17:24:37,407 [master>checkout WANT@zappedws:8810] DEBUG - Job finished.

After this folder "e:\Data\QB\workspace\Want" has checked out code without local changes
and additional subfolders
  local_change\
  revert_change\SVN
without files in it

The same bug is observed when root workspace changed from default "Use configuration name..." to specified path (e.g. e:\Data\QB\workspace)
and root/Want config has default "Use configuration name..." workspace path

When the config workspaces are default - all is ok
build log contains
17:20:38,500 [collect_local_change@zappedws:8821] DEBUG - Local change:
17:20:38,500 [collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/src/wantver.res
17:20:38,500 [collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/release.ini
17:20:38,829 [collect_local_change@zappedws:8821] INFO - Workspace mutex released.
17:20:38,829 [collect_local_change@zappedws:8821] DEBUG - Job finished.
17:20:39,094 [master>checkout WANT@zappedws:8810] INFO - Applying local change for repository 'SVN'...
17:20:39,157 [master>checkout WANT@zappedws:8810] DEBUG - Derived revert change:
17:20:39,157 [master>checkout WANT@zappedws:8810] DEBUG - ***** MODIFY: /Delphi/trunk/Want/src/wantver.res
17:20:39,157 [master>checkout WANT@zappedws:8810] DEBUG - ***** MODIFY: /Delphi/trunk/Want/release.ini
17:20:39,282 [master>checkout WANT@zappedws:8810] INFO - Executing post-execute script...
17:20:39,282 [master>checkout WANT@zappedws:8810] INFO - Step 'checkout WANT' is successful.
17:20:39,329 [master>checkout WANT@zappedws:8810] INFO - Workspace mutex released.
17:20:39,329 [master>checkout WANT@zappedws:8810] DEBUG - Job finished.

 Comments   
Comment by Robin Shen [ 20/Sep/10 12:43 AM ]
This happens because the user agent and the server is using the same workspace directory which is unlikely to happen in a real environment where QB server and user agent runs on different machines. Nevertheless, we will patch QB to handle this special case.
Comment by Alexey Shumkin [ 23/Sep/10 05:42 PM ]
Confirm: "Fixed"
Generated at Thu May 16 14:17:02 UTC 2024 using JIRA 189.