[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#8988) Undefined Behavior in slapadd



On Fri, Jun 7, 2019 at 10:08 AM Howard Chu <hyc@symas.com> wrote:
>
> Jeffrey Walton wrote:
> > On Fri, Jun 7, 2019 at 9:59 AM Howard Chu <hyc@symas.com> wrote:
> >>
> >> noloader@gmail.com wrote:
> >>> On Fri, Jun 7, 2019 at 9:32 AM Howard Chu <hyc@symas.com> wrote:
> >>>>
> >>>> noloader@gmail.com wrote:
> >>>> ...
> >>>>> I encourage OpenLDAP to fix the undefined behavior. OpenLDAP is an
> >>>>> important project, and the undefined behavior is causing too many
> >>>>> tangential problems.
> >>>>
> >>>> Undefined behavior is not a bug, nor is it prohibited by the C spec. It is a necessary
> >>>> part of the language for its intended use as a system programming language, writing
> >>>> machine-specific programs. Anyone who says it is prohibited by the spec is wrong.
> >>>
> >>> I don't believe this is correct.
> >>>
> >>> Maybe you are thinking of implementation defined behavior?
> >>
> >> That would apply to how a particular compiler implementation treats some piece of code.
> >> Whether a CPU supports unaligned access is machine-defined. Since our code is already
> >> properly ifdef'd for the machines which do or don't support it, the fact that this is
> >> "non-portable" is not an issue.
> >
> > The undefined behavior is causing OpenLDAP to fail testing.
> >
> > Worse, it is causing test failures in programs and libraries which use
> > OpenLDAP. The OpenLDAP bugs have cross-pollinated into other programs
> > and libraries. It is not simply contained or limited to OpenLDAP.
> >
> > That's a big problem for testing a QA folks.
>
> Then the tests are broken, because these are not bugs.

They are absolutely OpenLDAP bugs. The unaligned accesses are
Undefined Behavior.

* https://stackoverflow.com/a/46790815/608639
* https://stackoverflow.com/a/46790813/608639
* https://stackoverflow.com/a/28895321/608639
* https://stackoverflow.com/a/51126453/608639
* https://stackoverflow.com/q/39908946/608639
...

I get that you think your project is fine. Many folks take that myopic
view of the world. I call it the greedy model.

Greedy models show up all over the place. For example, every website
that requires a different account and different 16 character password.
That's the greedy password model where a site think it is the only one
someone visits.

What baffles me is your insistence on polluting other program and
library results. That's not your place to screw up testing for other
programs and libraries.

Jeff