> < ^ Date: Mon, 09 Sep 2002 15:17:14 +0100
> < ^ From: Steve Linton <sal@dcs.st-and.ac.uk >
> ^ Subject: BugFix2 (corrected announcement)

Dear GAP Forum,

The announcement of bugfix 2 sent a short while ago was unfortunately
truncated by one of our mail handling programs. Here is the full version:

This is to announce bugfix number 2 for GAP 4.3. The priority of this fix
is high.

You should not apply this fix to any version of GAP before GAP 4.3. (If you
run such an old version, please update to GAP 4.3 (and this bugfix) as
release 4.3 corrects many problems.)
GAP Bugfixes now are comprehensive. If you forgot to install prior bugfixes,
you do only need to install this, and no prior ones.

This fix corrects:

1) A segmentation fault when appending to a length 0 compressed vector
over GF2.
2) An error in the computation of inverses in quaternion algebras with
non-standard parameters.
3) The result of 'ProjectiveSymplecticGroup(n,q);'.
4) `GeneratorOfCyclicGroup' for a trivial pc group.
5) A problem in backtrack routines using `Suborbits' if the group has
fixed points in the range [1..max(Omega)].
6) A problem with `CharacterTableDirectProduct' if exactly one argument
is a Brauer table.
7) Problems with `IntScalarProduct' and `NonnegIntScalarProducts'
if the third argument is not a plain list (this situation does not occur
in GAP library functions).
8) A Problem with GQuotient
9) A problem with the linear algebra methods for Lie algebra cohomology.
10) A Problem with requesting transitive groups of degree including 1
11) A Problem with inverting lists of compressed vectors over fields
of order greater than 2.
12) An error in computing whether an element is in a Green's D equivalence
class or not.
13) A missing method for `MovedPoints(<perm>)'
14) The method IsGreensLessThanOrEqual should work for Green's D classes for
finite groups.
15) The method GroupHClassOfGreensDClass was not implemented and is required
for the Rees Matrix methods.
16) The methods AssociatedReesMatrixSemigroupOfDClass, IsZeroSimpleSemigroup,
IsomorphismReesMatrixSemigroup, and SandwichMatrixOfReesZeroMatrixSemigroup
all create Greens classes using obsolete methods which for some semigroups
leads to infinite recursion or causes GAP to stop with an error message.
17) A problem with `CentralizerModulo' for permutation groups.
18) A wrong name for PGL(2,49) in the primitive groups library of degree 50
19) An error in IdGroup
20) A missing `Representative' method for certain trivial groups.
21) A missing setting of `IndicesNormalSteps'

Error 1 causes GAP to crash.
Errors 2, 7, 18, 19 and 21 may lead to wrong results.
Error 3 GAP returned the action on lines over GF(q^2) instead of GF(q)
(which was wrong according to the documentation).
Errors 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, and 20 will cause GAP
to stop with an error message.
Errors 8 and 16 might lead GAP to run in an infinite recursion.

Many thanks to:

Felix Noeske and Juergen Mueller for reporting problem 1.
Harm Pralle for reporting error 3.
Peter Mueller for reporting error 4.
Kurt Ewald for reporting error 5.
Kimball Martin for reporting error 8.
Ignat Soroko for reporting error 9 and 19.
James Davenport for reporting error 10.
Marco Constantini for reporting error 11.
Andrew Solomon for reporting error 12.
Andries Brouwer and Bill Thurston for reporting error 13.
J"urgen Ecker for reporting error 17.

The following errors were corrected in earlier bugfixes, which are
incorporated into this one.

Errors corrected in BugFix 1

1) A bug in the handling of Processes with empty input or output streams.
2) An error in the function for computing quotients of algebra modules.
3) An error in computing the strongly connected components of a binary
relation in which incorrect results can be returned.
4) A "no method found" error in OrbitStabilizerAlgorithm for infinite
groups.
5) Calculation of iterated automorphism groups might stop with an error message.
6) A segmentation fault when converting length 0 compressed vectors to
larger fields
7) The output of the internal pager (see 'Pager') is no longer copied to
log files.
8) Some memory is not freed up as soon as it could be, resulting in
over-use of memory and over-large saved workspaces
9) Saving and loading a workspace using a kernel containing a
statically loaded user module (most likely a compiled GAP file)
did not work.
10) Problems with EulerianFunction for certain types of groups

Installing the bugfix.
======================

Load the zoo archive `fix4r3n2.zoo' from the bugfixes web page
http://www-gap.dcs.st-and.ac.uk/~gap/Info4/bugfixes.html
Alternatively you can find this file in the `bugfixes' directory of the
GAP4 ftp distribution.

Unpack the file in the home directory of your GAP distribution (the
directory containing the `lib' and `grp' directories) using `unzoo -x
fix4r3n2.zoo'. `unzoo' may ask you for permissions to overwrite files,
answer this with Y)es or A)ll. This will replace the erroneous files by
fixed versions.

(On a PC or a Mac you will have to copy `unzoo' in the same directory and
enter the argument line after the call to `unzoo'.)
Make sure you have write permissions when applying the fix.

This fix changes the kernel. You have to recompile by calling `make' in the
directory in which you unpacked the fix.

Windows users can find a new binary in the file `wbin4r3n2.zoo' in the
`bugfixes' directory: Extract this archive in the same place as the fix
archive to get a new `bin/gapw95.exe' file.

Macintosh users should download the file 'bin4r3n2-PPC.sit' (for PPC
machines) or 'bin4r3n2-68k.sit' (for 68k machines), from the 'bugfixes'
directory.

If you get one of these precompiled binaries you do not need to get any
precompiled binaries that would have come with earlier fixes (these old
binaries are obsolete now). Similarly, if you cannot find these binaries but
have further, newer, fixes to install check whether new binaries with these
fixes did not make the binaries of this fix obsolete.

You can remove the file `description2' afterwards.

After installing the bugfix you can test whether
the bugfix has been applied correctly by starting GAP from the `gap4r3'
directory and issuing

gap> ReadTest("tst/bugfix.tst");
+ bugfixes test
+ GAP4stones: 163
true

(The output should be like this if the bugfixes have been installed
correctly. The number of GAP4stones may vary according to your system.)

Running this test is not a necessary part of installing a bug fix, but only
serves as a confirmation that everything went well. The test might run for
a long time and GAP will not output information while running. Note that it
is not possible to run the test twice without restarting GAP and that an
interruption of the test with CTRL-C will produce lots of (harmless) error
messages.

Steve Linton September 2002

-- 
Steve Linton	School of Computer Science  &
      Centre for Interdisciplinary Research in Computational Algebra
	     University of St Andrews 	 Tel   +44 (1334) 463269
http://www-theory.dcs.st-and.ac.uk/~sal	 Fax   +44 (1334) 463278   

> < [top]