Simple strace debugging
Today my URxvt terminals are stuck. All of them, at the same time.
I know they're just clients (urxvtc) for the main daemon (urxvtd) so I'm not surprised that all of them are stuck, but I don't know why.
URxvt standalone version (urxvt) works well, so I can start inverstigating (by the way, in my i3 environment I mainly use URxvt client (bound to Mod+Shift+Enter), because it's faster to start, but I have a backup binding Mod+Ctrl+Enter for the standalone version, just in case things like that happen :).
Then, with the right tool, it's easy to find the problem:
$ strace -p $(pidof urxvtd) strace: Process 1518 attached wait4(20063, ^C strace: Process 1518 detached <detached ...>
So PID 20063 is the problem, urxvtd is waiting for it forever. But who is that?
$ ps aux | grep 20063 kevin 20063 0.0 0.0 13628 2920 ? S 10:45 0:00 sh -c echo -en toto\.ods | xsel -i -b -p
Alright, it's my clipboard management script that doesn't return ...
$ kill -9 20063
Bye bye clipboard, and hello again my terminals :-)