This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Failing nightly args test — not a blocker for 2.8

1 reply
dubochet
Joined: 2008-06-30,
User offline. Last seen 1 year 36 weeks ago.

Hello Paul,
Hello list,

The nightly "args" test, which runs the test suite with "-Ycheck:all", has been failing since 13 April. Check-all is a mechanism that's very prone to bit rot, and the actual build with check-all had already been disabled. Martin, Iulian and I think that the failure of the tests with check-all are due to bit rot of the checking logic, and that it likely doesn't indicate any deeper problem.

Therefore, we do not consider this failure as a blocker for 2.8 RC2.

If Paul or someone else is interested in looking into maintaing the check-all infrastructure, please do.

For those interested, check-all is a feature of the compiler that will basically do a simplified type check of the tree between each compiler phase. This is used to verify invariants that should hold true throughout the compilation process, for example by verifying that all symbols have an owner. However, these invariants are often subtle and can change depending on the compilation process; invariants must be updated accordingly. This explains check-all's tendency to bit rot.

Cheers,
Gilles.

extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.
Re: Failing nightly args test — not a blocker for 2.8

On Fri, Apr 30, 2010 at 03:09:09PM +0200, Gilles Dubochet wrote:
> The nightly "args" test, which runs the test suite with "-Ycheck:all",
> has been failing since 13 April. Check-all is a mechanism that's very
> prone to bit rot, and the actual build with check-all had already been
> disabled. Martin, Iulian and I think that the failure of the tests
> with check-all are due to bit rot of the checking logic, and that it
> likely doesn't indicate any deeper problem.

From the hour or so I spent pulling on that thread, I'd say it's quite
rotted indeed and I might need more motivation and knowledge to return
it to usefulness. For the most part all the major crashiness was from
running into nulls, so maybe I could fix things by making checkers more
lenient. It's not specifically high on my list, but creating better
tools for verifying what the compiler is doing is high on that list, so
the latter might bring me back around toward the former.

Short term for sure turning off -Ycheck:all is the move.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland