[X] I have searched issues to ensure it has not already been reported
Cake runner
Cake Frosting
Cake version
2.0.0
Operating system
Windows
Operating system architecture
64-Bit
CI Server
No response
What are you seeing?
I have made by own custom launcher of devenv.com - to be able to build solution.
It works as expected - it launches Visual studio's devenv.com and compiles entire solution.
However - during compilation we have some amount of C++ projects, which are compiling as in parallel and eating a lot of CPU.
When C++ compilation is in progress - and you try to cancel build job from azure - cakebuilder is cancelled, but devenv.com remains running.
What I see from log files - cakebuilder receives cancel signal in form of Ctrl+C or Ctrl+Break (seeing from logs), but result is that cakebuild is cancelled / killed / terminated, but devenv.com remains running.
I think this has something to do with C++ parallel compilation, as 8 CPU's are working on compiling C++, and maybe because of that cakebuilder does not gets execution priority to actually cancel devenv.com. I have tested this locally and manually pressed Ctrl+C - everything works correctly. Maybe on Azure's there is faster timeout happening, and because of that azure decides to kill cakebuilder without terminating it's child compilation processes.
This could be also classified as bug of Azure itself, as from my perspective it should also kill child processes, not only main builder process.
For now I have coded somehow similar killbuildtasks.ps1:
Maybe someone can propose a better solution on this one ?
One approach could be:
Put cake builder itself to higher priority over child processes, so it can process cancel signal faster, and would not end up into process termination.
What is expected?
All child compilation tasks gets terminated before terminating main frosten cake builder task.
Steps to Reproduce
Really difficult to reproduce - need to have heavy c++ project with cakebuilder adapted to it.
Need to run cake builder task in azure.
Perform cancel in Azure while compilation is up and running.
Cannot provide my own build environment due to privacy of the project.
Prerequisites
Cake runner
Cake Frosting
Cake version
2.0.0
Operating system
Windows
Operating system architecture
64-Bit
CI Server
No response
What are you seeing?
I have made by own custom launcher of devenv.com - to be able to build solution.
It works as expected - it launches Visual studio's devenv.com and compiles entire solution.
However - during compilation we have some amount of C++ projects, which are compiling as in parallel and eating a lot of CPU.
When C++ compilation is in progress - and you try to cancel build job from azure - cakebuilder is cancelled, but devenv.com remains running.
What I see from log files - cakebuilder receives cancel signal in form of Ctrl+C or Ctrl+Break (seeing from logs), but result is that cakebuild is cancelled / killed / terminated, but devenv.com remains running.
I think this has something to do with C++ parallel compilation, as 8 CPU's are working on compiling C++, and maybe because of that cakebuilder does not gets execution priority to actually cancel devenv.com. I have tested this locally and manually pressed Ctrl+C - everything works correctly. Maybe on Azure's there is faster timeout happening, and because of that azure decides to kill cakebuilder without terminating it's child compilation processes.
This could be also classified as bug of Azure itself, as from my perspective it should also kill child processes, not only main builder process.
For now I have coded somehow similar
killbuildtasks.ps1
:and added into yaml something like this:
But this feels like a crack solution.
Maybe someone can propose a better solution on this one ?
One approach could be:
What is expected?
All child compilation tasks gets terminated before terminating main frosten cake builder task.
Steps to Reproduce
Really difficult to reproduce - need to have heavy c++ project with cakebuilder adapted to it. Need to run cake builder task in azure. Perform cancel in Azure while compilation is up and running.
Cannot provide my own build environment due to privacy of the project.
Output log
No response