From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17674 invoked by alias); 12 Dec 2015 14:38:37 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 17662 invoked by uid 89); 12 Dec 2015 14:38:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sat, 12 Dec 2015 14:38:36 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 94478C0B930F; Sat, 12 Dec 2015 14:38:34 +0000 (UTC) Received: from fche.csb (unused [10.10.52.179] (may be forged)) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id tBCEcYKR007997; Sat, 12 Dec 2015 09:38:34 -0500 Received: by fche.csb (Postfix, from userid 2569) id 7C8BB586A9; Sat, 12 Dec 2015 09:38:21 -0500 (EST) To: Nikolay Borisov Cc: systemtap@sourceware.org Subject: Re: printing kernel backtrace References: <566C1400.1060108@siteground.com> From: fche@redhat.com (Frank Ch. Eigler) Date: Sat, 12 Dec 2015 14:38:00 -0000 In-Reply-To: <566C1400.1060108@siteground.com> (Nikolay Borisov's message of "Sat, 12 Dec 2015 14:33:04 +0200") Message-ID: User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2015-q4/txt/msg00277.txt.bz2 Hi - n.borisov wrote: > I've started experimenting with systemtamp and I'd like to print the > callstack leading to the probed function. Welcome! > To that effect I have created the following very simple tapset: (Just a terminology nit: a "tapset" is a set of script fragments for automated reuse, kind of like libc. Yours is simply a script.) > probe module("dm_thin_pool").function("do_waker") { > print_syms(callers(-1)) > printf("finished backtrace\n"); > } print_backtrace() would have been equivalent. > However the output I get is something like that: > > 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool] > 0xffffffff810a5025 : 0xffffffff810a5025 > 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool] > 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool] > [...] > 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool] > 0xffffffffa0152c8 : 0xffffffffa0152c8 > finished backtrace That doesn't look quite right, does it. I'd expect stap to produce some messages about missing unwind/symbol information, but it's not happening right this time. The problem is probably that the unwind/symbol info for only your module was included. Try running your script again, but add -d kernel to the stap command line. - FChE