bugmake - Bugs: bug #42390, fopen-fail fails on Debian...

 
 

bug #42390: fopen-fail fails on Debian GNU/Linux unstable

Submitted by:  Manoj Srivastava <srivasta>
Submitted on:  Mon 19 May 2014 06:23:38 PM UTC  
 
Severity: 3 - NormalItem Group: Bug
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Open
Component Version: 4.1Operating System: POSIX-Based
Fixed Release: NoneTriage Status: None

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 04 Sep 2014 01:56:58 PM UTC, comment #4:

I don't think this works.

it still fails on mips64el, even when I modify another test_timeout to 300 and both to 1300.

It should be just hang, not about timeout.

YunQiang Su <wzssyqa>
Fri 13 Jun 2014 09:21:54 PM UTC, comment #3:

In the Debian BTS, Víctor M. Jáquez L. found the root cause:

> The problem is, if I understand it correctly, the timeout value:


> By default the test timeout (tests/test_driver.pl) is 5 seconds, but in this
> particular test, the timeout is reached before hitting the "too many open
> files" error, which is the expected error. This is the case when the computer
> is not under a heavy load. I changed the variable $test_timeout from 5 to 300
> and I could build the package smoothly.


> # Timeout in seconds. If the test takes longer than this we'll fail it.
> $test_timeout = 300;


Nased on that, I came up with the minimal patch that allows the build to succeed, though I think that hard coding test specific behaviour int he driver is sub optimal. The patch, though, does only reset the timeout for the one single test that needs it. Ideally, there should be a mechanism to specfy a per test timeout.

diff --git i/tests/test_driver.pl w/tests/test_driver.pl
index 2f83270..18d0379 100644
--- i/tests/test_driver.pl
+++ w/tests/test_driver.pl
@@ -419,7 +419,9 @@ sub run_all_tests
{
$categories_run = 0;

+ my $save_timeout = $test_timeout;
foreach $testname (sort @TESTS) {
+ local $test_timeout = $save_timeout;
$suite_passed = 1; # reset by test on failure
$num_of_logfiles = 0;
$num_of_tmpfiles = 0;
@@ -462,6 +464,7 @@ sub run_all_tests
$tests_run = 0;
$tests_passed = 0;

+ if ($testname =~ m{misc/fopen-fail}msx) { $test_timeout = 300; }
# Run the test!
$code = do $perl_testname;

Manoj Srivastava <srivasta>
Mon 26 May 2014 10:57:53 PM UTC, comment #2:

Pardon me for not being clear. What I mean to say is that while I can see the Makefile being used, all it contains is an include directive, which reads in another file. What is not clear to me is what that file contains; and what the recipe being run is. I have tried again, and I get:

Test timed out after 5 seconds
Error running /tmp/test/make-dfsg-4.0/debian/build-make-guile/tests/../make (expected 512; got 14): /tmp/test/make-dfsg-4.0/debian/build-make-guile/tests/../make -f work/misc/fopen-fail.mk

cat debian/build-make-guile/tests/work/misc/fopen-fail.mk
include $(lastword $(MAKEFILE_LIST))

The error, I think, is too many file desciptors open. Qhat do I need to add to help narrow down where the problem might be?

Manoj Srivastava <srivasta>
Mon 19 May 2014 06:32:24 PM UTC, comment #1:

I'm not sure I understand the question "how can I see what the actual Makefile is"... you've shown the actual makefile in your question.

The contents of the .run file is the shell command used to invoke make for that test. You should be able to type that command at the console and get the same behavior (so you can run it in the debugger, etc.) The makefile used is given with the -f flag (here, work/misc/fopen-fail.mk).

Paul D. Smith <psmith>
Project Administrator
Mon 19 May 2014 06:23:38 PM UTC, original submission:

Hi,

This might not be a make bug, but make checkout from git currentlyu fails to build on Debian GNU/Linux. The version that built correcly last week fails on a recent Debian unstable.

I can run a single test (-detail -keep -debug are nice). However, how can I see what the actual Makefile is? I am not sure that the $(MAKEFILE_LIST) variable expands to, so I can dig further into this,

==> fopen-fail.log <==
/tmp/test/make-dfsg-4.0/build/tests/../make -f work/misc/fopen-fail.mk at test_driver.pl line 803.
work/misc/fopen-fail.mk:2: *** Too many open files. Stop.

==> fopen-fail.mk <==

include $(lastword $(MAKEFILE_LIST))

==> fopen-fail.run <==
/tmp/test/make-dfsg-4.0/build/tests/../make -f work/misc/fopen-fail.mk

Manoj Srivastava <srivasta>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by wzssyqa (Posted a comment)
  • -unavailable- added by psmith (Posted a comment)
  • -unavailable- added by srivasta (Submitted the item)
  • -unavailable- added by srivasta (Please keep the CC to -unavailable- so that the debian BTS has a record of the updates here)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 19 May 2014 06:23:38 PM UTCsrivastaCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup