EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025 
<== Date ==> <== Thread ==>

Subject: Re: [Bug 1896295] Re: WIN32: IOC scan loops hang
From: "Johnson, Andrew N. via Core-talk" <core-talk at aps.anl.gov>
To: "Rivers, Mark L." <rivers at cars.uchicago.edu>
Cc: EPICS core-talk <core-talk at aps.anl.gov>
Date: Sun, 21 Feb 2021 18:17:52 +0000
Hi Mark,

On Feb 21, 2021, at 6:21 AM, Mark Rivers <rivers at cars.uchicago.edu> wrote:

Sorry if my post sounded critical, it was not meant that way.

Don’t worry, I didn’t read it like that – as Ralph pointed out, we don’t have a core developer who concentrates on the Windows platform so Windows-only bugs can (and do) sometimes fall through the cracks. Thanks for reminding me that my comment on that bug report was actually wrong.

I also broke Freddie’s code on the older MS compilers with some simplifications I added last night; my latest commit should resolve that I hope.

- Andrew


I agree that confirming that a bug that takes weeks to manifest is difficult to confirm as fixed.  But it seems that a likely solution was identified in the fall, so creating a tag then for a version to use until there was a verified fix might have been possible.

Thanks,
Mark


________________________________
From: Johnson, Andrew N. <anj at anl.gov>
Sent: Saturday, February 20, 2021 10:47 PM
To: Mark Rivers
Cc: EPICS core-talk
Subject: Re: [Bug 1896295] Re: WIN32: IOC scan loops hang

Hi Mark,

We are aiming to have a new release out no later than a week before the Codeathon (which starts March 8th) so the Base work there can be based on that.

My apologies for the problems on Windows, I might not have been the only core developer who forgot that this was still a real issue. If I remember correctly it takes many days for this problem to appear, so this fix that I just merged could not be confirmed as fixed before then could it?

- Andrew

--
Complicity is easy, Simplexity takes real work

On Feb 20, 2021, at 6:33 PM, Mark Rivers via Core-talk <core-talk at aps.anl.gov> wrote:

When will there be a release of 7.0.x that includes this fix?  I don't believe there has actually been a 7.0 release that builds and functions without serious bugs on Windows.

Mark


-----Original Message-----
From: Core-talk <core-talk-bounces at aps.anl.gov> On Behalf Of Andrew Johnson via Core-talk
Sent: Saturday, February 20, 2021 6:18 PM
To: core-talk at aps.anl.gov
Subject: [Bug 1896295] Re: WIN32: IOC scan loops hang

The problem of scan threads hanging was fixed by reversion of the use of monotonic time for timers, but the underlying issue with the monotonic time support on Windows has now been fixed by Freddie's branch.

** Changed in: epics-base
     Status: New => Fix Committed

--
You received this bug notification because you are a member of EPICS Core Developers, which is subscribed to EPICS Base.
Matching subscriptions: epics-core-list-subscription
https://bugs.launchpad.net/bugs/1896295

Title:
WIN32: IOC scan loops hang

Status in EPICS Base:
Fix Committed

Bug description:
The IOC scan loops hung on all IOCs on several computers, on
investigation this looks to be caused by the monotonic clock wrapping.
The values of next and now in dbScan.c / periodicTask() are consistent
with GetTickCount() wrapping (which happens every 49.7 days), which I
believe lead to epicsEventWaitWithTimeout() being called with a large
delay. I was initially confused by the debugger saying a delay of 0
had been passed to epicsEventWaitWithTimeout(), but I cannot see how
this is possible (the minimum delay should be penalty) so I assume the
debugger is reporting incorrectly due to the code being in release
mode.

The epics Monotonic time functions should not normally be using
GetTickCount(), however it looks like the logic in the test for
whether to use GetPerformanceCounter() is inverted and so
GetTickCount() is always used. I will push a patch to fix this, and
also to use GetTickCount64() as a fallback instead (which wraps on a
much longer timescale).

To manage notifications about this bug go to:
https://bugs.launchpad.net/epics-base/+bug/1896295/+subscriptions

-- 
Complexity comes for free, simplicity you have to work for.


References:
[Bug 1896295] Re: WIN32: IOC scan loops hang Andrew Johnson via Core-talk
RE: [Bug 1896295] Re: WIN32: IOC scan loops hang Mark Rivers via Core-talk
Re: [Bug 1896295] Re: WIN32: IOC scan loops hang Johnson, Andrew N. via Core-talk
Re: [Bug 1896295] Re: WIN32: IOC scan loops hang Mark Rivers via Core-talk

Navigate by Date:
Prev: [Bug 1896295] Re: WIN32: IOC scan loops hang Andrew Johnson via Core-talk
Next: Build failed in Jenkins: epics-example-win64 #608 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025 
Navigate by Thread:
Prev: Re: [Bug 1896295] Re: WIN32: IOC scan loops hang Mark Rivers via Core-talk
Next: [Bug 1896295] Re: WIN32: IOC scan loops hang Andrew Johnson via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025 
ANJ, 21 Feb 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·