From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Miroslav Lichvar Newsgroups: gmane.lisp.guile.devel Subject: Re: `scm_c_read ()' and `swap_buffer' trick harmful Date: Sat, 20 Dec 2008 20:11:54 +0100 Message-ID: <20081220191154.GB32465@localhost> References: <87vduo92nj.fsf@gnu.org> <49dd78620811200522k315281c8m9d952a17145b2479@mail.gmail.com> <871vx6ik42.fsf@gnu.org> <49dd78620811201425j5dcd7e0g4165c8ea4c6b08ce@mail.gmail.com> <87fxllt3f7.fsf@gnu.org> <49dd78620811231430o5f0d6dc7u16c2fbf29b73c57c@mail.gmail.com> <20081219144446.GC20162@localhost> <87myerdia0.fsf@gnu.org> <20081219233256.GA32465@localhost> <87prjmojqw.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1229800332 6737 80.91.229.12 (20 Dec 2008 19:12:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 20 Dec 2008 19:12:12 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Dec 20 20:13:18 2008 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LE7GH-000214-Rv for guile-devel@m.gmane.org; Sat, 20 Dec 2008 20:13:18 +0100 Original-Received: from localhost ([127.0.0.1]:57011 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LE7F5-00080u-Dn for guile-devel@m.gmane.org; Sat, 20 Dec 2008 14:12:03 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LE7F2-00080p-JP for guile-devel@gnu.org; Sat, 20 Dec 2008 14:12:00 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LE7Ez-00080d-Ek for guile-devel@gnu.org; Sat, 20 Dec 2008 14:11:59 -0500 Original-Received: from [199.232.76.173] (port=55604 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LE7Ez-00080a-1p for guile-devel@gnu.org; Sat, 20 Dec 2008 14:11:57 -0500 Original-Received: from mx2.redhat.com ([66.187.237.31]:50817) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LE7Ey-00074c-G2 for guile-devel@gnu.org; Sat, 20 Dec 2008 14:11:56 -0500 Original-Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id mBKJBtQO032019 for ; Sat, 20 Dec 2008 14:11:55 -0500 Original-Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mBKJBoAn018656 for ; Sat, 20 Dec 2008 14:11:55 -0500 Original-Received: from localhost (dhcp-lab-101.englab.brq.redhat.com [10.34.33.101]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id mBKJBnjd019737 for ; Sat, 20 Dec 2008 14:11:49 -0500 Content-Disposition: inline In-Reply-To: <87prjmojqw.fsf@gnu.org> User-Agent: Mutt/1.5.18 (2008-11-24) X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-MIME-Autoconverted: from 8bit to quoted-printable by mx2.redhat.com id mBKJBtQO032019 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7939 Archived-At: On Sat, Dec 20, 2008 at 06:10:31PM +0100, Ludovic Court=E8s wrote: > > #4 0x0000000000638b66 in internal_ly_parse_scm (ps=3D0x7fff2b827bc0)= at parse-scm.cc:43 >=20 > This function reads this: >=20 > SCM form =3D scm_read (port); >=20 >=20 > /* Reset read_buf for scm_ftell. > Shouldn't scm_read () do this for us? */ > scm_fill_input (port); >=20 > The answer to the question here is "yes": `scm_fill_input ()' is really > an internal function (although its name suggests otherwise) and > shouldn't be called directly. When calling `scm_read ()', > `scm_fill_input ()' is called behind the scenes when PORT's buffer need= s > to be refilled. >=20 > Thus, I would suggest removing the call to `scm_fill_input ()'. Can yo= u > tell whether it fixes the problem? Removing the line fixes the crash. Thanks for the help! --=20 Miroslav Lichvar