Bug 1336913

Summary: FFI.cdef() prints WARNING: yacc table file version is out of date
Product: [Fedora] Fedora Reporter: Robbie Harwood <rharwood>
Component: python-pycparserAssignee: Eric Smith <spacewar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 24CC: 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 Flags
install log
none
yacctab.py
none
lextab.py none

Description Robbie Harwood 2016-05-17 19:37:40 UTC
With a fresh fc24 install, ipa-client-install prints the following warning:

# ipa-client-install -N
WARNING: yacc table file version is out of date
Discovery was successful!

and then proceeds to configure the client as normal.  Nothing seems to be broken, but I didn't do anything obviously odd and this warning is esoteric.

Comment 1 Robbie Harwood 2016-05-17 20:18:09 UTC
Created attachment 1158504 [details]
install log

I don't see anything in here, but attaching it as requested.

Comment 2 Robbie Harwood 2016-05-17 20:29:37 UTC
Created attachment 1158507 [details]
yacctab.py

Found this in root's homedir after install

Comment 3 Robbie Harwood 2016-05-17 20:29:59 UTC
Created attachment 1158508 [details]
lextab.py

Same with this

Comment 4 Petr Vobornik 2016-05-18 10:42:04 UTC
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.

Comment 5 Robbie Harwood 2016-05-18 16:01:24 UTC
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

Comment 6 Petr Spacek 2016-05-23 10:22:11 UTC
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.

Comment 7 Christian Heimes 2016-05-23 10:38:42 UTC
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')

Comment 8 Tom "spot" Callaway 2016-05-25 16:09:04 UTC
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.

Comment 9 Adam Williamson 2016-06-21 21:24:33 UTC
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.

Comment 10 Nathaniel McCallum 2016-06-21 21:34:16 UTC
FYI, I downgraded python-ply to 3.6-4.fc24 and the problem went away. So, definitely a PLY issue.

Comment 11 Christian Heimes 2016-06-22 10:19:51 UTC
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.

Comment 12 Ben Lipton 2016-06-27 15:30:22 UTC
Just rebuilding pycparser against the new python-ply package in F24 seems to do the trick.

Comment 13 Jan Pazdziora (Red Hat) 2016-07-08 13:40:56 UTC
Could we get updated packages in Fedora 24?

Comment 14 Fedora Update System 2016-07-08 14:13:57 UTC
python-pycparser-2.14-6.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7eac4df7e

Comment 15 Fedora Update System 2016-07-10 15:57:56 UTC
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

Comment 16 Jan Pazdziora (Red Hat) 2016-07-11 08:52:21 UTC
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.

Comment 18 Fedora Update System 2016-07-12 15:01:29 UTC
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.