xdg-open hogging the CPU by forking itself endlessly

Check for the value of your BROWSER environment variable. In most shells this is done by echo $BROWSER. If it's set to /usr/bin/xdg-open, therein lies your problem.

When xdg-open tries to open a web address, it does it not with the default set with xdg-mime, but with the command in the BROWSER variable. And since that command is xdg-open itself, it forks off to infinity.

Emptying this variable solves the problem. For bash, it is probably set to /usr/bin/xdg-open in ~/.bashrc, with a line like BROWSER=/usr/bin/xdg-open. Delete that line and the problem is fixed.

I assume xdg-open also uses the browser as the default opening application, leading to the same CPU eating process whenever an unknown file is handled.

Also, installing perl-file-mimeinfo and a restart might help.

Thanks MariusMatutiae for providing the link that helped me answer my own question.