
Key: |
QB-339
|
Type: |
Bug
|
Status: |
Resolved
|
Resolution: |
Fixed
|
Priority: |
Major
|
Assignee: |
Robin Shen
|
Reporter: |
AlSt
|
Votes: |
0
|
Watchers: |
0
|
If you were logged in you would be able to see more operations.
|
|
|
QuickBuild
Created: 31/Mar/08 01:49 AM
Updated: 10/Apr/08 07:49 PM
|
|
Component/s: |
None
|
Affects Version/s: |
None
|
Fix Version/s: |
None
|
|
Original Estimate:
|
Unknown
|
Remaining Estimate:
|
Unknown
|
Time Spent:
|
Unknown
|
Environment:
|
win, tomcat, java6
|
|
To reproduce this bug, three configurations are needed:
config-A and config-B both depend on config-C and use it as a quickbuild repository, which is checked out in the first step. When config-A and config-B get triggered contemporaneously (by a cron-like schedule), one of the configurations fails with the following exception:
{noformat}
2008-03-26 00:30:03,869 [Thread-13656] ERROR - Failed to trigger configuration.
java.lang.RuntimeException: ognl.OgnlException: effectingRepositoriesModified [com.pmease.quickbuild.QuickBuildRemoteException: java.lang.RuntimeException(java.io.FileNotFoundException: D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))
Cause: java.io.FileNotFoundException(D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))]
at com.pmease.quickbuild.model.Configuration.evaluateBooleanExpression(Configuration.java:883)
at com.pmease.quickbuild.model.Configuration.trigger(Configuration.java:1052)
at com.pmease.quickbuild.triggeringinstance.ScheduledTriggeringInstance.execute(ScheduledTriggeringInstance.java:38)
at com.pmease.quickbuild.model.Queue$BuildRunner.run(Queue.java:225)
at java.lang.Thread.run(Thread.java:619)
Caused by: ognl.OgnlException: effectingRepositoriesModified [com.pmease.quickbuild.QuickBuildRemoteException: java.lang.RuntimeException(java.io.FileNotFoundException: D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))
Cause: java.io.FileNotFoundException(D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))]
at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:908)
at ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
at ognl.ASTProperty.getValueBody(ASTProperty.java:96)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.ASTOr.getValueBody(ASTOr.java:56)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at com.pmease.quickbuild.model.Configuration.evaluateBooleanExpression(Configuration.java:876)
... 4 more
{noformat}
|
Description
|
To reproduce this bug, three configurations are needed:
config-A and config-B both depend on config-C and use it as a quickbuild repository, which is checked out in the first step. When config-A and config-B get triggered contemporaneously (by a cron-like schedule), one of the configurations fails with the following exception:
{noformat}
2008-03-26 00:30:03,869 [Thread-13656] ERROR - Failed to trigger configuration.
java.lang.RuntimeException: ognl.OgnlException: effectingRepositoriesModified [com.pmease.quickbuild.QuickBuildRemoteException: java.lang.RuntimeException(java.io.FileNotFoundException: D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))
Cause: java.io.FileNotFoundException(D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))]
at com.pmease.quickbuild.model.Configuration.evaluateBooleanExpression(Configuration.java:883)
at com.pmease.quickbuild.model.Configuration.trigger(Configuration.java:1052)
at com.pmease.quickbuild.triggeringinstance.ScheduledTriggeringInstance.execute(ScheduledTriggeringInstance.java:38)
at com.pmease.quickbuild.model.Queue$BuildRunner.run(Queue.java:225)
at java.lang.Thread.run(Thread.java:619)
Caused by: ognl.OgnlException: effectingRepositoriesModified [com.pmease.quickbuild.QuickBuildRemoteException: java.lang.RuntimeException(java.io.FileNotFoundException: D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))
Cause: java.io.FileNotFoundException(D:\qb\build\config-C\configuration_log.txt (The process cannot access the file because it is being used by another process))]
at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:908)
at ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
at ognl.ASTProperty.getValueBody(ASTProperty.java:96)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.ASTOr.getValueBody(ASTOr.java:56)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at com.pmease.quickbuild.model.Configuration.evaluateBooleanExpression(Configuration.java:876)
... 4 more
{noformat} |
Show » |
No work has yet been logged on this issue.
|
|