From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: Patches for wip-rtl Date: Mon, 22 Apr 2013 22:39:54 +0200 Message-ID: <871ua2jo4l.fsf@pobox.com> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1366663217 9243 80.91.229.3 (22 Apr 2013 20:40:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Apr 2013 20:40:17 +0000 (UTC) Cc: guile-devel To: Noah Lavine Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Apr 22 22:40:20 2013 Return-path: Envelope-to: guile-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 1UUNX7-0005Bi-J2 for guile-devel@m.gmane.org; Mon, 22 Apr 2013 22:40:17 +0200 Original-Received: from localhost ([::1]:43117 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UUNX6-0006Ft-WE for guile-devel@m.gmane.org; Mon, 22 Apr 2013 16:40:17 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:45850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UUNX1-0006Bu-JU for guile-devel@gnu.org; Mon, 22 Apr 2013 16:40:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UUNX0-00054y-7h for guile-devel@gnu.org; Mon, 22 Apr 2013 16:40:11 -0400 Original-Received: from a-pb-sasl-quonix.pobox.com ([208.72.237.25]:47102 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UUNX0-00054o-43 for guile-devel@gnu.org; Mon, 22 Apr 2013 16:40:10 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 59831CBDA; Mon, 22 Apr 2013 16:40:09 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=/3RQidbC+QDRJVcVOWQubpMWav4=; b=kZpsdG xt0B5ucJNvPZ0eDie9oohq/dnp9D1Glwxz0klcTFoNSOuajqtAg35IYOkHa+NCdz nzymIWSbn/1n0CgF7T+mBQi8w7nDZ7hkHhZiz/hK9an/Nt4KgkHkIiOlpMvWVIxC j84GgPUNjEnarpeRVI4VJ8wrfx4ksF7pKJits= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=dnTLdQ2kT8CtcmilLgUoy1lxMvbEeywJ 6BMi5lGh8jF6PfjpjukVtz8BT3mP0/DRiVqNMQ5uOCqT5wN0y83tbZK20GSPcjPS pMKFmZZXZ5QQUpT/glgK7DVOegcLIMwKydINU5Jld330MFSD4SUrsN7oyEenZSg5 UyiPPvrHitY= Original-Received: from a-pb-sasl-quonix.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 046D8CBD6; Mon, 22 Apr 2013 16:40:08 -0400 (EDT) Original-Received: from badger (unknown [88.160.190.192]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 8FD80CBD5; Mon, 22 Apr 2013 16:39:57 -0400 (EDT) In-Reply-To: (Noah Lavine's message of "Sat, 20 Apr 2013 19:30:55 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) X-Pobox-Relay-ID: CBC7E236-AB8C-11E2-A9C7-C8310E5B5709-02397024!a-pb-sasl-quonix.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 208.72.237.25 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:16287 Archived-At: Hi :) Thanks for working on the RTL VM! First of all, sorry about that linker error. I'm trying to make RTL programs more debuggable by hacking on the linker, so that it emits proper debugging information. I should have caught that typo though! I think however that the strategy of making the VM somehow more resilient is not going to work. There are so many ways that invalid instructions can make the VM fail -- and you have no idea what you can rely on if those invariants fail. So it doesn't seem to me that it's possible to do that job well at all, and for that reason it seems to me that we shouldn't try very hard. So my answer for dealing with VM issues would be to try to narrow down the problem, then use instruction-level traps to print instructions as you go. Once you find the problem you probably won't be able to recover; oh well. At least you would know how you got there. And I don't know how you've been able to get as far as you have with the deplorable state of the debugging infrastructure. You can't even disassemble a function you just made! I'll be working on that this week; we'll see what happens. So in summary, dunno. Surely there is some way we can do things better, but I wanted to register my skepticism for this line of hacking. What do you think? Cheers, Andy -- http://wingolog.org/