Bug 1941722 - systemtap fails to run with various compile/missing symbols error - kernel 5.11 compatibility
Summary: systemtap fails to run with various compile/missing symbols error - kernel 5....
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: systemtap
Version: 33
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Frank Ch. Eigler
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-22 16:25 UTC by Chung
Modified: 2021-03-23 01:33 UTC (History)
8 users (show)

Fixed In Version: systemtap-4.4-4.fc32 systemtap-4.4-4.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-23 01:11:52 UTC
Type: Bug


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.