Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

Set variable value action returning success but failing build



  • I using the 3.7 release, I've added a set variable value action to override an existing environment level variable.

    When running the action is marked as succeed - but the build stops at that point.

    When I next try to execute a new build it sits on the first action which never completes (I gave up after 5 minutes). I then have to restart the webservice and web application before I can run any builds again.

    There seems to be a bug here... but my question is: should I be override variables this way or do I need to get rid of the environment level variables.



  • Here's the output when running buildmaster interactively:

    I think this may be related to the other issue I posted on Q&A yesterday - I cannot delete an application because of some variable constraint http://inedo.com/support/questions/947

    [Exec #5718] Getting Next Action... Preparing remote servers for execution... Preparing DWDCW-DSAS01 for execution... Preparation complete. [Exec #5718] Executing PlanAction #12024. [Exec #5718] PlanAction #12024 complete. [Exec #5718] Getting Next Action... System.Data.SqlClient.SqlException: 2627141Executions_GetAndExecuteNextAction110Violation of UNIQUE KEY constraint 'UQ__BuildExecution_VariableValues'. Can not insert duplicate key in object 'dbo.BuildExecution_PlanActionVariableValues'. The duplicate key value is (12025, CUSMOD_ENV). at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at Inedo.Data.DatabaseFactory.Inedo.Data.IDatabaseExecuter.ExecuteDataTable(String storedProcName, DbParameter[] parameters) at Inedo.Data.WrappedStoredProcedure.ExecuteDataTable() at Inedo.BuildMaster.Windows.ServiceApplication.SlimPlanExecuter.<>c__DisplayClass10.<ExecutePlan>b__7() at Inedo.BuildMaster.Windows.ServiceApplication.SlimPlanExecuter.GetWithLock[T](Func1 func) at Inedo.BuildMaster.Windows.ServiceApplication.SlimPlanExecuter.ExecutePlan(Object obj)



  • The root cause of this is that an undeclared execution variable is being created to override a declared non-execution variable.

    For example, if you create TESTVAR as a Release Variable but not as an Execution Variable, then use Set Variable Value to override TESTVAR value for the execution, it will exhibit this behavior.

    This will be fixed in a future version 3.7.1; either with a more helpful error or supporting the behavior.



Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation