Description
The following is observed in teststandard
tests on Jenkins:
########> Diff in /circa/scratch/gap-jenkins/workspace/GAP-master-test/GAPCOPT\
S/64build/GAPTARGET/standard/label/kovacs/GAP-master-snapshot/tst/testextra/gr\
pauto.tst:105
# Input is:
IsomorphismGroups(G,PcGroupCode(CodePcGroup(G),Size(G)))=fail;
# Expected output:
false
# But found:
Error, reached the pre-set memory limit
(change it with the -o command line option)
########
In the master branch this appens on both macos and linux jenkins slaves. In the stable-4.9 branch - only on macos. I've tried to run just that example starting GAP with -o 1g
option and so war was able to reproduce this problem only once. Apparently, there is some interaction between other tests and loaded packages, and balancing around the 1g limit with some randomness and garbage collections making this hard to reproduce.
This is the input:
LoadAllPackages();
G:=PcGroupCode( 741231213963541373679312045151639276850536621925972119311,11664);;
H:=PcGroupCode( 888658311993669104086576972570546890038187728096037768975,11664);;
IsomorphismGroups(G,H);
IsomorphismGroups(G,PcGroupCode(CodePcGroup(G),Size(G)))=fail;
and this is the memory usage that I observe under macos:
Load GAP 131 131
Load all packages --- 344
After 1st iso test 142 436
After 2nd iso test 548 1.01g
(the last 1.01g value is measured after a break loop happened and I've entered "return" to resume the calculation).
The problem can be reproduced easier if GAP is started with just slightly smaller memory limit -o 1000m
. Then after Error, reached the pre-set memory limit
I see this:
brk> Where(50);
ImagesRepresentative( map, gen ) at /Users/alexk/GITREPS/gap-stable/lib/mapphomo.gi:311 called from
func( C[i] ) at /Users/alexk/GITREPS/gap-stable/lib/coll.gi:746 called from
List( GeneratorsOfMagmaWithInverses( elms ), function ( gen )
return ImagesRepresentative( map, gen );
end ) at /Users/alexk/GITREPS/gap-stable/lib/mapphomo.gi:311 called from
ImagesSet( map, elm ) at /Users/alexk/GITREPS/gap-stable/lib/mapping.gi:185 called from
Image( hom, sub ) at /Users/alexk/GITREPS/gap-stable/lib/autsr.gi:811 called from
act( orb[p], acts[i] ) at /Users/alexk/GITREPS/gap-stable/lib/oprt.gi:1241 called from
OrbitStabilizerAlgorithm( G, false, false, gens, acts, rec(
pnt := d,
act := act,
onlystab := true ) ) at /Users/alexk/GITREPS/gap-stable/lib/oprt.gi:2909 called from
orbish( G, pnt, gens, acts, act ) at /Users/alexk/GITREPS/gap-stable/lib/oprt.gd:866 called from
CallFuncList( StabilizerFunc, arg ) at /Users/alexk/GITREPS/gap-stable/pkg/rcwa-4.6.1/lib/rcwagrp.gi:4586 called from
Stabilizer( api, v, gens, pre, asAutomorphism ) at /Users/alexk/GITREPS/gap-stable/lib/autsr.gi:953 called from
PatheticIsomorphism( G, H ) at /Users/alexk/GITREPS/gap-stable/lib/morpheus.gi:2101 called from
<function "IsomorphismGroups">( <arguments> )
called from read-eval loop at *errin*:1
brk> arg[1];
[ f4, f3*f4, f5, f6, f8^2*f10^2*f11, f8*f9^2*f12*f13*f14*f19^2, f13*f14, f13, f16, f15*f16, f8^2*f10*f17*f19^2*f20^2, f18,
f19, f20 ]
brk> arg[2];
function( gen ) ... end
brk> Print(last);
function ( gen )
return ImagesRepresentative( map, gen );
end
brk>