[Bug 63942] New: Regeneration of util_expr parser is not parallel-make safe

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug 63942] New: Regeneration of util_expr parser is not parallel-make safe

Bugzilla from bugzilla@apache.org
https://bz.apache.org/bugzilla/show_bug.cgi?id=63942

            Bug ID: 63942
           Summary: Regeneration of util_expr parser is not parallel-make
                    safe
           Product: Apache httpd-2
           Version: 2.5-HEAD
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Build
          Assignee: [hidden email]
          Reporter: [hidden email]
  Target Milestone: ---

Found from a travis build failure -

https://api.travis-ci.org/v3/job/613990109/log.txt

The rules to regenerate util_expr_scan.c util_expr_parse.c util_expr_parse.h
from util_expr_parse.y are not parallel-safe since "make -j2" will potentially
run the rule multiple times in parallel, and the rule uses the outputs as
intermediate files which are modified in-place.

This could potentially be fixed by using unique filenames per invocation (e.g.
with mktemp or similar) though since these files are almost never regenerated
it is possibly not worth the effort.

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Bug 63942] Regeneration of util_expr parser is not parallel-make safe

Bugzilla from bugzilla@apache.org
https://bz.apache.org/bugzilla/show_bug.cgi?id=63942

--- Comment #1 from Joe Orton <[hidden email]> ---
To repro, e.g.

 $ cd server
 $ rm -f util_expr_parse.[ch] util_expr_scan.c
 $ make -j2

if the build works you're lucky, but you'll see bison, flex etc are invoked
twice.

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]