LNT General Failure

Folks,

Its seems that the latest master restart has introduced a failure in
*many* test-suite bots:

  File "/home/buildslave/buildslave/clang-cmake-aarch64-full/test/lnt/lnt/server/ui/decorators.py",
line 6, in <module>
    frontend = flask.Module(__name__)
AttributeError: 'module' object has no attribute 'Module'

http://lab.llvm.org:8011/builders/clang-cmake-aarch64-quick/builds/7433

http://lab.llvm.org:8011/builders/clang-cmake-aarch64-full/builds/2208

http://lab.llvm.org:8011/builders/clang-native-arm-lnt/builds/18012

http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/4347

http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/2042

Any one has any idea?

cheers,
--renato

Hi Renato,

We’re also seeing this on internal bots.
My first guess is that it was triggered by the Flask package getting updated at Pypi on 29th of May, see https://pypi.python.org/pypi/Flask.

I haven’t investigated further at this point.

Thanks,

Kristof

Renato, Kristof,

I confirm this is due to the latest Flask — Flask-0.11 was released this weekend — and for some unknown (to me at least) reason, although LNT’s requirements.txt pins Flask to version 0.10.1, pip installs Flask-0.11. Forcing Flask to 0.10.1 gets the situation back to normal.

Reading pip’s documentation makes me think it’s not able to resolve dependencies correctly in our case.

Cheers,

Arnaud

That makes sense. We should be caching it locally, but more
importantly, we should be requesting modules by release, not the
latest possible.

--renato

Do you know where to change that in LNT? If you could commit a fix,
it'd probably get all our bots fixed, too.

thanks!
--renato

I honestly do not know how to fix that --- I would otherwise I've committed a fix.

I've been able to hack it locally exploiting the very same lit limitation then the one we're stumbling on (i.e it does not resolve dependency correctly and only pick-up the first constraint).
You need to make sure the Flask constraint is seen first, even before using the requirements.txt so on the command line before loading the requirements.txt.

I hope I’ve fixed this properly just now in http://llvm.org/viewvc/llvm-project?view=revision&revision=271274.
Fingers crossed that the bots will come back now…

I think that will work. We should actually fix it to work with .11. It is a dot release, the changes are minor.

Do the bots need restarting for that to take effect?

--renato

They shouldn't.

Ok, I'll keep an eye on them. Thanks!

--renato

It seem like it does fix the issue: http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/4405.
I agree with making LNT work with .11 too - but I’m not familiar with the part of LNT that has this dependency, so someone else may have to look into that.

Thanks,

Kristof

It seem like it does fix the issue:
http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/4405.

Great, thanks!

I agree with making LNT work with .11 too - but I'm not familiar with the
part of LNT that has this dependency, so someone else may have to look into
that.

Indeed, and we should do that offline first. :slight_smile:

--renato

To close the loop on this, I have file:

https://llvm.org/bugs/show_bug.cgi?id=28059

To track actually fixing LNT to work with Flask-0.11.