bug-bison
[Top][All Lists]
Advanced

[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/

Attachment: testsuite.log
Description: Binary data

Attachment: testsuite.log.003
Description: Binary data


reply via email to

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