sewenew / redis-plus-plus

Redis client written in C++
Apache License 2.0
1.6k stars 347 forks source link

[BUG] "hiredis_features.h" race when doing multiple out-of-source tree builds #549

Closed TedLyngmo closed 6 months ago

TedLyngmo commented 7 months ago

Describe the bug Doing multiple builds at the same time from the same source tree sporadically fails because "hiredis_features.h" is generated in the source tree.

To Reproduce Make a massive amount of out-of-source tree builds at the same time. Sometimes configuration fails.

Expected behavior I expect no files to be generated in the source tree. It should be possible to make an out-of-source tree build from a read-only area.

Environment:

sewenew commented 7 months ago

Thanks for reporting! However, I'm not sure why you want to do multiple builds at the same time from the same source tree? Can you give me the specific scenario?

Sorry for the late reply. Too busy these days...

Regards

TedLyngmo commented 7 months ago

Thanks for reporting! However, I'm not sure why you want to do multiple builds at the same time from the same source tree? Can you give me the specific scenario?

We have a CI system building for a lot of target platforms, so many build processes kicks in at the same time which will build everything for these targets. It's not optimal that we rebuild things that haven't changed, but even our OSes are moving targets so clean builds are often needed anyway. Therefore the source tree must be seen as read-only during the builds - and it has worked flawlessly until recently when we (I) upgraded Redis++ and this new hiredis_features.h was added.

Sorry for the late reply. Too busy these days...

No worries, this was quicker than I anticipated :-)


Sidenote: We had many failed builds per day due to this issue, but with #550 we haven't had a single failure in 3 days.