From: David Kastrup <dak@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: Segfault in current bzr
Date: Tue, 28 Sep 2010 00:29:20 +0200 [thread overview]
Message-ID: <87mxr2ddmn.fsf@lola.goethe.zz> (raw)
In-Reply-To: 83hbhbq6zx.fsf@gnu.org
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Lars Magne Ingebrigtsen <larsi@gnus.org>
>> Date: Mon, 27 Sep 2010 21:59:11 +0200
>>
>> Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
>>
>> > #2 0x00000000005a5dd9 in wait_reading_process_output (
>> > time_limit=<value optimized out>, microsecs=<value optimized out>,
>> > read_kbd=-1, do_display=<value optimized out>,
>> > wait_for_cell=<value optimized out>, wait_proc=0x0, just_wait_proc=0)
>> > at process.c:5072
>>
>> Which must be this code:
>>
>> FD_CLR (channel, &connect_wait_mask);
>> if (--num_pending_connects < 0)
>> abort ();
>
> You can't really know, in an optimized build. GCC is very good in
> collapsing multiple calls to th same function into a single call.
At least that can be avoided without letting go of optimization:
cf. C-h C-d
** When you are trying to analyze failed assertions, it will be
essential to compile Emacs either completely without optimizations or
at least (when using GCC) with the -fno-crossjumping option. Failure
to do so may make the compiler recycle the same abort call for all
assertions in a given function, rendering the stack backtrace useless
for identifying the specific failed assertion.
> I suggest to build with -O0, and then trying to crash. At least then
> the backtrace and the line numbers won't lie. And you get to actually
> see the values of the variables as a bonus, instead of all those
> <value optimized out> thingies.
With -ggdb you should be getting pretty good information. Execution
will not necessarily be in-order, but gdb will have a pretty good clue
where the values can be found when optimized away from their dedicated
stack frame location.
--
David Kastrup
next prev parent reply other threads:[~2010-09-27 22:29 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-27 19:56 Segfault in current bzr Lars Magne Ingebrigtsen
2010-09-27 19:59 ` Lars Magne Ingebrigtsen
2010-09-27 20:09 ` Lars Magne Ingebrigtsen
2010-09-27 20:14 ` Eli Zaretskii
2010-09-27 20:27 ` Lars Magne Ingebrigtsen
2010-09-27 20:37 ` Lars Magne Ingebrigtsen
2010-09-27 20:45 ` Lars Magne Ingebrigtsen
2010-09-27 20:46 ` Jan Djärv
2010-09-27 20:54 ` Lars Magne Ingebrigtsen
2010-09-27 22:29 ` David Kastrup [this message]
2010-09-27 20:16 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2010-09-28 11:10 grischka
2010-09-28 16:07 ` Eli Zaretskii
2010-09-28 17:19 ` grischka
2010-09-28 17:30 ` Eli Zaretskii
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=87mxr2ddmn.fsf@lola.goethe.zz \
--to=dak@gnu.org \
--cc=emacs-devel@gnu.org \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
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.