[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2846: nevow error against twisted-trunk
Tahoe-LAFS
trac at tahoe-lafs.org
Thu Dec 8 19:05:41 UTC 2016
#2846: nevow error against twisted-trunk
-------------------------------+------------------------
Reporter: warner | Owner:
Type: defect | Status: new
Priority: normal | Milestone: 1.12.0
Component: code-frontend-web | Version: 1.11.0
Keywords: | Launchpad Bug:
-------------------------------+------------------------
The "deprecations" buildbot picked up a test failure (which will probably
also be a runtime error) when running against Twisted trunk:
{{{
[ERROR]
Traceback (most recent call last):
File "/home/bb-tahoe/bb-tahoe/deprecations/build/.tox/upcoming-
deprecations/local/lib/python2.7/site-packages/twisted/internet/defer.py",
line 150, in maybeDeferred
result = f(*args, **kw)
File "/home/bb-tahoe/bb-tahoe/deprecations/build/.tox/upcoming-
deprecations/local/lib/python2.7/site-packages/nevow/static.py", line 311,
in renderHTTP
if request.setLastModified(self.fp.getmtime()) is http.CACHED:
exceptions.AttributeError: 'FilePath' object has no attribute 'getmtime'
allmydata.test.test_system.SystemTest.test_filesystem
allmydata.test.web.test_web.Web.test_CSS_FILE
}}}
(see the log in https://tahoe-lafs.org/buildbot-tahoe-
lafs/builders/deprecations/builds/140/steps/upcoming-
deprecations/logs/stdio)
This is using tahoe at [5a5da0de2a4b23c6b9b5540e4675ee532a8addb2], Twisted
at "1.6.0dev0" (they don't use Versioneer, but it's probably
[https://github.com/twisted/twisted/commit/0384682cad94bfa1d16a6fc80e795fa6765d7454
0384682cad94bfa1d16a6fc80e795fa6765d7454]), and Nevow-0.14.2 .
Twisted just removed several methods from `FilePath` which had been
(informally) deprecated back in 2007 (twisted
[https://github.com/twisted/twisted/commit/a8805a0162d8c67830c5353caa18b5e387cf8ea6
a8805a0162d8c67830c5353caa18b5e387cf8ea6]), which would be the
Twisted-2.6/8.0 era. Unfortunately, it appears that no actual
`DeprecationWarning` was raised for these methods, so we didn't see any
notice that they'd be going away: the only indication was in the
docstring. The specific method that Nevow-0.14.2 is using is `getmtime`,
which was replaced with a higher-precision variant named
`getModificationTime`.
(interesting trivia note: they replaced `getctime` with
`getStatusChangeTime`, which would help correct my perpetual misbelief
that the `c` stands for `creation`).
This is a Nevow bug, but it's present in the most recent release (0.14.2),
and the [https://github.com/twisted/nevow/ Nevow repo] has no further
commits. So either we need to help get a fixed Nevow release out ASAP, or
Tahoe needs to avoid using Nevow in a way that triggers this code path.
Otherwise Tahoe will stop working as soon as the next Twisted release
comes out.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2846>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list