From: Denys Vlasenko <dvlasenk@redhat.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: Roland McGrath <roland@hack.frob.com>,
linux-kernel@vger.kernel.org, Oleg Nesterov <oleg@redhat.com>,
Kushal Das <kdas@redhat.com>
Subject: Re: Extending coredump note section to contain filenames
Date: Mon, 12 Mar 2012 19:58:31 +0100 [thread overview]
Message-ID: <4F5E4757.705@redhat.com> (raw)
In-Reply-To: <20120312165359.GA32400@host2.jankratochvil.net>
On 03/12/2012 05:53 PM, Jan Kratochvil wrote:
> On Mon, 12 Mar 2012 13:05:56 +0100, Denys Vlasenko wrote:
>> Why we don't save library names in coredump?
>
> Because they are useless.
They may be useless in some situations. Not in every situation,
by a long shot. Here is a live example from my system:
$ ulimit -c unlimited
$ md5sum </dev/zero &
$ pid=$!
$ sleep 1
$ kill -ABRT $pid
$ gdb -ex "core core.12977"
GNU gdb (GDB) Fedora (7.3.50.20110722-10.fc16)
...
Missing separate debuginfo for the main executable file
Try: yum --disablerepo='*' --enablerepo='*-debuginfo' install /usr/lib/debug/.build-id/ec/1fd70dbee0db36eff9527254d9d2bbfd260f13
[New LWP 12977]
Core was generated by `md5sum'.
Program terminated with signal 6, Aborted.
#0 0x0804b2b0 in ?? ()
(gdb) bt
#0 0x0804b2b0 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further
No backtrace at all.
Let's tell it which binary was that:
(gdb) file /usr/bin/md5sum
Reading symbols from /usr/bin/md5sum...(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install coreutils-8.12-6.fc16.i686
(gdb) bt
#0 0x0804b2b0 in ?? ()
#1 0x0804bdd8 in ?? ()
#2 0x0804a093 in ?? ()
#3 0x08049659 in ?? ()
#4 0xb760f6b3 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further
This is better, isn't it?
Wouldn't it be nice if gdb would retrieve binary's name by itself?
(BTW: nothing prevents it from checking build ids and refusing
to use it if they don't match.)
> If you have a filename there how to find which
> content it should match? Even if you verify the file is still there with the
> same content there is a race it can no longer be true when you read the core
> file 5 seconds later.
And maybe root will run "rm -rf /*" in parallel. By this logic,
we should just give up on using computers.
> The build-id mapping server above always works and without races.
But it is not always available. Some people don't want to be connected
to internet; other can't be connected.
>>> it can have unknown content etc.
>>
>> I don't understand. *What* can have unknown content?
>
> You will save there "/lib64/libc-2.14.90.so". But the next day you have no
> idea which compilation or build the core file was generated for, that virtual
> machine can be either already updated or even reinstalled from scratch etc.
> "/lib64/libc-2.14.90.so" does not say anything about the build.
Does it follow from the above that filenames are *never* useful?
I don't think so.
--
vda
next prev parent reply other threads:[~2012-03-12 18:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-09 17:13 Extending coredump note section to contain filenames Denys Vlasenko
2012-03-09 17:29 ` Jan Kratochvil
2012-03-12 12:05 ` Denys Vlasenko
2012-03-12 12:13 ` Denys Vlasenko
2012-03-12 16:53 ` Jan Kratochvil
2012-03-12 18:58 ` Denys Vlasenko [this message]
2012-03-12 19:08 ` Jan Kratochvil
2012-03-12 19:45 ` Denys Vlasenko
2012-03-12 22:07 ` Jan Kratochvil
2012-03-12 22:16 ` Jan Kratochvil
2012-03-13 12:12 ` Denys Vlasenko
2012-03-13 12:19 ` Jan Kratochvil
2012-03-12 22:21 ` H. Peter Anvin
2012-03-12 22:31 ` Jan Kratochvil
2012-03-13 0:16 ` H. Peter Anvin
2012-03-13 0:27 ` Jan Kratochvil
2012-03-13 0:31 ` H. Peter Anvin
2012-03-13 0:36 ` Jan Kratochvil
2012-03-13 0:42 ` H. Peter Anvin
2012-03-13 0:46 ` Jan Kratochvil
2012-03-13 0:50 ` H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F5E4757.705@redhat.com \
--to=dvlasenk@redhat.com \
--cc=jan.kratochvil@redhat.com \
--cc=kdas@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=roland@hack.frob.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.