Bug 871286

Summary: qemu tapsets use the reserved 'function' keyword
Product: [Fedora] Fedora Reporter: Josh Stone <jistone>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: amit.shah, berrange, cfergeau, crobinso, dwmw2, itamar, knoel, pbonzini, rjones, scottt.tw, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-28 14:37:39 EST Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Josh Stone 2012-10-30 03:00:09 EDT
Description of problem:
The tapsets installed by qemu into /usr/share/systemtap/tapset/ try to use the name 'function' for a variable, but this is a reserved keyword.  This causes many warnings on pretty much any use of systemtap.  (stap will still run fine, provided you weren't hoping to use anything defined by those qemu*.stp)

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. stap -l begin
Actual results:
Many parse errors across qemu tapsets, all like:
> parse error: expected statement
> 	saw: keyword at /usr/share/systemtap/tapset/qemu-x86_64.stp:1455:3
>      source:   function = $arg3;
>                ^
> parse error: expected identifier
> 	saw: operator '=' at /usr/share/systemtap/tapset/qemu-x86_64.stp:1455:12
>      source:   function = $arg3;
>                         ^
> 2 parse errors.

Expected results:
For "stap -l begin", it should just print "begin" with no errors.

Additional info:
This is related to the problem in bug #831763, just with 'function' this time.  The error looks like the same place in every qemu*.stp, just varying on which qemu binary is referenced:

1451 probe qemu.user.x86_64.usb_uas_tmf_unsupported = process("/usr/bin/qemu-x86_64").mark("usb_uas_tmf_unsupported")
1452 {
1453   addr = $arg1;
1454   tag = $arg2;
1455   function = $arg3;
1456 }
Comment 1 Fedora Update System 2012-10-31 08:53:19 EDT
qemu-1.2.0-18.fc18 has been submitted as an update for Fedora 18.
Comment 2 Fedora Update System 2012-10-31 14:11:10 EDT
Package qemu-1.2.0-18.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qemu-1.2.0-18.fc18'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
Comment 3 Fedora Update System 2012-11-01 09:05:58 EDT
qemu-1.2.0-19.fc18 has been submitted as an update for Fedora 18.
Comment 4 Cole Robinson 2012-11-28 14:37:39 EST
In stable now