
On Fri, 2021-09-17 at 15:03 +0100, Daniel P. Berrangé wrote:
On Fri, Sep 17, 2021 at 03:37:28PM +0200, Tim Wiederhake wrote:
On Fri, 2021-09-17 at 14:10 +0100, Daniel P. Berrangé wrote:
On Fri, Sep 17, 2021 at 02:58:08PM +0200, Tim Wiederhake wrote:
When libvirt is build with sanitizers enabled, in debug mode, on clang, virNWFilterRuleDefFixup exceeds the maximum stack frame size of 8192 bytes, as specified in meson.build:
../src/conf/nwfilter_conf.c:2190:1: error: stack frame size of 10616 bytes in function 'virNWFilterRuleDefFixup' [-Werror,-Wframe- larger-than=] virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) ^ 1 error generated.
This series reworks the function a bit to bring the frame size below 8192.
Why don't we just enlarge stack size limit for building with sanitizers ?
Regards, Daniel
We already double the stack size limit for debug builds, and increasing it further seemed excessive.
s/debug builds/sanitizer builds/ -- my mistake.
Note that there is one more function that exceeds the limit, virDomainDefParseXML, for which I have a patch ready. I will send it once this series lands.
We're not using sanitizers in production builds though, so IMHO we could even just run with no stack size checking entirely for such builds.
My local builds have "-Dbuildtype=debug". In gitlab's CI, the buildtype is not explictly set. This difference is what triggers the stack frame size warnings: $ export CC=clang $ meson -Db_sanitize=address,undefined -Db_lundef=false buildtype- default &> /dev/null $ ninja -C buildtype-default &>/dev/null && echo "ok" || echo "fail" ok $ meson -Db_sanitize=address,undefined -Db_lundef=false - Dbuildtype=debug buildtype-debug &> /dev/null $ ninja -C buildtype-debug >/dev/null && echo "ok" || echo "fail" fail Which is weird, as meson's default build type is "debug".
When libvirt is build with sanitizers enabled, in debug mode, on clang, virNWFilterRuleDefFixup exceeds the maximum stack frame size of 8192 bytes, as specified in meson.build:
s/in debug mode/buildtype explicitly set to debug/ Regards, Tim