From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13957 invoked by alias); 14 Sep 2009 18:21:44 -0000 Received: (qmail 13944 invoked by uid 22791); 14 Sep 2009 18:21:43 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-2.vmware.com (HELO smtp-outbound-2.vmware.com) (65.115.85.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 14 Sep 2009 18:21:40 +0000 Received: from mailhost2.vmware.com (mailhost2.vmware.com [10.16.67.167]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id 1B3988000; Mon, 14 Sep 2009 11:21:39 -0700 (PDT) Received: from [10.20.94.141] (msnyder-server.eng.vmware.com [10.20.94.141]) by mailhost2.vmware.com (Postfix) with ESMTP id EAF758E7D5; Mon, 14 Sep 2009 11:21:38 -0700 (PDT) Message-ID: <4AAE89C5.1030203@vmware.com> Date: Mon, 14 Sep 2009 18:21:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Pedro Alves CC: Marc Khouzam , "'gdb@sourceware.org'" , 'Greg Law' , 'Hui Zhu' , 'gdb-patches ml' Subject: Re: PRecord sets memory even when it says it did not References: <200909141901.08651.pedro@codesourcery.com> <4AAE8492.6060503@vmware.com> <200909141915.07943.pedro@codesourcery.com> In-Reply-To: <200909141915.07943.pedro@codesourcery.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-09/txt/msg00433.txt.bz2 Pedro Alves wrote: > A Monday 14 September 2009 18:59:46, Michael Snyder escreveu: >> Pedro Alves wrote: >>> On Monday 14 September 2009 18:53:51, Marc Khouzam wrote: >>>>> -----Original Message----- >>>>> From: Pedro Alves [mailto:pedro@codesourcery.com] >>>>> Sent: Monday, September 14, 2009 1:50 PM >>>>> To: gdb@sourceware.org >>>>> Cc: Greg Law; Hui Zhu; Marc Khouzam; Michael Snyder; gdb-patches ml >>>>> Subject: Re: PRecord sets memory even when it says it did not >>>>> >>>>>> Could this be related to the caching changes that have happened >>>>>> recently? i.e. does the cache get updated even though the >>>>> underlying >>>>>> poke operation failed? If so, this issue would seem to be >>>>> wider than >>>>>> just prec (and wider than reverse, too). >>>>> If so, then there's an easy way to find out: try again with >>>>> "set stack-cache off". >>>>> >>>> Yes, that seems to fix everything. >>> Then I'd suspect either a bug dcache_xfer_memory, or a missing >>> target_dcache_invalidate/dcache_invalidate call somewhere. >> I'm not too familiar with this dcache. >> Is it up to the target to_xfer_memory method >> to invalidate it before erroring out? > > No. dcache_xfer_memory tries to handle it itself already, with > dcache_invalidate_line, but there's probably a bug over there, which > should be easy to catch stepping through dcache_xfer_memory in the > offending case. Note that it is dcache_xfer_memory > that calls the target to_xfer_memory routine, not > memory_xfer_partial. > Umm, that last sentence does not seem to be true. 1) I can see the call to ops->to_xfer_partial in memory_xfer_partial src 2) I've got a backtrace right here showing record_xfer_partial called by memory_xfer_partial.