https://llvm.org/bugs/show_bug.cgi?id=23781
Bug ID: 23781
Summary: cmake: race condition between different sphinx targets
Product: Build scripts
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: cmake
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Classification: Unclassified
If multiple Sphinx targets are declared in the same directory, they all share a
common doctree directory. Now, if multiple targets are enabled and parallel
make is used, multiple instances of Sphinx can be started simultaneously with
the same doctree directory, resulting in race conditions.
This is hard to reproduce but I've been able to see one regarding os.makedirs()
hitting EEXIST. Not that I believe this isn't a bug in Python but I doubt this
is something we can rely upon being fixed for us.
Potential solutions are:
1. add an ordering dep between the two targets. Let only one Sphinx instance
run in parallel, and then run the other reusing already-generated doctrees.
2. Use separate doctree directories. This means that Sphinx would generate the
same doctrees twice. Not sure how much slower that would be, actually.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs