From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: GC bug investigation Date: Sat, 22 Mar 2014 18:58:17 -0700 Message-ID: <532E3FB9.6040501@dancol.org> References: <532CEDEF.90707@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="SWnVhpMwn2kBEOjJASHwqtGSBWntSSHD7" X-Trace: ger.gmane.org 1395539900 4527 80.91.229.3 (23 Mar 2014 01:58:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 23 Mar 2014 01:58:20 +0000 (UTC) Cc: emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 23 02:58:31 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WRXgD-00042R-46 for ged-emacs-devel@m.gmane.org; Sun, 23 Mar 2014 02:58:29 +0100 Original-Received: from localhost ([::1]:58662 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRXgC-0001GT-61 for ged-emacs-devel@m.gmane.org; Sat, 22 Mar 2014 21:58:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42966) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRXg8-0001GM-LH for emacs-devel@gnu.org; Sat, 22 Mar 2014 21:58:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WRXg7-0003sV-A5 for emacs-devel@gnu.org; Sat, 22 Mar 2014 21:58:24 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:41322) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRXg5-0003ry-IT; Sat, 22 Mar 2014 21:58:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=wt6usTMpRhC1wrd/eGlKIQYeE7dh3rSZKKk0saVnL54=; b=a3hpSO2TWx1mEx5rt91G1SMMNKEZwUQg1hEX5bViI56jmulYCKC+P9PUzFIEemDt/b1bgjg87YWgaXuN39vF1y1X9zfDbCO8Q99lyadJX88tHzaC8Uh/OAaOiQ89OU5RKQPD+JncADSFN7D7KpcgMYedDL6nVrM1BP2U30JFORQr3A70b/akMxn/ffA/rifMhNTLfcu4CJgMvUqZW/uvcy1Ov94k9FeHZBsxUWDC/x3eik/27gBvbZ8a+uADREJ7jBiW60UXJWsz2TRcX5fwzqTjSJ/BOBnNNz/YHD7AYecUGLD5VAKzSQnlIESqZJLV6+ffadhblHaEHOup4z83ww==; Original-Received: from [2601:8:b200:551::2b1] by dancol.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1WRXg4-00089S-88; Sat, 22 Mar 2014 18:58:20 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 In-Reply-To: X-Enigmail-Version: 1.6 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:170827 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --SWnVhpMwn2kBEOjJASHwqtGSBWntSSHD7 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable On 03/22/2014 04:57 PM, Richard Stallman wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] >=20 > Richard, it would be very helpful if you could provide either a rec= ipe > for reproducing your crash=20 >=20 > I agree, it would be very helpful if I could. But I can't. >=20 > or an actual crash dump (not your > paraphrasing of the stack trace). >=20 > If someone tells me a GDB command to make one, maybe I can do so. As Eli mentioned, you can use the "gcore" gdb command. > hesitate to show it to anyone. And I don't think it would be useful. I understand; I'd also be hesitant to share a dump. But being able to instruct you to examine the dump in various ways would be very useful, especially if we add debug instrumentation. > I don't think any more information can be extracted at the time > it crashes. Details of the objects on the path might be useful. In prior messages about this bug, you focus on stack slots. I don't think that's useful, as a conservative GC ought to operate properly using arbitrary inputs as temporary roots. I want to know exactly where we crash and in what manner, as I explained on another thread. For clarity: you mention "[the crash was in] mark_object called from mark_vectorlike called from mark_object called from mark_object (marking that symbol)." I interpret this text as meaning "some instruction in mark_object faulted", with the top of the execution stack looking like th= is: mark_object(A) mark_vectorlike(B) mark_object(B) mark_object(clear-transient-map) B here is clear-transient-map's function cell, right? You're saying you saw that it's a pseudovector that safe_debug_print reports as INVALID_LISP_OBJECT, probably because live_vector_p returns 0. That we're reaching B at all indicates that it shouldn't be dead. clear-transient-map isn't dead either, although double-checking would be nice. That's why the symbol_free_list->function =3D Vdead code did nothin= g. B must have been made dead *before* being assigned to clear-transient-map's function cell. Looking at the bytecode in set-transient-map, though, I don't see how that's possible. Can you try running with -DGC_CHECK_MARKED_OBJECTS=3D1 in your CFLAGS? I don't think that writing code that aborts or breaks when a particular vector is freed will be very helpful; we'll hit that code in normal operation too. Instead, it'll probably be more useful to print a backtrace (using emacs_backtrace) each time we see that vectorlike freed, then look at the last backtrace before the GC crash. --SWnVhpMwn2kBEOjJASHwqtGSBWntSSHD7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTLj+5AAoJEMAaIROpHW7I1AAP/RwW7bruKhNJ1gOHMt2ofBXA QhZqgviWP9z1hNSw1umaBJag36WUJXvkjpniqdMflGbxLXn0yA2juvmKeQb3sYx0 qLx4sz5Zb8FKJ7/E0uQNGMr7z/4rNQnB0Eyg5fG7QKytD7XiCBBaa+yAQk/aTMmZ aj90LxBxCPDrG81kVX4LW/AmlllBpj2HGC+kLX0vTaSIXjNntvrumf9C2JFOQ/P3 EBTubmFoe++acoVj5VBwYjWHAcYsPCXcH/5qcYqqcvEDdZ27Y5dyF5SmJZ7hjT5z TO41z2hTDPl7iAG0KwA1q+mt6ljYlbg5RNv36uv3yOHHib6LRtNatNKSjfZ160I6 0ARLH66I2aFn/6nMZlgc4Cq1AfOtIoORwOoTkqwWjEiJMexT5xBHBrA7dAJx8iJk /vo1rQwlVI+btCotNN2KDmGZkY4SdUOMZOSaM1QSDT762xImLxY10tUzUXKapqvh qAgNWrEwepKXyhHGE2uMTl6uB1mGwjDD64FOcB/nT3oLgDtPmAyH4QZnCca26Fsm oBjqYGlSgePO/b0q1kouC6ag0AKp9Upuft0p6qsVJ6fXHRORR6gq8zi+olzxLjsV ZJwXXgIuRNSUREuLSaQl+knE1cSf8mxbH50AY76SKkAzK6o1FpjaySzWZPtSFfVB f4z9d0TsNEz5eYDCOjsc =9M3C -----END PGP SIGNATURE----- --SWnVhpMwn2kBEOjJASHwqtGSBWntSSHD7--