Bug 732346
Summary: | warning: make exited with status: 2 | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Han Pingtian <phan> | ||||
Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> | ||||
Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 6.2 | CC: | dsmith, mjw, pmuller, scox, syeghiay, wcohen | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | systemtap-1.6-4 | Doc Type: | Bug Fix | ||||
Doc Text: |
Cause
stap tests which tracepoints ('kernel.trace("*")') are available
by using a "make" command.
Consequence
When stap first searches for those available tracepoints it
will print out a number of error messages from the "make" which
are harmless. SystemTap caches the results, so only the first
run of the search produces the extraneous error messages.
Fix
The "make" for the tracepoint search was replaces with "make -i"
(ignore errors) so the messages from those make operations
testing the availability of the tracepoints are not seen by the user.
Result
There is no misleading output when performing from the internal
"make" process stap uses to determine the available tracepoints.
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-12-06 15:18:30 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
You can reproduce this one on a non-freshly installed system like this: # rm -rf ~/.systemtap/cache # stap -vvvv -l 'kernel.trace("*")' These messages are seen only the first time because the results get cached, so future runs use the cached results. There is a similar upstream bug, sourceware pr13100. These are really just "soft" errors, since after that compile fails systemtap will try a slower method. upstream commit e86f32e makes the "Warning: make exited with status: 2" message go away. Let's repurpose this PR as to the misleading warning. Hidden build problems with tracepoint headers can be left to bug #730884. During the next respin, we need to add upstream commit a73b5001 - another one-liner - to fix another warning mistakenly introduced by my patch above. *** Bug 745953 has been marked as a duplicate of this bug. *** At least upstream commit #a73b5001 needs to be added to this patch, in order to silence a warning introduced by this patch. Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause stap tests which tracepoints ('kernel.trace("*")') are available by using a "make" command. Consequence When stap first searches for those available tracepoints it will print out a number of error messages from the "make" which are harmless. SystemTap caches the results, so only the first run of the search produces the extraneous error messages. Fix The "make" for the tracepoint search was replaces with "make -i" (ignore errors) so the messages from those make operations testing the availability of the tracepoints are not seen by the user. Result There is no misleading output when performing from the internal "make" process stap uses to determine the available tracepoints. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2011-1517.html |
Created attachment 519221 [details] verbose outputs of stap -l 'kernel.trace("*")' Description of problem: This problem can only be produced once on one system. When running this command: stap -l 'kernel.trace("*")' -vvvv in the first time on a system, it will echo some warning messages like Warning: make exited with status: 2 and there are some compiling error messages in the verbose outputs like ... include/linux/jbd2.h:1225: note: previous definition of ‘is_journal_aborted’ was here include/linux/jbd.h:1033: error: redefinition of ‘is_handle_aborted’ include/linux/jbd2.h:1230: note: previous definition of ‘is_handle_aborted’ was here include/linux/jbd.h:1050: error: redefinition of ‘tid_gt’ include/linux/jbd2.h:1247: note: previous definition of ‘tid_gt’ was here include/linux/jbd.h:1056: error: redefinition of ‘tid_geq’ include/linux/jbd2.h:1253: note: previous definition of ‘tid_geq’ was here include/linux/jbd.h:1068: error: redefinition of ‘jbd_space_needed’ include/linux/jbd2.h:1266: note: previous definition of ‘jbd_space_needed’ was here In file included from include/trace/events/jbd.h:7, from /tmp/stapvdbvYi/tracequery_kmod_1/tracequery_kmod_1.c:44: include/linux/jbd.h:1084:1: error: "BJ_Metadata" redefined In file included from /usr/src/debug////////kernel-2.6.32-191.el6/linux-2.6.32-191.el6.ppc64/fs/ext4/ext4.h:22, from /tmp/stapvdbvYi/tracequery_kmod_1/tracequery_kmod_1.c:26: include/linux/jbd2.h:1281:1: error: this is the location of the previous definition In file included from include/trace/events/jbd.h:7, from /tmp/stapvdbvYi/tracequery_kmod_1/tracequery_kmod_1.c:44: include/linux/jbd.h:1085:1: error: "BJ_Forget" redefined ... But when run it second times, there is no such warning messages any more. Version-Release number of selected component (if applicable): kernel 2.6.32-191.el6 systemtap-1.6-2.el6 How reproducible: always Steps to Reproduce: 1. refresh install a system, 2. on the system, run stap -vvvv -l 'kernel.trace("*")' 3. Actual results: will get warning messages and compiling errors for the first time run Expected results: Additional info: