From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CE913138206 for ; Tue, 2 Jan 2018 11:33:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4C2D5E081E; Tue, 2 Jan 2018 11:33:40 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id ECA9EE07F1 for ; Tue, 2 Jan 2018 11:33:39 +0000 (UTC) Received: from [192.168.2.51] (85.253.86.194.cable.starman.ee [85.253.86.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: leio) by smtp.gentoo.org (Postfix) with ESMTPSA id B9A1A335C0C for ; Tue, 2 Jan 2018 11:33:37 +0000 (UTC) Message-ID: <1514892813.31539.3.camel@gentoo.org> Subject: Re: [gentoo-user] segfault in gedit / glib From: Mart Raudsepp To: gentoo-user@lists.gentoo.org Date: Tue, 02 Jan 2018 13:33:33 +0200 In-Reply-To: References: <1514650613.4521.1.camel@gentoo.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.2 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Archives-Salt: 446f869b-c6dd-4077-9fff-c50e1b478cf9 X-Archives-Hash: d01084d6fb95991e3df48ec844bd8ef5 On Sun, 2017-12-31 at 09:47 +1100, Adam Carter wrote: > * Install gdb if it isn't already installed > > * Make sure a core file is presend in coredumpd, coredumpctl should > > show; if not, have it crash again so it's fresh and saved in there > > > > * coredumpctl gdb gedit > > > > * bt full > > > > Post output of that "bt full" > > > > > > (gdb) bt full > #0  0x00007f60cd333a74 in g_main_context_prepare () from > /usr/lib64/libglib-2.0.so.0 > No symbol table info available. > #1  0x00007f60cd33449b in ?? () from /usr/lib64/libglib-2.0.so.0 > No symbol table info available. > #2  0x00007f60cd334693 in g_main_context_iteration () from > /usr/lib64/libglib-2.0.so.0 > No symbol table info available. > #3  0x00007f60d047676a in g_application_run () from > /usr/lib64/libgio-2.0.so.0 > No symbol table info available. > #4  0x0000563890d41d59 in main () > No symbol table info available. > > FWIW I have -fomit-frame-pointer set - should i rebuild glib & gedit > with that or some other options changed? -fomit-frame-pointer is the default on x86_64/amd64 in most situations. -fno-omit-frame-pointer might help, but usually that's useful for sample based profiling (like sysprof), which can't spend time unwinding the traces with more complex ways during sample collection. Here you already actually have the full backtrace available, even most symbol names, so it could already unwind it. Best to have full debug symbols then with CFLAGS including e.g -ggdb and FEATURES having "splitdebug compressdebug". This can be done per-package, but if there's disk space available for /usr/lib64/debug (could also be a symlink to an always mounted data disk), it doesn't hurt to just always have it enabled for all. Well, it does hurt compilation time a bit, and a lot for big packages like chromium/webkit-gtk, for which this could then be disabled instead. Anyhow, up to you how much you enable. For this backtrace, dev-libs/glib is the one of interest. That said, this looks really weird place to crash, and I doubt there's threads going on with it unable to show the correct one. t a a b f would make sure instead of bt full (the former is short for thread apply all backtrace full, so the same as bt full, but will show all threads, not current only). I'm not sure debug information for the backtrace will help much, but debug symbols + some more gdb usage than just getting the trace might help. Mart