Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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 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 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.