I'm debugging a slowdown in my data generator for the adapters for semibalanced trees stuff. I have a lightweight c++ iterator to loop through repository references and to find which branch a random commit came from. The hang is happening inside the function that uses this iterator. I have a breakpoint set when a match is found. It extracts the name of the branch and stores it in a static thread local variable, a quick way to reuse heap allocation for dynamic strings. gdb is presently looping on this breakpoint, despite it being followed by a return statement.