NanoLog icon indicating copy to clipboard operation
NanoLog copied to clipboard

Infinite Loop in Makefile Dependency Generation

Open jjenkins278 opened this issue 3 years ago • 0 comments

In runtime/GNUmakefile, dependency generation uses the following sed script to generate dependencies for sources used in tests:

sed 's|[a-zA-Z0-9_-]*\.o|$(TEST_BUILD_DIR)/&|' ./.depend >> ./.depend

See https://github.com/PlatformLab/NanoLog/blob/2a94d70f9d1db4da416053b1b926387fa068a59b/runtime/GNUmakefile#L76 .

The issue with this script is that ./.depend can be written to before the sed script completes, sending the script into an infinite loop. This behavior is being triggered for me in WSL1 Ubuntu 18.04.

I'll follow up with a PR to break the lib and test dependencies in two.

jjenkins278 avatar Mar 09 '22 15:03 jjenkins278