WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Xentrace: Avoid Crash on Debug Build Xen

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] [PATCH] Xentrace: Avoid Crash on Debug Build Xen
From: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Date: Fri, 5 Oct 2007 17:21:06 +0100
Cc: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx>
Delivery-date: Fri, 05 Oct 2007 09:22:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <47059954.8010009@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <47059954.8010009@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.6
Hi there,

diff -r 2d761ca771fb xen/common/trace.c
--- a/xen/common/trace.c        Thu Oct 04 17:58:16 2007 +0100
+++ b/xen/common/trace.c        Fri Oct 05 10:28:33 2007 +0900
@@ -435,12 +435,10 @@ void __trace_var(u32 event, int cycles, 
         {
             bytes_to_wrap -= LOST_REC_SIZE;
             if ( bytes_to_wrap == 0 )
-                bytes_to_wrap == data_size;
+                bytes_to_wrap = data_size;

Good catch!

         }
         total_size += LOST_REC_SIZE;
     }
-
-    ASSERT(bytes_to_wrap == calc_bytes_to_wrap(buf));
 
     if ( rec_size > bytes_to_wrap )
     {
@@ -484,8 +482,6 @@ void __trace_var(u32 event, int cycles, 
         insert_lost_records(buf);
     }
 
-    ASSERT(bytes_to_wrap == calc_bytes_to_wrap(buf));
-

> Current xen-unstable (debug build) crashes when using xentrace command,
> due to assertion failures. It seems assertion failures occur whenever
> there exist lost records, and I don't see much reason to do this.
> (Could anyone explain about these ASSERT lines ?)

These asserts appear to have originally been checking that bytes_to_wrap is 
being calculated correctly...  It looks to me that the first assert 
isoutdated though, because it clearly will fail if a record is lost.

Perhaps the second one ought to succed though, since the value of buf->prod 
will have been appropriately updated by insert_lost_records()?

Cheers,
Mark

> The attached patch removes assertions to avoid system crashes,
> and also fixes a mistake of an assignment statement.
>
> Regards,
> -------------------
> Yosuke Iwamatsu
>         NEC Corporation



-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>