[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A bit more info about hanging bison on tru64 5.1b
From: |
Didier Godefroy |
Subject: |
Re: A bit more info about hanging bison on tru64 5.1b |
Date: |
Thu, 25 Jun 2009 10:08:27 +0200 |
User-agent: |
Microsoft-Entourage/12.19.0.090515 |
on 6/24/09 12:46 PM, Akim Demaille at address@hidden uttered the
following:
> Actually, it was accepted. You attached several files, but not the
> testsuite.log file, which is the most important one.
Oops!!!
Sending it now.
> Could you please run
>
> make check TESTSUITEFLAGS='-d -v 3' </deb/null
>
> and send the result back? There are two sets of tests in test 3, and
> I don't know which one failed.
Maybe the first one I guess.
I had to kill the hung process again, which is why it says the test failed.
If I leave it alone, it keeps one cpu pegged to nearly 100% forever. I've
tried leaving it a very long time before to find out for sure, it ran a good
part of a day, then overnight and then again for hours the next day and
nothing happened, I just killed that process.
> It will display the command that were run, typically
>
> bison input.y
That's the one.
I'm attaching the testsuite.log from the 003 folder as well.
Here is the output of:
gmake check TESTSUITEFLAGS='-d -v 3' </dev/null
gmake check-recursive
gmake[1]: Entering directory `/usr/local/bison/bison-2.4.1'
Making check in build-aux
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/build-aux'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/build-aux'
Making check in po
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/po'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/po'
Making check in runtime-po
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/runtime-po'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/runtime-po'
Making check in lib
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/lib'
gmake check-recursive
gmake[3]: Entering directory `/usr/local/bison/bison-2.4.1/lib'
gmake[4]: Entering directory `/usr/local/bison/bison-2.4.1/lib'
gmake[4]: Nothing to be done for `check-am'.
gmake[4]: Leaving directory `/usr/local/bison/bison-2.4.1/lib'
gmake[3]: Leaving directory `/usr/local/bison/bison-2.4.1/lib'
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/lib'
Making check in data
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/data'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/data'
Making check in src
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/src'
gmake check-am
gmake[3]: Entering directory `/usr/local/bison/bison-2.4.1/src'
gmake[3]: Nothing to be done for `check-am'.
gmake[3]: Leaving directory `/usr/local/bison/bison-2.4.1/src'
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/src'
Making check in doc
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/doc'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/doc'
Making check in examples
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/examples'
Making check in calc++
gmake[3]: Entering directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake check-am
gmake[4]: Entering directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake calc++
gmake[5]: Entering directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake[5]: `calc++' is up to date.
gmake[5]: Leaving directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake check-TESTS
gmake[5]: Entering directory `/usr/local/bison/bison-2.4.1/examples/calc++'
PASS: test
==================
All 1 tests passed
==================
gmake[5]: Leaving directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake[4]: Leaving directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake[3]: Leaving directory `/usr/local/bison/bison-2.4.1/examples/calc++'
gmake[3]: Entering directory `/usr/local/bison/bison-2.4.1/examples'
gmake[3]: Nothing to be done for `check-am'.
gmake[3]: Leaving directory `/usr/local/bison/bison-2.4.1/examples'
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/examples'
Making check in tests
gmake[2]: Entering directory `/usr/local/bison/bison-2.4.1/tests'
gmake bison
gmake[3]: Entering directory `/usr/local/bison/bison-2.4.1/tests'
gmake[3]: `bison' is up to date.
gmake[3]: Leaving directory `/usr/local/bison/bison-2.4.1/tests'
gmake check-local
gmake[3]: Entering directory `/usr/local/bison/bison-2.4.1/tests'
/bin/bash ./testsuite -d -v 3
## --------------------------- ##
## GNU Bison 2.4.1 test suite. ##
## --------------------------- ##
3. input.at:161: testing ...
./input.at:162: bison input.y
And then, that's where I killed the process.
And here's what came after:
25a26
> /usr/local/bison/src/src/bison: subsidiary program `/usr/bin/gm4' failed
./input.at:162: exit code was 1, expected 0
3. input.at:161: FAILED (input.at:162)
## ------------- ##
## Test results. ##
## ------------- ##
ERROR: 1 test was run,
1 failed unexpectedly.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##
Please send `tests/testsuite.log' and all information you think might help:
To: <address@hidden>
Subject: [GNU Bison 2.4.1] testsuite: 3 failed
gmake[3]: *** [check-local] Error 1
gmake[3]: Leaving directory `/usr/local/bison/bison-2.4.1/tests'
gmake[2]: *** [check-am] Error 2
gmake[2]: Leaving directory `/usr/local/bison/bison-2.4.1/tests'
gmake[1]: *** [check-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/bison/bison-2.4.1'
gmake: *** [check] Error 2
> input.y is actually tests/testsuite.dir/003/input.y. It would be most
> useful if you could try to make it as small as possible while
> preserving the bug (eliminate each a:, b: etc. line). To run Bison on
> the test, run
>
> ./tests/bison tests/testsuite.dir/003/input.y
./tests/bison tests/testsuite.dir/003/input.y
tests/testsuite.dir/003/input.y:11.10-32: warning: unset value: $$
tests/testsuite.dir/003/input.y:11.10-32: warning: unused value: $1
tests/testsuite.dir/003/input.y:11.10-32: warning: unused value: $3
tests/testsuite.dir/003/input.y:11.10-32: warning: unused value: $5
tests/testsuite.dir/003/input.y:12.9: warning: empty rule for typed
nonterminal, and no action
tests/testsuite.dir/003/input.y:13.10-59: warning: unset value: $$
tests/testsuite.dir/003/input.y:13.10-59: warning: unused value: $3
tests/testsuite.dir/003/input.y:13.10-59: warning: unused value: $5
tests/testsuite.dir/003/input.y:14.10-47: warning: unset value: $$
tests/testsuite.dir/003/input.y:14.10-47: warning: unused value: $3
tests/testsuite.dir/003/input.y:14.10-47: warning: unused value: $5
tests/testsuite.dir/003/input.y:15.10-36: warning: unset value: $$
tests/testsuite.dir/003/input.y:15.10-36: warning: unused value: $3
tests/testsuite.dir/003/input.y:15.10-36: warning: unused value: $5
tests/testsuite.dir/003/input.y:17.10-58: warning: unset value: $$
tests/testsuite.dir/003/input.y:17.10-58: warning: unused value: $1
tests/testsuite.dir/003/input.y:17.10-58: warning: unused value: $3
tests/testsuite.dir/003/input.y:17.10-58: warning: unused value: $5
tests/testsuite.dir/003/input.y:18.10-72: warning: unset value: $$
tests/testsuite.dir/003/input.y:18.10-72: warning: unused value: $1
tests/testsuite.dir/003/input.y:18.10-72: warning: unused value: $3
tests/testsuite.dir/003/input.y:18.10-72: warning: unused value: $5
tests/testsuite.dir/003/input.y:21.10-68: warning: unset value: $$
tests/testsuite.dir/003/input.y:21.10-68: warning: unused value: $1
tests/testsuite.dir/003/input.y:21.10-68: warning: unused value: $2
I had to kill the process here.
And here's the out put after the kill:
src/bison: subsidiary program `/usr/bin/gm4' failed
I didn't know exactly how to "eliminate" the lines a: b: and such. Removing
one line caused an error, so I did for each line the same as for the b:
line, putting comments and after adding one at a time, I ended up with all
commented:
a: INT | /*INT { } INT { } INT { }*/;
b: INT | /* empty */;
c: INT | /*INT { $1 } INT { $<integer>2 } INT { $<integer>4 }*/;
d: INT | /*INT { } INT { $1 } INT { $<integer>2 }*/;
e: INT | /*INT { } INT { } INT { $1 }*/;
f: INT | /*INT { } INT { } INT { $$ = $1 + $3 + $5; }*/;
g: INT | /*INT { $<integer>$; } INT { $<integer>$; } INT { }*/;
h: INT | /*INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT {
}*/;
i: INT | /*INT INT { } { $$ = $1 + $2; }*/;
j: INT | /*INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }*/;
k: INT | /*INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }*/;
l: INT | /*INT { $<integer>$ = $<integer>1; } INT { $<integer>$ =
$<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5;
}*/;
And the hang still occurs.
> to be sure you're using the bison from the tarball. Possibly with the
> flag --warnings=midrule-values if it's the second run that has problems.
I'm sure it's using the bison from the tarball because I disabled the system
wide one because it has that problem. There is no bison now in the path.
In the tests/testsuite.dir/003 folder, the run program contains this:
#! /bin/sh
test "${ZSH_VERSION+set}" = set && alias -g '${1+"$@"}'='"$@"'
cd '/usr/local/bison/src/tests'
exec ${CONFIG_SHELL-/bin/bash} "/usr/local/bison/src/tests/./testsuite" -v
-d 3 ${1+"$@"}
exit 1
I don't know what to try next..
Thanks,
--
Didier Godefroy
mailto:address@hidden
Support anti-Spam legislation.
Join the fight http://www.cauce.org/
testsuite.log
Description: Binary data
testsuite.log.003
Description: Binary data