On Sun, Jul 05, 2009 at 06:09:13PM -0400, Tavanyar, Simon wrote:
> This looks like a very hard bug to reproduce.

Yes.

> I'm reluctantly going to
> recommend "Ignore for now". 

Can you please use hb_report and file a bugzilla so that we don't
forget about it.

Thanks,

Dejan

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Lars Ellenberg
> Sent: Thursday, July 02, 2009 8:17 AM
> To: [email protected]
> Subject: Re: [Linux-HA] [patch] clock_t wrapped aroundcausingfalse
> resourcestart failure
> 
> On Thu, Jul 02, 2009 at 11:00:08AM +0200, Dejan Muhamedagic wrote:
> > >         if (cmp_longclock(lnow, append->nexttime) >= 0)
> > > assuming that nexttime was set correctly, and lnow is correct, too,
> > > and further assuming your clock_t is only 32 bit,
> > > longclock_t is defined as unsigned long long,
> > > and that thing becomes:
> > > 
> > >         if ((unsigned long long)(lnow) >= (unsigned long
> long)(append->nexttime))
> > > 
> > > which exactly does _NOT_ care for wrap around :(
> > > 
> > > 
> > > example:
> > >   say, you start with a _large_ lnow (e.g. the equivalent of "-15
> > 
> > But you can't start with large lnow. lnow is 64-bit and you can't
> > get that far into the future.
> 
> Hm. Right.
> 
> Then maybe something else is wrong, like some wrong typecast?
> int i = -300000;
> unsigned long long l_wrong = i;
> unsigned long long l_right = (unsigned long long)(unsigned int)i;
> 
> l_wrong is now "very far" into the future,
> and my patch would fix the comparison of that.
> 
> whereas l_right is just below 2<<32, and will compare fine in 64 bit
> wide unsigned long long, with the existing code.
> 
> Simon: can you help to track this down?  Which exact "platform" is this
> on, heartbeat version, configure and compiler flags...
> You could also try to start this in a VM, and try to reproduce?
> 
> Or shall we just ignore this for now?
> 
> -- 
> : Lars Ellenberg
> : LINBIT | Your Way to High Availability
> : DRBD/HA support and consulting http://www.linbit.com
> 
> DRBD(r) and LINBIT(r) are registered trademarks of LINBIT, Austria.
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to