From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-user+bounces-181707-garchives=archives.gentoo.org@lists.gentoo.org>
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 <garchives@archives.gentoo.org>; 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 <gentoo-user@lists.gentoo.org>; 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 <gentoo-user@lists.gentoo.org>; 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 <leio@gentoo.org>
To: gentoo-user@lists.gentoo.org
Date: Tue, 02 Jan 2018 13:33:33 +0200
In-Reply-To: <CAC=wYCGgd-CqSu5Khm30BQxRE82i85thX18kjbb0iKU2uKvEFQ@mail.gmail.com>
References: 
	<CAC=wYCFCduMjWCAFKrVPEi2ZGoRYbCso+3U2tkCAV5hurFtGBw@mail.gmail.com>
	 <CADX8ZBJsDuWibjfPOQ7kUGw-J2-4F1UjjrDEvM8dnGCy=Rtbjw@mail.gmail.com>
	 <CAC=wYCEgyrF6LbMydsd1DpAmt1gqT43wV995h6Kbg28nzmKkJA@mail.gmail.com>
	 <CADX8ZB+c1Mf6VigbSoaGSTdBZxjL7sYiBSv73UMyVzFu0aNoFw@mail.gmail.com>
	 <CAC=wYCGa-A7L32qb43q-x-dJF+R71m1SQg4YAunZjK9N0mSsJA@mail.gmail.com>
	 <1514650613.4521.1.camel@gentoo.org>
	 <CAC=wYCGgd-CqSu5Khm30BQxRE82i85thX18kjbb0iKU2uKvEFQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.22.2 
Precedence: bulk
List-Post: <mailto:gentoo-user@lists.gentoo.org>
List-Help: <mailto:gentoo-user+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-user+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-user+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-user.gentoo.org>
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