The version of systemtap in the proposed pocket of Xenial that was purported to fix this bug report has been removed because the bugs that were to be fixed by the upload were not verified in a timely (105 days) fashion.
** Tags removed: verification-needed-xenial ** Changed in: systemtap (Ubuntu Xenial) Status: Fix Committed => Won't Fix -- You received this bug notification because you are a member of नेपाली भाषा समायोजकहरुको समूह, which is subscribed to Xenial. Matching subscriptions: Ubuntu 16.04 Bugs https://bugs.launchpad.net/bugs/1830226 Title: systemtap currently broken in xenial Status in systemtap package in Ubuntu: Fix Released Status in systemtap source package in Xenial: Won't Fix Bug description: [Impact] Kernel commit 768ae309a96103ed02eb1e111e838c87854d8b51 changed the prototype of get_user_pages() removing 'write' and 'force' arguments, merging them into 'gup_flags'. This breaks systemtap that makes use of get_user_pages() in its kernel runtime interface. Fix the usage of get_user_pages() checking if it requires the old or the new signature. [Test Case] ubuntu@ubuntu:~$ cat hello.stp #!/usr/bin/env stap probe oneshot { println("hello world") } [Regression Potential] A similar change is already present in bionic+. This is a backported change for xenial. Moreover the fix adds a runtime check (done every time a stap script is executed) to verify if the running kernel is using the old or the new signature of get_user_pages(), so this change does not break the old stap scripts. Therefore regression potential is minimal. [Original bug report] Running a simple systemtap hello world example on a fresh installed Xenial VM produces the following errors: ubuntu@ubuntu:~$ uname -r 4.4.0-148-generic ubuntu@ubuntu:~$ dpkg -l | grep systemtap ii systemtap 2.9-2ubuntu2 amd64 instrumentation system for Linux ii systemtap-common 2.9-2ubuntu2 all instrumentation system for Linux (common component) ii systemtap-runtime 2.9-2ubuntu2 amd64 instrumentation system for Linux (runtime component) ubuntu@ubuntu:~$ cat hello.stp #!/usr/bin/env stap probe oneshot { println("hello world") } ubuntu@ubuntu:~$ sudo ./hello.stp In file included from /usr/share/systemtap/runtime/linux/runtime.h:204:0, from /usr/share/systemtap/runtime/runtime.h:24, from /tmp/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.c:25: /usr/share/systemtap/runtime/linux/access_process_vm.h: In function ‘__access_process_vm_’: /usr/share/systemtap/runtime/linux/access_process_vm.h:35:54: error: passing argument 6 of ‘get_user_pages’ makes pointer from integer without a cast [-Werror=int-conversion] ret = get_user_pages (tsk, mm, addr, 1, write, 1, &page, &vma); ^ In file included from include/linux/pid_namespace.h:6:0, from include/linux/ptrace.h:8, 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/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.c:25: include/linux/mm.h:1222:6: note: expected ‘struct page **’ but argument is of type ‘int’ long get_user_pages(struct task_struct *tsk, struct mm_struct *mm, ^ In file included from /usr/share/systemtap/runtime/linux/runtime.h:204:0, from /usr/share/systemtap/runtime/runtime.h:24, from /tmp/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.c:25: /usr/share/systemtap/runtime/linux/access_process_vm.h:35:57: error: passing argument 7 of ‘get_user_pages’ from incompatible pointer type [-Werror=incompatible-pointer-types] ret = get_user_pages (tsk, mm, addr, 1, write, 1, &page, &vma); ^ In file included from include/linux/pid_namespace.h:6:0, from include/linux/ptrace.h:8, 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/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.c:25: include/linux/mm.h:1222:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’ long get_user_pages(struct task_struct *tsk, struct mm_struct *mm, ^ In file included from /usr/share/systemtap/runtime/linux/runtime.h:204:0, from /usr/share/systemtap/runtime/runtime.h:24, from /tmp/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.c:25: /usr/share/systemtap/runtime/linux/access_process_vm.h:35:13: error: too many arguments to function ‘get_user_pages’ ret = get_user_pages (tsk, mm, addr, 1, write, 1, &page, &vma); ^ In file included from include/linux/pid_namespace.h:6:0, from include/linux/ptrace.h:8, 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/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.c:25: include/linux/mm.h:1222:6: note: declared here long get_user_pages(struct task_struct *tsk, struct mm_struct *mm, ^ cc1: all warnings being treated as errors scripts/Makefile.build:285: recipe for target '/tmp/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.o' failed make[1]: *** [/tmp/stapCrPm1y/stap_9bc2f1adeaead87a69b1ab80b0f14480_967_src.o] Error 1 Makefile:1454: recipe for target '_module_/tmp/stapCrPm1y' failed make: *** [_module_/tmp/stapCrPm1y] 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. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemtap/+bug/1830226/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~group.of.nepali.translators Post to : group.of.nepali.translators@lists.launchpad.net Unsubscribe : https://launchpad.net/~group.of.nepali.translators More help : https://help.launchpad.net/ListHelp