Bug 1941722

Summary: systemtap fails to run with various compile/missing symbols error - kernel 5.11 compatibility
Product: [Fedora] Fedora Reporter: Chung <cchung>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 33CC: amerey, brolley, dsmith, fche, lberk, mjw, scox, wcohen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: systemtap-4.4-4.fc32 systemtap-4.4-4.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-23 01:11:52 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:

Description Chung 2021-03-22 16:25:50 UTC
Description of problem:


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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Chung 2021-03-22 16:35:27 UTC
sorry, the bug got created without me finish all the steps.  

The problem happens with 5.11.7-200.fc33 but also happens on 5.11.7-200.fc32.

1. Enable update-debiginfo in fedora-updates.repo
2. Install kernel-debuginfo.
3. Add the following script in anywhere you like, I put it in /tmp.

# Script to test basic System Tap functionality.

global tickCounter = 0;
global vmallocCounter = 0;

function sayHello()
%{
    printk("systemtap script says hello\n");
%}

probe begin
{
    sayHello();
    printf("hello\n");
}

probe timer.ms(100)
{
    tickCounter++;
}

function sayGoodbye()
%{
    printk("systemtap script says goodbye\n");
%}

// Force use of some basic debug info.
probe kernel.function("vmalloc")
{
    vmallocCounter++;
}

probe end
{
    sayGoodbye();
    printf("counter = %d\nvmalloc = %d\nbye!\n", tickCounter, vmallocCounter);
}

4. run it with following flags:

stap -v -F -o /tmp/a.log -g --disable-cache  /tmp/simpe-test.stp


5. You should see the following error:

[root@ci-vm-10-0-136-51 ~]# stap -v -F -o /tmp/a.log -g --disable-cache  /tmp/simpe-test.stp 
Pass 1: parsed user script and 483 library scripts using 324644virt/89064res/12432shr/76444data kb, in 170usr/60sys/225real ms.
Pass 2: analyzed script: 4 probes, 2 functions, 0 embeds, 2 globals using 391176virt/156608res/13588shr/142976data kb, in 1500usr/170sys/1685real ms.
Pass 3: translated to C into "/tmp/stapmXuaVf/stap_1270_src.c" using 391176virt/156796res/13776shr/142976data kb, in 40usr/90sys/137real ms.
In file included from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:78,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/mmzone.h:8,
                 from ./include/linux/gfp.h:6,
                 from /usr/share/systemtap/runtime/linux/runtime_defines.h:20,
                 from /usr/share/systemtap/runtime/runtime_defines.h:8,
                 from /tmp/stapmXuaVf/stap_1270_src.c:12:
/usr/share/systemtap/runtime/compatdefs.h: In function ‘_stp_is_compat_task’:
/usr/share/systemtap/runtime/compatdefs.h:18:21: error: ‘TIF_IA32’ undeclared (first use in this function)
   18 |   #define TIF_32BIT TIF_IA32
      |                     ^~~~~~~~
./include/linux/thread_info.h:118:45: note: in definition of macro ‘test_thread_flag’
  118 |  test_ti_thread_flag(current_thread_info(), flag)
      |                                             ^~~~
/usr/share/systemtap/runtime/compatdefs.h:42:27: note: in expansion of macro ‘TIF_32BIT’
   42 |   return test_thread_flag(TIF_32BIT);
      |                           ^~~~~~~~~
/usr/share/systemtap/runtime/compatdefs.h:18:21: note: each undeclared identifier is reported only once for each function it appears in
   18 |   #define TIF_32BIT TIF_IA32
      |                     ^~~~~~~~
./include/linux/thread_info.h:118:45: note: in definition of macro ‘test_thread_flag’
  118 |  test_ti_thread_flag(current_thread_info(), flag)
      |                                             ^~~~

Comment 2 Fedora Update System 2021-03-22 16:59:39 UTC
FEDORA-2021-c77e63f6bb has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c77e63f6bb

Comment 3 Frank Ch. Eigler 2021-03-22 17:03:07 UTC
Thanks for the report.  Yeah, when the fedora kernel is rebased, systemtap must backport compatibility fixes.  Would you be able to test the systemtap-4.4-4 build in koji or updates-testing (either f33 and f32)?

Comment 4 Fedora Update System 2021-03-22 17:04:32 UTC
FEDORA-2021-6450b3b72d has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-6450b3b72d

Comment 5 Chung 2021-03-22 18:34:56 UTC
Yes, I can test that, just let me know when it is ready.

Thanks!

Chung

Comment 6 Frank Ch. Eigler 2021-03-22 18:35:57 UTC
build rpms are already available here:

https://koji.fedoraproject.org/koji/packageinfo?packageID=615

Comment 7 Chung 2021-03-22 18:42:31 UTC
Thanks.  I will test that package.  Will it get pushed out to the public site soon?

Comment 9 Chung 2021-03-22 19:17:06 UTC
Just ran my test on f33 and it works.

Comment 10 Frank Ch. Eigler 2021-03-22 20:09:59 UTC
Thanks for testing!  Would really appreciate karma points to automate moving the builds to the stable yum channels.

Comment 11 Chung 2021-03-22 20:43:45 UTC
Just did for both F33 and F32.
I need that to move also.  
Thanks again for the quick build.

Comment 12 Frank Ch. Eigler 2021-03-22 20:45:32 UTC
and thank you for the report & quick testing

pleasure doing business with you :-)

Comment 13 Fedora Update System 2021-03-23 01:11:52 UTC
FEDORA-2021-6450b3b72d has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 14 Fedora Update System 2021-03-23 01:33:24 UTC
FEDORA-2021-c77e63f6bb has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.