[Bug 1537125] Re: ubuntu-14.04.04: fail to run systemtap test suites
Michael Hohnbaum
1537125 at bugs.launchpad.net
Fri Feb 24 19:38:45 UTC 2017
** Changed in: systemtap (Ubuntu)
Assignee: Taco Screen team (taco-screen-team) => (unassigned)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to elfutils in Ubuntu.
https://bugs.launchpad.net/bugs/1537125
Title:
ubuntu-14.04.04: fail to run systemtap test suites
Status in elfutils package in Ubuntu:
Fix Released
Status in systemtap package in Ubuntu:
Confirmed
Bug description:
---Problem Description---
ubuntu-14.04.04: fail to run systemtap test suites
---uname output---
Linux u140404 4.2.0-21-generic #25~14.04.1-Ubuntu SMP Thu Dec 3 13:55:42 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
Machine Type = power8
As per launchpad feature systemtap now supported and enabled on 14.04.04
- https://bugs.launchpad.net/ubuntu/+source/systemtap/+bug/1511347
Here are the steps followed to test systemtap -
1. Get 14.04.04 guest VM
2. apt-get update; apt-get install dpkg-dev; apt-get build-dep
systemtap
3. setup repo
codename=$(lsb_release -c | awk '{print $2}')
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ ${codename} main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
EOF
4. apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01
5E0577F2
5. apt-get update
6. devel packages
apt-get install linux-image-`uname -r`-dbgsym
apt-get install linux-headers-4.2.0-24-generic
7. Install required dependencies
- dejagnu, elfutils-*
8. apt-get source systemtap
9. appy systemtap fixes
see BZ - https://bugzilla.linux.ibm.com/show_bug.cgi?id=131220
root at u140404:~/patch# ll
total 32
drwxr-xr-x 2 root root 4096 Jan 7 03:36 ./
drwx------ 8 root root 4096 Jan 7 03:55 ../
-rw-r--r-- 1 root root 6763 Jan 7 03:36 systemtap-1
-rw-r--r-- 1 root root 3094 Jan 7 03:35 systemtap-1511347.diff
-rw-r--r-- 1 root root 3472 Jan 7 03:36 systemtap-2
-rw-r--r-- 1 root root 5864 Jan 7 03:36 systemtap-3
cd /root/systemtap-2.3
apply above patch in below order
patch -p1 < /root/patch/systemtap-1511347.diff
patch -p1 < /root/patch/systemtap-1
patch -p1 < /root/patch/systemtap-2
patch -p1 < /root/patch/systemtap-3
10. ./configure; make -j10; make install
11. make check -------------------------------------------> failed
root at u140404:~/systemtap-2.3# make check
/bin/bash ./git_version.sh -k -s . -o git_version.h
make check-recursive
make[1]: Entering directory `/root/systemtap-2.3'
Making check in .
make[2]: Entering directory `/root/systemtap-2.3'
CXX stap-session.o
CXXLD stap
make check-local
make[3]: Entering directory `/root/systemtap-2.3'
SRCDIR=`cd .; pwd`; \
PWD=`pwd`; \
make -C testsuite check SYSTEMTAP_RUNTIME=$SRCDIR/runtime SYSTEMTAP_TAPSET=$SRCDIR/tapset LD_LIBRARY_PATH=$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}$PWD/lib-elfutils:$PWD/lib-elfutils/systemtap SYSTEMTAP_PATH=$PWD SYSTEMTAP_INCLUDES=$PWD/includes RUNTESTFLAGS="" PKGLIBDIR="/usr/local/libexec/systemtap";
make[4]: Entering directory `/root/systemtap-2.3/testsuite'
Run "make check" or "make installcheck".
make check-DEJAGNU check-local
make[5]: Entering directory `/root/systemtap-2.3/testsuite'
srcdir='.'; export srcdir; \
EXPECT=expect; export EXPECT; \
if /bin/bash -c ""env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES= SYSTEMTAP_TESTAPPS= SYSTEMTAP_RUNTIME=/root/systemtap-2.3/runtime SYSTEMTAP_TAPSET=/root/systemtap-2.3/tapset LD_LIBRARY_PATH=/root/systemtap-2.3/lib-elfutils:/root/systemtap-2.3/lib-elfutils/systemtap CRASH_LIBDIR=/usr/local/lib/systemtap PATH=/root/systemtap-2.3:$PATH SYSTEMTAP_PATH=/root/systemtap-2.3 SYSTEMTAP_INCLUDES=/root/systemtap-2.3/includes PKGLIBDIR=/usr/local/libexec/systemtap ./execrc runtest" --version" > /dev/null 2>&1; then \
exit_status=0; l='systemtap'; for tool in $l; do \
if "env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES= SYSTEMTAP_TESTAPPS= SYSTEMTAP_RUNTIME=/root/systemtap-2.3/runtime SYSTEMTAP_TAPSET=/root/systemtap-2.3/tapset LD_LIBRARY_PATH=/root/systemtap-2.3/lib-elfutils:/root/systemtap-2.3/lib-elfutils/systemtap CRASH_LIBDIR=/usr/local/lib/systemtap PATH=/root/systemtap-2.3:$PATH SYSTEMTAP_PATH=/root/systemtap-2.3 SYSTEMTAP_INCLUDES=/root/systemtap-2.3/includes PKGLIBDIR=/usr/local/libexec/systemtap ./execrc runtest" --tool $tool --tool_opts \'\' --srcdir $srcdir ; \
then :; else exit_status=1; fi; \
done; \
else echo "WARNING: could not find '"env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES= SYSTEMTAP_TESTAPPS= SYSTEMTAP_RUNTIME=/root/systemtap-2.3/runtime SYSTEMTAP_TAPSET=/root/systemtap-2.3/tapset LD_LIBRARY_PATH=/root/systemtap-2.3/lib-elfutils:/root/systemtap-2.3/lib-elfutils/systemtap CRASH_LIBDIR=/usr/local/lib/systemtap PATH=/root/systemtap-2.3:$PATH SYSTEMTAP_PATH=/root/systemtap-2.3 SYSTEMTAP_INCLUDES=/root/systemtap-2.3/includes PKGLIBDIR=/usr/local/libexec/systemtap ./execrc runtest"'" 1>&2; :;\
fi; \
exit $exit_status
/bin/bash: line 4: env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES= SYSTEMTAP_TESTAPPS= SYSTEMTAP_RUNTIME=/root/systemtap-2.3/runtime SYSTEMTAP_TAPSET=/root/systemtap-2.3/tapset LD_LIBRARY_PATH=/root/systemtap-2.3/lib-elfutils:/root/systemtap-2.3/lib-elfutils/systemtap CRASH_LIBDIR=/usr/local/lib/systemtap PATH=/root/systemtap-2.3:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games SYSTEMTAP_PATH=/root/systemtap-2.3 SYSTEMTAP_INCLUDES=/root/systemtap-2.3/includes PKGLIBDIR=/usr/local/libexec/systemtap ./execrc runtest: No such file or directory
make[5]: *** [check-DEJAGNU] Error 1
make[5]: Leaving directory `/root/systemtap-2.3/testsuite'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/root/systemtap-2.3/testsuite'
make[3]: *** [check-local] Error 2
make[3]: Leaving directory `/root/systemtap-2.3'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/root/systemtap-2.3'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/root/systemtap-2.3'
make: *** [check] Error 2
root at u140404:~/systemtap-2.3#
Manually ran cmd instead of make check -
cd testsuite
root at u140404:~/systemtap-2.3/testsuite# cat x
env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES= SYSTEMTAP_TESTAPPS= SYSTEMTAP_RUNTIME=/root/systemtap-2.3/runtime SYSTEMTAP_TAPSET=/root/systemtap-2.3/tapset LD_LIBRARY_PATH=/root/systemtap-2.3/lib-elfutils:/root/systemtap-2.3/lib-elfutils/systemtap CRASH_LIBDIR=/usr/local/lib/systemtap PATH=/root/systemtap-2.3:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games SYSTEMTAP_PATH=/root/systemtap-2.3 SYSTEMTAP_INCLUDES=/root/systemtap-2.3/includes PKGLIBDIR=/usr/local/libexec/systemtap ./execrc runtest
root at u140404:~/systemtap-2.3/testsuite# ./x
WARNING: No tool specified
Test Run By root on Thu Jan 21 13:56:33 2016
Native configuration is powerpc64le-unknown-linux-gnu
=== tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
kernel location: /boot/vmlinux-4.2.0-21-generic
kernel version: 4.2.0-21-generic
systemtap location: /root/systemtap-2.3/stap
systemtap version: version 2.3/0.158, Debian version 2.3-1ubuntu1.2 (trusty
gcc location: /usr/bin/gcc
gcc version: gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
**** failed systemtap kernel-devel smoke test:
In file included from /root/systemtap-2.3/runtime/linux/task_finder.c:17:0,
from /root/systemtap-2.3/runtime/linux/runtime.h:188,
from /root/systemtap-2.3/runtime/runtime.h:24,
from /tmp/stapoLzh94/stap_79fa3140436d1423447aa39801d1b0c9_872_src.c:24:
/root/systemtap-2.3/runtime/linux/task_finder2.c: In function '__stp_call_mmap_callbacks_with_addr':
/root/systemtap-2.3/runtime/linux/task_finder2.c:703:24: error: 'struct file' has no member named 'f_dentry'
dentry = vma->vm_file->f_dentry;
^
/root/systemtap-2.3/runtime/linux/task_finder2.c: In function '__stp_utrace_attach_match_filename':
/root/systemtap-2.3/runtime/linux/task_finder2.c:821:11: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
tsk_euid = task_euid(tsk);
^
/root/systemtap-2.3/runtime/linux/task_finder2.c: In function '__stp_call_mmap_callbacks_for_task':
/root/systemtap-2.3/runtime/linux/task_finder2.c:1206:42: error: 'struct file' has no member named 'f_dentry'
vma_cache_p->dentry = vma->vm_file->f_dentry;
^
/root/systemtap-2.3/runtime/linux/task_finder2.c: In function 'stap_start_task_finder':
/root/systemtap-2.3/runtime/linux/task_finder2.c:1711:12: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
tsk_euid = task_euid(tsk);
^
In file included from /root/systemtap-2.3/runtime/linux/runtime.h:194:0,
from /root/systemtap-2.3/runtime/runtime.h:24,
from /tmp/stapoLzh94/stap_79fa3140436d1423447aa39801d1b0c9_872_src.c:24:
/root/systemtap-2.3/runtime/sym.c: In function '_stp_snprint_addr':
/root/systemtap-2.3/runtime/sym.c:567:4: error: implicit declaration of function 'preempt_enable_no_resched' [-Werror=implicit-function-declaration]
preempt_enable_no_resched();
^
In file included from include/linux/sched.h:56:0,
from ./arch/powerpc/include/asm/elf.h:12,
from include/linux/elf.h:4,
from include/linux/module.h:15,
from /root/systemtap-2.3/runtime/linux/runtime.h:14,
from /root/systemtap-2.3/runtime/runtime.h:24,
from /tmp/stapoLzh94/stap_79fa3140436d1423447aa39801d1b0c9_872_src.c:24:
/root/systemtap-2.3/runtime/transport/control.c: In function '_stp_ctl_write_cmd':
include/linux/cred.h:358:25: error: incompatible types when initializing type 'uid_t' using type 'kuid_t'
#define current_euid() (current_cred_xxx(euid))
^
/root/systemtap-2.3/runtime/transport/control.c:41:15: note: in expansion of macro 'current_euid'
uid_t euid = current_euid();
^
In file included from /root/systemtap-2.3/runtime/linux/print.c:17:0,
from /root/systemtap-2.3/runtime/print.c:17,
from /root/systemtap-2.3/runtime/runtime_context.h:22,
from /tmp/stapoLzh94/stap_79fa3140436d1423447aa39801d1b0c9_872_src.c:46:
/root/systemtap-2.3/runtime/transport/transport.c: In function '_stp_transport_init':
/root/systemtap-2.3/runtime/transport/transport.c:344:11: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
_stp_uid = current_uid();
^
/root/systemtap-2.3/runtime/transport/transport.c:345:11: error: incompatible types when assigning to type 'gid_t' from type 'kgid_t'
_stp_gid = current_gid();
^
cc1: all warnings being treated as errors
make[1]: *** [/tmp/stapoLzh94/stap_79fa3140436d1423447aa39801d1b0c9_872_src.o] Error 1
make: *** [_module_/tmp/stapoLzh94] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed. [man error::pass4]
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
**** aborting testing.
root at u140404:~/systemtap-2.3/testsuite#
== Comment: #2 - Kalpana Shetty <kalshett at in.ibm.com> - 2016-01-21 13:59:42 ==
few other cmds as well failing -
root at u140404:~# stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'
Pass 1: parsed user script and 95 library script(s) using 42752virt/32768res/5952shr/26048data kb, in 160usr/0sys/170real ms.
WARNING: cannot find module kernel debuginfo: No DWARF information found [man warning::debuginfo]
semantic error: while resolving probe point: identifier 'kernel' at /usr/local/share/systemtap/tapset/linux/vfs.stp:768:18
source: probe vfs.read = kernel.function("vfs_read")
^
semantic error: no match
semantic error: while resolving probe point: identifier 'vfs' at <input>:1:7
source: probe vfs.read {printf("read performed\n"); exit()}
^
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) using 65536virt/35776res/7552shr/27008data kb, in 10usr/0sys/6real ms.
Pass 2: analysis failed. [man error::pass2]
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
root at u140404:~#
root at u140404:~# stap -e 'probe oneshot { println("hello world") }'
semantic error: while resolving probe point: identifier 'oneshot' at <input>:1:7
source: probe oneshot { println("hello world") }
^
semantic error: probe point mismatch (alternatives: __nd_syscall __nfs __scheduler __signal __tcpmib __vm _linuxmib _nd_syscall _signal _sunrpc _syscall _vfs begin begin(number) end end(number) error error(number) generic ioblock ioblock_trace ioscheduler ioscheduler_trace ipmib irq_handler kernel kprobe kprocess linuxmib module(string) nd_syscall netdev netfilter never nfs nfsd perf process process(number) process(string) procfs procfs(string) scheduler scsi signal socket softirq stap staprun sunrpc syscall tcp tcpmib timer tty udp vfs vm workqueue): identifier 'oneshot' at :1:7
source: probe oneshot { println("hello world") }
^
Pass 2: analysis failed. [man error::pass2]
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
== Comment: #4 - Hemant K. Shaw <hemkshaw at in.ibm.com> - 2016-01-22 06:50:17 ==
This fails on x86 as well. Here is the o/p of a simple kprobe test :
The systemtap version is :
Systemtap translator/driver (version 2.3/0.158, Debian version 2.3-1ubuntu1.3 (trusty))
$ sudo stap -ve 'probe kernel.function("_do_fork") { printf("hit\n"); }'
Pass 1: parsed user script and 95 library script(s) using 26904virt/19216res/4640shr/15180data kb, in 90usr/0sys/97real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) using 268420virt/167580res/126684shr/41468data kb, in 760usr/90sys/857real ms.
Pass 3: translated to C into "/tmp/stapwvyY7W/stap_96747bc38104f19f4e295204b6a5d176_873_src.c" using 268420virt/167704res/126808shr/41468data kb, in 10usr/0sys/6real ms.
In file included from /usr/share/systemtap/runtime/linux/task_finder.c:17:0,
from /usr/share/systemtap/runtime/linux/runtime.h:188,
from /usr/share/systemtap/runtime/runtime.h:24,
from /tmp/stapwvyY7W/stap_96747bc38104f19f4e295204b6a5d176_873_src.c:24:
/usr/share/systemtap/runtime/linux/task_finder2.c: In function ?__stp_call_mmap_callbacks_with_addr?:
/usr/share/systemtap/runtime/linux/task_finder2.c:703:24: error: ?struct file? has no member named ?f_dentry?
dentry = vma->vm_file->f_dentry;
^
/usr/share/systemtap/runtime/linux/task_finder2.c: In function ?__stp_utrace_attach_match_filename?:
/usr/share/systemtap/runtime/linux/task_finder2.c:821:11: error: incompatible types when assigning to type ?uid_t? from type ?kuid_t?
tsk_euid = task_euid(tsk);
^
/usr/share/systemtap/runtime/linux/task_finder2.c: In function ?__stp_call_mmap_callbacks_for_task?:
/usr/share/systemtap/runtime/linux/task_finder2.c:1206:42: error: ?struct file? has no member named ?f_dentry?
vma_cache_p->dentry = vma->vm_file->f_dentry;
^
/usr/share/systemtap/runtime/linux/task_finder2.c: In function ?stap_start_task_finder?:
/usr/share/systemtap/runtime/linux/task_finder2.c:1711:12: error: incompatible types when assigning to type ?uid_t? from type ?kuid_t?
tsk_euid = task_euid(tsk);
^
In file included from /usr/share/systemtap/runtime/linux/runtime.h:194:0,
from /usr/share/systemtap/runtime/runtime.h:24,
from /tmp/stapwvyY7W/stap_96747bc38104f19f4e295204b6a5d176_873_src.c:24:
/usr/share/systemtap/runtime/sym.c: In function ?_stp_snprint_addr?:
/usr/share/systemtap/runtime/sym.c:567:4: error: implicit declaration of function ?preempt_enable_no_resched? [-Werror=implicit-function-declaration]
preempt_enable_no_resched();
^
In file included from include/linux/sched.h:56:0,
from include/linux/ptrace.h:5,
from include/linux/ftrace.h:13,
from include/linux/kprobes.h:42,
from /usr/share/systemtap/runtime/linux/runtime.h:21,
from /usr/share/systemtap/runtime/runtime.h:24,
from /tmp/stapwvyY7W/stap_96747bc38104f19f4e295204b6a5d176_873_src.c:24:
/usr/share/systemtap/runtime/transport/control.c: In function ?_stp_ctl_write_cmd?:
include/linux/cred.h:358:25: error: incompatible types when initializing type ?uid_t? using type ?kuid_t?
#define current_euid() (current_cred_xxx(euid))
^
/usr/share/systemtap/runtime/transport/control.c:41:15: note: in expansion of macro ?current_euid?
uid_t euid = current_euid();
^
In file included from /usr/share/systemtap/runtime/linux/print.c:17:0,
from /usr/share/systemtap/runtime/print.c:17,
from /usr/share/systemtap/runtime/runtime_context.h:22,
from /tmp/stapwvyY7W/stap_96747bc38104f19f4e295204b6a5d176_873_src.c:43:
/usr/share/systemtap/runtime/transport/transport.c: In function ?_stp_transport_init?:
/usr/share/systemtap/runtime/transport/transport.c:344:11: error: incompatible types when assigning to type ?uid_t? from type ?kuid_t?
_stp_uid = current_uid();
^
/usr/share/systemtap/runtime/transport/transport.c:345:11: error: incompatible types when assigning to type ?gid_t? from type ?kgid_t?
_stp_gid = current_gid();
^
cc1: all warnings being treated as errors
make[1]: *** [/tmp/stapwvyY7W/stap_96747bc38104f19f4e295204b6a5d176_873_src.o] Error 1
make: *** [_module_/tmp/stapwvyY7W] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compiled C into "stap_96747bc38104f19f4e295204b6a5d176_873.ko" in 4460usr/400sys/5342real ms.
Pass 4: compilation failed. [man error::pass4]
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
Kernel version :
4.2.0-26-generic #31~14.04.1-Ubuntu SMP Wed Jan 20 14:26:00 UTC 2016 i686 i686 i686 GNU/Linux
It looks like there is a mismatch between the kernel and the systemtap
version. Need to upgrade systemtap. For ubuntu 14.04.03, systemtap 2.3
worked because it has a older kernel and older systemtap. Its no more
the case now. The systemtap version needs to be upgraded.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/elfutils/+bug/1537125/+subscriptions
More information about the foundations-bugs
mailing list