octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Race condition in doc build


From: Rik
Subject: Re: Race condition in doc build
Date: Fri, 31 Jul 2015 09:30:03 -0700

On 07/31/2015 09:00 AM, address@hidden wrote:
Subject:
Re: possible doc race condition - ideas or insight?
From:
Mike Miller <address@hidden>
Date:
07/31/2015 04:57 AM
To:
Octave Maintainers <address@hidden>
List-Post:
<mailto:address@hidden>
Content-Transfer-Encoding:
8bit
Precedence:
list
MIME-Version:
1.0
References:
<address@hidden>
In-Reply-To:
<address@hidden>
Message-ID:
<address@hidden>
Content-Type:
text/plain; charset=utf-8
Message:
4

On Fri, Jul 31, 2015 at 07:32:34 -0400, Mike Miller wrote:
> if I make those targets individually. But I have not yet triggered the
> failure shown above with my own parallel builds.
I have now been able to reproduce this race condition by going lower and
calling two instances of the font compilation command that the other TeX
commands call implicitly:

  $ ( mktexpk --mfmode ljfour --bdpi 600 --mag 1+3/600 --dpi 603 ecti1095 \
      >& log1 || echo FAIL ) & \
    ( mktexpk --mfmode ljfour --bdpi 600 --mag 1+3/600 --dpi 603 ecti1095 \
      >& log2 || echo FAIL )
  FAIL
  $ cat log1
  mkdir: cannot create directory ‘././home/mike/.texmf-var/fonts/pk/ljfour’: File exists
  mktexpk: /usr/share/texlive/texmf-dist/web2c/mktexdir /home/mike/.texmf-var/fonts/pk/ljfour/jknappen/ec failed.

So yes there is a race condition with parallel builds of *.ps and *.pdf.

Thanks for your attention :)
Mike,

The race condition is supposed to be resolved by the following rule in doc/interpreter/Makefile.am

-- Snip --
## The texi2dvi script (used to create both PDF and DVI output formats)
## uses some fixed temporary file names.  In order to avoid a race condition
## the DVI and PDF builds are forced to run serially through a Makefile rule.
octave.pdf: octave.dvi
-- End Snip --

This may need to be amended to depend on octave.ps as well.  Theoretically, that should be enough since octave.ps is created through dvips which will require building octave.dvi first.  But maybe it is safer to have octave.pdf depend on BOTH octave.dvi and octave.ps.

--Rik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]