Yosuke Iwamatsu
2007-Oct-05 01:54 UTC
[Xen-devel] [PATCH] Xentrace: Avoid Crash on Debug Build Xen
Hi there,
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 ?)
The attached patch removes assertions to avoid system crashes,
and also fixes a mistake of an assignment statement.
Regards,
-------------------
Yosuke Iwamatsu
NEC Corporation
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Mark Williamson
2007-Oct-05 16:21 UTC
Re: [Xen-devel] [PATCH] Xentrace: Avoid Crash on Debug Build Xen
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@lists.xensource.com
http://lists.xensource.com/xen-devel
Yosuke Iwamatsu
2007-Oct-09 01:47 UTC
[Xen-devel] [PATCH] Xentrace: Avoid Crash on Debug Build Xen
Mark Williamson wrote:> } > 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()?Indeed the second assert seems to always succeed.> > 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 > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel