This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ASSERT: cyg_callout_reset() We didn't pick the smallestdelta!


On Wed, 2002-11-27 at 16:37, Kevin Hilman wrote:
> Gary Thomas <gthomas@ecoscentric.com> writes:
> 
> > > Nope, my last update was Nov 6.  However, now I've merged the latest
> > > CVS, and this assert goes away.  Now I'm consistently hitting the
> > > assert below, the "delta is right now" one.
> > > 
> > 
> > Harrumph!  I've never seen that one.  Maybe you could detect this case
> > and print some data so we can analyze the failure (asserts are nice, but
> > sometimes one needs more).  Something like this:
> >   if (delta <= 0) {
> >      diag_printf("Bad delta: %d, callout: %p, fun: %p(%x)\n", delta, c, f, p);
> 
> This run shows a failure with your suggested diag_printf().  I've also
> included some relevant parts of 'nm'
> 

I'm still not sure why this fails.  Two more things to try:
  * Change the 'assert' to be CYG_ASSERT(0 <= delta, ...)
  * Print one more piece (using the previos setup/test)
    diag_printf("Called from %p\n", __builtin_return_address(0));

BTW - What sort of platform is this?

-- 
------------------------------------------------------------
Gary Thomas                  |
eCosCentric, Ltd.            |  
+1 (970) 229-1963            |  eCos & RedBoot experts
gthomas@ecoscentric.com      |
http://www.ecoscentric.com/  |
------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]