CMake + Long lines in standard output crash / Agent hangs

I believe I've found a bug.  Here's the setup:

  • Solaris v5.10 (Agent OS)
  • Red Hat v6.3 (Agent OS)
  • Red Hat v6.3 (Server OS)
  • TeamCity v7.1.5
  • Sun Java v1.6.0_01
  • CMake v2.8.1

When using the CMake plugin, if a really long line is printed out to standard out (possibly standard error too?), the agent/build process on the agent machine hangs indefinitely.  This happens on Solaris and Red Hat.  Stopping the build does not work.  Logging on to the agent machine, " stop" does not stop the agent and neither does " stop kill".  To stop the agent, I have to use a kill -9 <PID> on both TeamCity Java processes (performed on the agent).

This is very easy to replicate.  Create a configuration.  In Step 1, use the command line runner.  For the command, use "cmake <PATH-TO-CMAKELISTS.TXT>".  In Step 2, use the CMake Build runner and point it to the same CMakeLists.txt.  Run that configuration and Step 1 succeeds but it hangs on Step 2 indefinitely (so Step 2 is the issue).  I can remove/disable Step 1 and get the same hanging results.

I've attached the CMakeLists.txt file I used, the file containing the super long line (garbage.txt), and output from running truss on the hanging process on the agent (trace.log).

Currently I believe this is a bug in the CMake plugin.  This scenario works if you run cmake using the command line runner only.

1 comment
Comment actions Permalink
Official comment


Sorry we've completely missed your post. Thanks you for reporting and providing example, that helped a lot.

There's issue for that case TW-50995. It's fixed in latest plugin versions.

Please sign in to leave a comment.