[bug #56918] endless loop under Darwin if recipe is non_existent_program

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

[bug #56918] endless loop under Darwin if recipe is non_existent_program

Makoto Kato
URL:
  <https://savannah.gnu.org/bugs/?56918>

                 Summary: endless loop under Darwin if recipe is
non_existent_program
                 Project: make
            Submitted by: None
            Submitted on: Wed 18 Sep 2019 08:25:19 PM UTC
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: SCM
        Operating System: POSIX-Based
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

With this Makefile on my Darwin system (MacOS Mojave 18.7.0), make-4.2.91
loops indefinitely and i have to kill -9 (kill -15 is not enough):

% cat Makefile
target:
        echo anything
        non_existent_program
% make
anything
non_existent_program
make: non_existent_program: No such file or directory
make: *** [Makefile;3: target] Error 127
Killed
%

This is also the case with make-4.2.90 but not with make-4.2.1.
Commenting out the line "echo anything" has the same effect (endless loop),
but completely removing this line makes the hang disappear (and 'make' to work
correctly).
Using --disable-posix-spawn also makes the hang disappear in all situations
(it seems).

Regards,

Denis Excoffier.





    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56918>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|

[bug #56918] endless loop under Darwin if recipe is non_existent_program

Makoto Kato
Update of bug #56918 (project make):

             Assigned to:                    None => psmith                

    _______________________________________________________

Follow-up Comment #1:

Hm I can reproduce on GNU/Linux as well.  It seems we get into a state where
we have no children but job_slots_used is not 0 which shouldn't happen.
Thanks for the report I'll look at this tonight.

It's interesting that it doesn't fail if the non-existent operation is the
first one in the recipe.  I think that's why my current regression tests in
this area didn't find this problem.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56918>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|

[bug #56918] endless loop under Darwin if recipe is non_existent_program

Makoto Kato
Update of bug #56918 (project make):

                  Status:                    None => Fixed                  
             Open/Closed:                    Open => Closed                
           Fixed Release:                    None => SCM                    
           Triage Status:                    None => Small Effort          

    _______________________________________________________

Follow-up Comment #2:

I pushed a fix for this issue; it will appear in the next release of GNU
make.

Thanks!

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56918>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make