When the inferior is stopped inside a syscall (e.g. poll), single-stepping out of this syscall (via "step") causes GDB to loop and to slowly consume more and more memory. This can easily be seen when debugging GDB with GDB: $ gdb gdb (gdb) run Starting program: /scratchpad/binutils-gdb-build/gdb/gdb (gdb) ^C Program received signal SIGINT, Interrupt. 0x00007ffff6d784f0 in poll () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) step Single stepping until exit from function poll, which has no line number information. <infinite loop here>