Seu programa apenas escreve no descritor diferente de 1 ou 2.
Considere o seguinte script:
#!/bin/bash
echo test >$(tty)
Agora vamos executá-lo redirecionando stdin e stderr para / dev / null:
$ ./script >/dev/null 2>&1
test
Como você vê, nós redirecionamos internamente a saída para o terminal, então o redirecionamento externo para / dev / null não tem nada a ver. No seu caso, parece que algum módulo de depuração estava fazendo algo semelhante.