From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106644 invoked by alias); 30 Nov 2018 22:47:09 -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 106634 invoked by uid 89); 30 Nov 2018 22:47:08 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1757, cie, wow X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 30 Nov 2018 22:47:06 +0000 Received: from librem.wildebeest.org (ip4da134f7.direct-adsl.nl [77.161.52.247]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 5C5DC302BB40; Fri, 30 Nov 2018 23:47:04 +0100 (CET) Received: by librem.wildebeest.org (Postfix, from userid 1000) id E8CC214060E; Fri, 30 Nov 2018 23:47:03 +0100 (CET) Date: Fri, 30 Nov 2018 22:47:00 -0000 From: Mark Wielaard To: Torsten Polle Cc: systemtap@sourceware.org Subject: Re: [PATCH] runtime/unwind: Allow to increase MAX_CFI Message-ID: <20181130224703.GP31795@wildebeest.org> References: <20181129180615.GL31795@wildebeest.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-IsSubscribed: yes X-SW-Source: 2018-q4/txt/msg00133.txt.bz2 Hi Torsten, [Sorry for the duplicate, I said I would CC the list, then forgot...] On Fri, Nov 30, 2018 at 10:31:11PM +0100, Torsten Polle wrote: > > Am 29.11.2018 um 19:06 schrieb Mark Wielaard : > > I am still curious what program/library defines more than 512 CFI > > instructions. If you could post some example of eu-readelf --debug-dump=frame > > that would be interesting. I assume it must be some really big > > functions that haven't been split up? > > PFA the dump. As it is even compressed more than 2 MB, I just send it to you and not to the mailing list. Wow, I had no idea. That is indeed huge. I inspected it and include the mailinglist again so there is a bit of a record. > This is the output of unwind.c with slightly modified messages. > > unwind_frame:1291: processCFI for CIE: /usr/lib/libgtk-3.so.0.2000.9 > unwind_frame:1299: processCFI for FDE > processCFI:312: Too many CFI instuctions: 5547 > > This is the first part backtrace. > 0x4a8aa:libglib-2.0.so.0.4800.2:0xca2c:libgobject-2.0.so.0.4800.2:0xdf68:libgobject-2.0.so.0.4800.2:0x230c9:libgobject-2.0.so.0.4800.2:0x359d25:libgtk-3.so.0.2000.9 So 5547 is more than a factor 10 bigger than the current 512 limit. Looking through the dump I see this must be either gtk_widget_class_init or gtk_settings_class_intern_init. Both have a really big CFI descriptions. I see the same in my local /usr/lib64/libgtk-3.so.0.2400.1 library. Both functions seem to be just very long initialization sequnces. Maybe we should increase the MAX_CFI by default. But processing so many CFI instructions is resource intensive. Maybe we should have a better way to just skip frames with such complicated CFI. Thanks, Mark