Re: Make stable/15 a stable branch [Just for my edification: Why are PTHREADS_ASSERTIONS and ASSERT_DEBUG left enabled for stable/* and releng/*.* ?]

From: Mark Millard <marklmi_at_yahoo.com>
Date: Fri, 05 Sep 2025 23:50:55 UTC
On Sep 5, 2025, at 14:37, Colin Percival <cperciva@tarsnap.com> wrote:

> On 9/4/25 23:06, Colin Percival wrote:
>> On 9/4/25 22:02, Mark Millard wrote:
>>> Colin Percival <cperciva_at_FreeBSD.org> wrote on
>>> Date: Fri, 05 Sep 2025 01:24:00 UTC :
>>>> * Turn off LLVM assertions
>>>> * Turn on production malloc and reproductible builds
>>> 
>>> Just for my edification for stable/* and release/*.* :
>>> 
>>> Is there a reason that PTHREADS_ASSERTIONS is
>>> left enabled? (Listed in __DEFAULT_YES_OPTIONS
>>> in share/mk/src.opts.mk .)
>> That's a good question.  I've emailed a few people to ask...
> 
> I've switched PTHREADS_ASSERTIONS to __DEFAULT_NO in stable/15.  Thanks
> for pointing this out!

Cool.

As for:

QUOTE
> Is there a reason that ASSERT_DEBUG
> ( in  share/mk/bsd.opts.mk ) is left enabled
> ( listed in __DEFAULT_YES_OPTIONS )?

That's documented as "Compile programs and libraries without the
assert(3) checks" which I'm inclined to say sounds dangerous since
assertions are often misused for security purposes.
END QUOTE

assert does not give much control of error handling, if I
remember right. Having them present might give a means of
denial of service via causing the program involved to quit
by failing an assert. No clear win in either orientation
of handling relative to security? (Learning of bugs is a
separate issue.)


===
Mark Millard
marklmi at yahoo.com