Description of problem: texlive-context has %transfiletriggerin that runs /usr/bin/mtxrun --generate &> /dev/null || : The search path that mtxrun uses seems to include ".", and the rpm script is run with '/' as the working directory, causing mtxrun to perform a recursive search starting from the root, and stat()in every file in the tree. It seems that the recursive search always stops at "/dev/fd/3/" with ENOENT (No such file or directory), so the issue only becomes noticeable if there is a large amount of files before "/dev" - at least in my case the directories are processed alphabetically, so this means directories that sort before "dev" in /. I happen to have a very large remote file share mounted at /delta that has tens of millions of files. To make the matter worse, the remote file system has symlink loops and mtxrun has no protection from those, causing the rpm installation process to get stuck for days without completion, continously using CPU and network resources. I verified the issue on a clean Fedora 33 installation. Version-Release number of selected component (if applicable): 20200327-20.fc33 How reproducible: Always Steps to Reproduce: 1. Install texlive-context and strace. 2. Run to emulate the transfiletriggerin script: sudo sh -c '(cd / && strace -e %file /usr/bin/mtxrun --generate)' Actual results: The process stat()s every file from / up to /dev/fd/3/, including recursively processing directories and mount points and file system loops. Expected results: The process should not perform searches from file system root. Additional info:
Clearly, the solution is to umount both /delta and /dev. ;) I'll figure out how to make it run more narrowly (probably only from /usr).
I think this will do the trick: export TEXMFLOCAL=/usr/share/texlive/texmf-local When I set that, it doesn't search through . anymore. I've added it to the context transfiletriggerin in this build, please test and let me know if it resolves the issue on your end: https://koji.fedoraproject.org/koji/taskinfo?taskID=61140967
Thanks, that build seems to work OK for me as well.
FEDORA-2021-969de5378f has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-969de5378f
FEDORA-2021-c08dcba23d has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c08dcba23d
FEDORA-2021-969de5378f has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-969de5378f` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-969de5378f See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-c08dcba23d has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c08dcba23d` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c08dcba23d See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-c08dcba23d has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-969de5378f has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.