From: Daniel Colascione <dancol@dancol.org>
To: Nicolas Richard <theonewiththeevillook@yahoo.fr>
Cc: Dmitry Antipov <dmantipov@yandex.ru>, 17168@debbugs.gnu.org
Subject: bug#17168: 24.3.50; Segfault at mark_object
Date: Wed, 02 Apr 2014 14:50:25 -0700 [thread overview]
Message-ID: <533C8621.5070805@dancol.org> (raw)
In-Reply-To: <87mwg3qwiy.fsf@yahoo.fr>
[-- Attachment #1: Type: text/plain, Size: 2640 bytes --]
On 04/02/2014 01:57 PM, Nicolas Richard wrote:
> Daniel Colascione <dancol@dancol.org> writes:
>> Also, Nicolas, can you call mem_find on 194710965, 188747058, and
>> 194710960?
>
> I must warn you that I'm a total ignorant of many things, including C
> and gdb. Here's my attempt :
>
> (gdb) mem_find(194710965)
> Undefined command: "mem_find". Try "help".
> (gdb) p mem_find(194710965)
> $1 = (struct mem_node *) 0xb9b1d50
> (gdb) p mem_find(188747058)
> $2 = (struct mem_node *) 0xb709250
> (gdb) p mem_find(194710960)
> $3 = (struct mem_node *) 0xb9b1d50
>
> I guess that this information is of little value by itself, but I don't
> want to mess up things while trying to get more information.
Thanks. I looked at the dump and checked that what we already know is
correct.
The vector we're trying to mark is in mem_node 0xb9b1d50:
(gdb) set $m = (struct mem_node *) 0xb9b1d50
(gdb) print *$m
$116 = {
left = 0x84b6c20 <mem_z>,
right = 0x84b6c20 <mem_z>,
parent = 0x93b2f08,
start = 0xb9b0d50,
end = 0xb9b1d48,
color = MEM_RED,
type = MEM_TYPE_VECTOR_BLOCK
The contents of the block begin here:
(gdb) set $block = (struct vector_block*) ($m->start)
(gdb) print $block
$122 = (struct vector_block *) 0xb9b0d50
(gdb) set $vector = (struct Lisp_Vector*) $block->data
(gdb) print *$block
$123 = {
data =
"\023\000\000\200\342\210M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\b\201\331p\nJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\bJ\334M\b\006\000\000\314\302\207M\b\201\272\271\fmɏ\v$\000\000\200&\243\060\f\302\207M\b\"_m\b\000\020\000Ax\366\267\f\b\200\000\311]S@\f͞\234\f\325\330M\b\302\207M\b\302\207M\b͞\234\f\302\207M\b\025\016\233\v\302\000\000\000+",
'\000' <repeats 11 times>, "\302\000\000\000+", '\000' <repeats 11
times>, "\061\064:0\002\000\000\200%\016\233\v\245\016\233\vven "...,
next = 0xb9cc2a8
The vector we're trying to mark is 96 bytes inside this block:
(gdb) print (char*)ptr - (char*)$vector
$135 = 96
The first vector in the block is a regular vector with 0x13 elements:
(gdb) print/x $vector->header.size
$156 = 0x80000013
It's 80 bytes long:
(gdb) print header_size + (($vector->header.size &~ ARRAY_MARK_FLAG) *
word_size)
$148 = 80
The next vector in the block is a PVEC_COMPILED:
(gdb) print/x $vector->header.size
$159 = 0xcc000006
It's 32 bytes long, which means that we're trying to mark a pointer into
the middle of the vector.
The clear-transient-map symbol itself, of course, is live. It's
perfectly normal and its value slot is set to Qunbound.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
next prev parent reply other threads:[~2014-04-02 21:50 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-02 7:44 bug#17168: 24.3.50; Segfault at mark_object Nicolas Richard
2014-04-02 15:53 ` Daniel Colascione
2014-04-02 17:59 ` Nicolas Richard
2014-04-02 16:29 ` Dmitry Antipov
2014-04-02 19:46 ` Daniel Colascione
2014-04-02 20:33 ` Daniel Colascione
2014-04-02 20:57 ` Nicolas Richard
2014-04-02 21:50 ` Daniel Colascione [this message]
2014-04-02 23:24 ` Stefan Monnier
2014-04-03 0:28 ` Daniel Colascione
2014-04-02 20:37 ` Eli Zaretskii
2014-04-02 20:40 ` Daniel Colascione
2014-04-02 20:55 ` Eli Zaretskii
2014-04-03 6:59 ` Dmitry Antipov
2014-04-03 7:04 ` Dmitry Antipov
2014-04-03 7:55 ` Daniel Colascione
2014-04-03 9:08 ` Daniel Colascione
2014-04-03 14:03 ` Dmitry Antipov
2014-04-03 15:42 ` Stefan Monnier
2014-04-03 16:47 ` Daniel Colascione
2014-04-03 17:49 ` Dmitry Antipov
2014-04-03 17:51 ` Daniel Colascione
2014-04-03 19:21 ` Stefan Monnier
2014-04-03 19:22 ` Daniel Colascione
2014-04-05 22:37 ` Daniel Colascione
2014-04-06 5:05 ` Dmitry Antipov
2014-04-06 5:11 ` Daniel Colascione
2014-04-06 18:00 ` Richard Stallman
2014-04-06 18:10 ` Daniel Colascione
2014-04-06 19:06 ` Eli Zaretskii
2014-04-07 7:49 ` martin rudalics
2014-04-07 8:18 ` Dmitry Antipov
2014-04-07 9:20 ` martin rudalics
2014-04-06 12:36 ` Stefan Monnier
2014-04-06 15:06 ` Eli Zaretskii
2014-04-06 15:59 ` Daniel Colascione
2014-04-06 16:19 ` Eli Zaretskii
2014-04-06 16:24 ` Daniel Colascione
2014-04-06 16:29 ` Eli Zaretskii
2014-04-06 16:37 ` Daniel Colascione
2014-04-06 16:59 ` Eli Zaretskii
2014-04-06 17:11 ` Daniel Colascione
2014-04-06 19:44 ` Stefan Monnier
2014-04-06 19:42 ` Stefan Monnier
2014-04-06 15:46 ` Daniel Colascione
2014-04-06 19:58 ` Stefan Monnier
2014-04-06 20:13 ` Daniel Colascione
2014-04-06 20:53 ` Daniel Colascione
2014-04-06 21:08 ` Stefan Monnier
2014-04-06 21:37 ` Daniel Colascione
2014-04-07 16:28 ` Stefan Monnier
2014-04-07 19:06 ` Daniel Colascione
2014-04-07 20:42 ` Stefan Monnier
2014-04-08 7:14 ` martin rudalics
2014-04-08 8:47 ` Daniel Colascione
2014-04-06 18:01 ` Richard Stallman
2014-04-06 19:58 ` Stefan Monnier
2014-04-07 16:56 ` Richard Stallman
2014-04-02 20:49 ` Nicolas Richard
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=533C8621.5070805@dancol.org \
--to=dancol@dancol.org \
--cc=17168@debbugs.gnu.org \
--cc=dmantipov@yandex.ru \
--cc=theonewiththeevillook@yahoo.fr \
/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.