Versões recentes dos drivers proprietários da nVidia (possivelmente combinados com outras versões recentes de bibliotecas) possuem um bug que faz com que eles corrompam a máscara de sinal.
Você pode ver máscaras de sinal como esta:
anthony@Zia:~$ ps -eo blocked,pid,cmd | egrep -v '^0+ '
BLOCKED PID CMD
fffffffe7ffbfeff 605 udevd --daemon
0000000000000002 4052 /usr/lib/policykit-1/polkitd --no-debug
0000000000087007 4646 /usr/sbin/mysqld --basedir=/usr […]
0000000000010000 15508 bash
É sobre como deve ser. Se você executar isso em um sistema com os drivers proprietários da nVidia, verá todos os tipos de valores malucos para BLOCKED
, para muitos de seus programas - incluindo, provavelmente, todos os que não se comportam bem.
Observe que as máscaras de sinal são transmitidas de pai para filho por meio de fork
/ exec
, portanto, assim que um processo pai tiver um corrompido, todos os filhos gerados a partir desse ponto também serão enviados.
Veja também minha pergunta Após a atualização, o botão X na barra de título não fechará mais o xterm e vários bugs de distro que você poderá encontrar agora, sabendo qual pacote observar. Você pode modificar o código em minha resposta a essa pergunta para redefinir a máscara de sinal para nenhum bloqueado (Elide sigaddset
e altere SIG_UNBLOCK
para SIG_SETMASK
).