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

Key: QB-627
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Robin Shen
Reporter: Alexey Shumkin
Votes: 0
Watchers: 0
Operations

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

Proof build for SVN fails with non-standard configuration workspace path

Created: 19/Sep/10 01:31 PM   Updated: 23/Sep/10 05:42 PM
Component/s: None
Affects Version/s: 3.0.4
Fix Version/s: 3.0.6

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: 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  « Hide
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.

 All   Comments   Work Log   Change History      Sort Order:
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.

Alexey Shumkin [23/Sep/10 05:42 PM]
Confirm: "Fixed"