Bug 1336913
| Summary: | FFI.cdef() prints WARNING: yacc table file version is out of date | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Robbie Harwood <rharwood> | ||||||||
| Component: | python-pycparser | Assignee: | Eric Smith <spacewar> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | low | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 24 | CC: | abokovoy, awilliam, blipton, cheimes, ipa-maint, jdulaney, jhrozek, jpazdziora, mkosek, npmccallum, pspacek, pvoborni, rcritten, rharwood, sgallagh, spacewar, ssorce, tcallawa, tomek | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | python-pycparser-2.14-6.fc24 | Doc Type: | If docs needed, set a value | ||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | |||||||||||
| : | 1668230 (view as bug list) | Environment: | |||||||||
| Last Closed: | 2016-07-12 15:01:35 UTC | Type: | Bug | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Bug Depends On: | |||||||||||
| Bug Blocks: | 1668230 | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Robbie Harwood
2016-05-17 19:37:40 UTC
Created attachment 1158504 [details]
install log
I don't see anything in here, but attaching it as requested.
Created attachment 1158507 [details]
yacctab.py
Found this in root's homedir after install
Created attachment 1158508 [details]
lextab.py
Same with this
what is you version of: python-ply python-pycparser python-cffi python-cryptography and python3 variants I've a feeling that the issue is in one of the packages. Probably python-pycparser. This is fc24 (with updates-testing), so: python2-ply-3.8-1.fc24.noarch python-pycparser-2.14-5.fc24.noarch python2-cffi-1.5.2-1.fc24.x86_64 python2-cryptography-1.3.1-1.fc24.x86_64 No python3 versions of any of the above are installed. Python versions: python3-3.5.1-7.fc24.x86_64 python-2.7.11-4.fc24.x86_64 This can be reproduced on F24 system using this Python snippet:
>>> from cffi import FFI
>>> _ffi = FFI()
>>> _ffi.cdef("""
... int rpmvercmp (const char *a, const char *b);
... """)
WARNING: yacc table file version is out of date
Moving to cffi.
It's a bug in python-ply (Python lexx and yacc). cffi uses pyparsing and ply to parse C declarations.
/usr/lib/python2.7/site-packages/ply/yacc.py: raise VersionError('yacc table file version is out of date')
I don't see the bug in ply (not that I'm necessary disputing it existing). When I change the debugging string like this:
raise VersionError('yacc table file version is out of date %s vs %s' % (parsetab._tabversion, __tabversion__))
We get:
Python 2.7.11 (default, Feb 5 2016, 01:53:41)
[GCC 6.0.0 20160201 (Red Hat 6.0.0-0.9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from cffi import FFI
>>> _ffi = FFI()
>>> _ffi.cdef("""
... int rpmvercmp (const char *a, const char *b);
... """)
WARNING: yacc table file version is out of date 3.5 vs 3.8
>>>
I'm not sure why the file version is coming in from ffi at 3.5.
note that *every* time this happens, a yacctab.py gets dumped in the working directory. Which is kind of annoying. I'm seeing it on my server after upgrading to F24, every time I run ipactl. FYI, I downgraded python-ply to 3.6-4.fc24 and the problem went away. So, definitely a PLY issue. It's a bug in pycparser. The error message doesn't have enough information to point to the right file. It's not yacc.py but yacctab.py! The yacctab in pycparser has version 3.5. After I changed _tabversion = '3.8' in /usr/lib/python2.7/site-packages/pycparser/yacctab.py, the warning is gone. Just rebuilding pycparser against the new python-ply package in F24 seems to do the trick. Could we get updated packages in Fedora 24? python-pycparser-2.14-6.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7eac4df7e python-pycparser-2.14-6.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7eac4df7e I confirm that with upgrade to python-pycparser-2.14-6.fc24, ipa-server-install no longer emits the WARNING: yacc table file version is out of date message. python-pycparser-2.14-6.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. |