[neomutt-devel] [PATCH] add -Werror and -pedantic build flag; fix warnings

Richard Russon rich at flatcap.org
Sat Mar 6 15:41:55 CET 2021

> the idea is to improve the continuous integration

Yes.  We already do a variety of builds on different OSs.
We also use LGTM and Coverity which do some static tests.

Between them, they cover a lot of potential errors.

> i was also thinking about introducing ... ASAN to neomutt's CI

OK, that's easily done.  But what comes next isn't.

ASAN only reports after running NeoMutt.
Running NeoMutt requires a complex set up of config, data and servers.
Running all that in a CI requires containers, e.g. Docker.

That would be brilliant if we had that,
but it's a HUGE amount of work to set up.

> i have been running locally with ASAN enabled for some weeks and
> continuously receive many memory leaks.

Again, these are hard to replicate by automatic testing.
If you get leaks, you need to tell us about them.
ASAN will tell you the call stack that lead to the memory allocation.

> I thought making CI stricter (for instance also enabling
> -fsanitize=undefined, -fcf-protection=full -fstack-protector-strong
> -fstack-clash-protection and such things

Yes, modern compilers have lots more options.
We could add some more to the automated builds.
(Note that CIs often run on older stable releases)

> making neomutt more deterministic by hard-failing if something's wrong:


Through our history, we've been making some big changes to improve the code.
Occasionally, this has led to NeoMutt being unstable.
Once a project gets a reputation for crashing, it's game over.

Crashing on bugs, can be very helpful for developers (if reported correctly)
but it will drive away users.

    Rich / FlatCap
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://mailman.neomutt.org/pipermail/neomutt-devel-neomutt.org/attachments/20210306/8a1154a1/attachment.sig>

More information about the neomutt-devel mailing list