On Fri, Sep 16, 2016 at 08:38:34AM -0500, Bob Friesenhahn wrote:
> On Fri, 16 Sep 2016, László Böszörményi wrote:
> This is all very strange. I am not seeing a problem with the source code.
> I thought that the crash was happening at line 301 of log.c (at
> LockSemaphoreInfo()), and the first use of the timer APIs is at line 318 of
> log.c so this new code should not even be invoked yet.
> As far as I am aware, whole library/program optimization is not in use so
> there should not be intimate coupling between the timer and semaphore code.
It's strange indeed. My best guess is that the semaphore code ends up
subtly corrupting memory, and the timer code just happens to hit the
corruption when compiled in a suitable way.
As to whose bug it is, a compiler / optimizer issue does seem likely.
FWIW I can't figure out the exact optimization flag for semaphore.c
that triggers it; apparently not all optimizations on -O1 have flags of
Ideally this should be distilled into a smaller test case for
a gcc bug while it's reliably reproducible, but I'm not sure
if I have the time for that myself.
László, thanks for working around it for now. Much appreciated.
Niko Tyni nt...@debian.org