이 콘텐츠는 선택한 언어로 제공되지 않습니다.

1.148. systemtap


1.148.1. RHEA-2011-0037: systemtap bug fix and enhancement update

SystemTap is an instrumentation system for systems running the Linux kernel, version 2.6. Developers can write scripts to collect data on the operation of the system.
This update re-bases SystemTap to upstream version 1.3 (BZ#606726). This re-base applies several upstream enhancements, highlights of which include:
  • A new integrated compile-server client is now available as part of stap.
  • A new option, --ldd, automatically adds any additional shared libraries needed by probed or "-d"-listed userspace binaries to the -d list; this enables symbolic backtracing through them. Similarly, the new --all-modules option automatically adds any currently loaded kernel modules (listed in /proc/modules) to the -d list.
  • By default the systemtap-runtime RPM builds now includes a shared library: staplog.so. This library allows crash to extract systemtap data from a vmcore image.
  • This re-base also introduces backward-compatibility flags and a deprecation policy, which is useful in preventing future tapset/language changes from breaking valid scripts.
  • The <sys/sdt.h> user-space markers no longer default to an implicit MARKER_NAME_ENABLED() semaphore check for each marker. To check for enabled markers use a .d declaration file, then:
    if (MARKER_NAME_ENABLED()) MARKER_NAME()
  • A new stap option, -G VAR=VALUE, allows users to override global variables by passing the settings to staprun as module options.
  • Iterating with foreach can now explicitly save the value for the loop.
  • A new operator, @entry, is available for automatically saving an expression at entry time for use in a .return probe.
This update also applies the following fixes:
  • The stap-prep script, packaged with SystemTap, requires yumdownloader (supplied by yum-utils). However, yum-utils is not a dependency of SystemTap. With this update, yum-utils is now a dependency of SystemTap. (BZ#513672)
  • Whenever SystemTap invoked useradd, it did so without specifying a UID; as such, any such invocations could result in a 'BAD level' warning. With this update, stap-server checks the existence of a system UID/GID before invoking an adduser/groupadd command. A 155:155 static UID:GID pair will then be assigned to the stap-server user without UID/GID reservation. In the rare case that such a user already exists on the system, dynamic UID/GID allocation will be used. (BZ#555808)
  • When loading a module, stap executes stapio to handle interactions. A bug in runtime/staprun/mainloop.c made it possible for stapio to fail in executing a module control file even after successfully opening it. When this occurred, stapio returned an "ERROR: unexpected EOF" when loading/unloading a kernel module concurrently. This update applies an upstream patch to runtime/staprun/mainloop.c that instructs stapio to quit (instead of retrying) when a read error occurs, avoiding a loop. (BZ#557165)
  • When running rpm -V systemtap systemtap-server, TPS reported two verification failures: systemtap-server.ppc64: /var/log/stap-server.log .M...UG. [tps:B] and systemtap.ppc64: /usr/share/systemtap/runtime/uprobes .M....G. [tps:B]. This update applies an upstream patch that corrects this. (BZ#559633)
  • The Red Hat Enterprise Linux 5.4 version of SystemTap contained a stap-prep script that is missing in 5.5. This update returns the stap-prep script. (BZ#573031)
  • When running multiple stap engines simultaneously, it was possible for SystemTap to unload the stap module before running all utrace callback handlers. This could result in the kernel calling code in an unloaded module, which would result in a crash. To prevent this from occurring, this update patches runtime/itrace.c and runtime/task_finder.c accordingly, adding a loop that checks for running handlers. SystemTap will now only unload a module when it is safe to do so. (BZ#602706)
  • When running service systemtap restart on a previously stopped script, the script remained halted instead of restarting. This was because the SystemTap initscript incorrectly defined the SCRIPTS variable. With this update, SystemTap makes local copies of the $SCRIPTS global variable. This update also adds force-reload, reload, condrestart, and try-restart commands. (BZ#607232)
  • The prelink utility is no longer a SystemTap dependency on Itanium. This dependency was added in previous releases for specific SystemTap test cases. (BZ#629190)
  • The -I option when running stap terminated abnormally with a segmentation fault because of the string literal at the end of the file. This update provides a workaround by adding a semi-colin (;) after the string literal, and a fix in parse.cxx that only inspets the next token if there is one. (BZ#648420)
The following fixes were previously released in a separate, asynchronous errata:
  • Due to a string copy being used instead of a formatted string copy, the argstring of the socketpair system call had a wrong "UNKNOWN VALUE". This issue is now resolved. (BZ#560720)
  • Although the kernel in Red Hat Enterprise Linux 5.5 for the Itanium architecture introduced a new pipe system call handler, sys_ia64_pipe, the function was not added to the SystemTap tapset. As a result, probing the system call from the script via probe syscall.pipe did not succeed. This error has been fixed, the new function has been added to the tapset, and the pipe system call should now be probed correctly. (BZ#568032)
  • Previously, a change in register contents (such as $return) on the Itanium architecture caused a crash due to a flaw in the way the values in the memory were set. Now, a change in register contents no longer results in a crash. (BZ#598615)
For a more detailed list of upstream enhancements and bug fixes applied by the re-base, refer to the following link:
All SystemTap users are advised to apply this update.

1.148.2. RHBA-2010:0608: bug fix update

Updated systemtap packages that resolve two bugs are now available for Red Hat Enterprise Linux 5.
SystemTap is an instrumentation system for systems running the Linux kernel, version 2.6. Developers can write scripts to collect data on the operation of the system.
This update resolves the following bugs:
* due to a string copy being used instead of a formatted string copy, the argstring of the socketpair system call had a wrong "UNKNOWN VALUE". This issue is now resolved. ( BZ#617099)
* previously, a change in register contents (such as $return) on Itanium caused a crash due to a flaw in the way the values in the memory were set. Now, no crash happens when register contents change. ( BZ#617100)
All SystemTap users are advised to upgrade to these updated packages, which fix these bugs.

1.148.3. RHBA-2010:0525: bug fix update

Updated systemtap packages that fix a bug are now available.
SystemTap is an instrumentation system for systems running the Linux kernel, version 2.6. Developers can write scripts to collect data on the operation of the system.
This update fixes the following bug:
* although the kernel in Red Hat Enterprise Linux 5.5 for the Itanium architecture introduced a new pipe system call handler, "sys_ia64_pipe", the function was not added to the SystemTap tapset. As a result, probing the system call from the script via "probe syscall.pipe" did not succeed. This error has been fixed, the new function has been added to the tapset, and the pipe system call should now be probed correctly. ( BZ#604022)
Affected SystemTap users should upgrade to these updated packages, which resolve this issue.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.