News for hackers. Stuff that matters.
Re:Zig 0.8.0 Release Notes by acrispino on Friday June 04, 2021 @07:00PM (#27400046)
This was a rough release cycle for downstream users of LLVM. During testing of the release candidates, we found and reported 7 regressions from LLVM 11. However, despite having reproducible regressions reported as release blockers, the LLVM project tagged release 12.0.0. Not only were there open regressions at this time, but the 12.0.0 tag did not even tag the tip of the release/12.x branch - so there were fixes already committed into the release branch that did not make it into the tag.

I don't follow LLVM development. Is this normal for the project?

Re:Zig 0.8.0 Release Notes by slimsag on Friday June 04, 2021 @07:06PM (#27400108)
Accidents happen, and LLVM is a really large complex project with tons of downstream users (like Zig and Rust) discovering issues not caught by LLVM's test suite / clang.

It's definitely a real problem[0][1][2][3], I would argue LLVM needs a longer release-candidate cycle before a release is cut - to give downstream users more to pick up and report regressions, as well as LLVM contributors to fix them. A higher quality bar would be great.

[0] https://twitter.com/andy_kelley/status/1365186310088974336

[1] https://twitter.com/andy_kelley/status/1303046926430908416

[2] https://www.reddit.com/r/rust/comments/gh3thc/llvm_10_has_pe...

[3] https://www.reddit.com/r/rust/comments/n5ne5i/regression_mis...

Re:Zig 0.8.0 Release Notes by tialaramex on Friday June 04, 2021 @09:10PM (#27400990)
It's definitely a problem that LLVM has features which are in practice not really exercised by C++ (because the ISO C++ standard says something is Undefined Behaviour) and so clang doesn't need to use those features yet LLVM developers too often act as though only C++ matters. Rust spent a while with trivial crashes if you have an infinite loop. Here's how that happened as I understand it:

From Rust's point of view infinite loops are well formed. Sure, your program never exits but that's what you told it to do, so it's your problem not Rust's.

However in C++ that isn't a thing. In C++ an infinite loop is Undefined Behaviour. And so LLVM just didn't have working infinite loop code. If your C++ program has an infinite loop, too bad the ISO Standard says your program is wrong, clang is behaving as intended. Sure that's crazy but C++ programmers have a sort of Stockholm Syndrome.

So LLVM had a bug, but because the most important customer of LLVM is clang, and clang didn't care about this hideous bug while its users had just become numbed to the consequences, the bug lived on for ages.

Re:Zig 0.8.0 Release Notes by duped on Friday June 04, 2021 @10:09PM (#27401313)
If we're throwing stones at LLVM features that don't work let's toss one at noalias
Re:Zig 0.8.0 Release Notes by pjmlp on Saturday June 05, 2021 @01:48AM (#27402563)
Add Swift, C and Objective-C to the "customers" list that really matter.
Re:Zig 0.8.0 Release Notes by bla3 on Friday June 04, 2021 @08:31PM (#27400786)
It's the first release by a new release manager as far as I can tell: https://www.phoronix.com/scan.php?page=news_item&px=Tom-Stel...

So hopefully just temporary transition pain while the new manager learns the ropes.

Re:Zig 0.8.0 Release Notes by pyler on Saturday June 05, 2021 @11:28AM (#27405840)
Same failures https://lists.llvm.org/pipermail/llvm-dev/2021-June/150839.h...

Quality really went down with that RH guy.. :/

Re:Zig 0.8.0 Release Notes by coldtea on Saturday June 05, 2021 @08:12AM (#27404245)
>we found and reported 7 regressions from LLVM 11. However, despite having reproducible regressions reported as release blockers

Well, this says that zig team reported those bugs as "release blockers".

Doesn't mean the LLVM release team also considered them release blockers (or that it had too).

Re:Zig 0.8.0 Release Notes by mkishi on Saturday June 05, 2021 @10:39AM (#27405428)
Could you elaborate on when they wouldn't treat regressions as blockers? I'm not very familiar with LLVM and couldn't gather that from the "How To Release LLVM To The Public" docs [1].

[1] https://llvm.org/docs/HowToReleaseLLVM.html

Re:Zig 0.8.0 Release Notes by coldtea on Saturday June 05, 2021 @04:29PM (#27408217)
Well, e.g. they say: "Only critical bugs found during this testing phase will be fixed." - so e.g. not all regressions are necessarily release blockers.

Besides, whatever the "process" says, isn't it ultimate up to the release manager?