Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rare no-method-found error in sanity.g in stable-4.10 branch #3055

Closed
olexandr-konovalov opened this issue Nov 25, 2018 · 6 comments
Closed
Milestone

Comments

@olexandr-konovalov
Copy link
Member

Happened yesterday in https://gap-ci.cs.st-andrews.ac.uk/view/GAP-weekly/job/GAP-stable-sanity/GAPCOPTS=32build,label=kovacs/11/console (link only accessible from St Andrews):

testing group t20n971
conjugacy classes
rational classes
automorphism group
testing group Group( [ f1, f2, f3, f4, f5, f6, f7 ] )
subgroups
normal subgroups
conjugacy classes
rational classes
automorphism group
20,971,192,136
testing group t20n972
conjugacy classes
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `+' on 2 arguments
The 1st argument is 'fail' which might point to an earlier problem
 at /circa/scratch/gap-jenkins/workspace/GAP-stable-sanity/GAPCOPTS/32build/la\
bel/kovacs/GAP-stable-snapshot/lib/methsel2.g:250 called from
Build step 'Execute shell' marked build as failure
Sending e-mails to: alexander.konovalov@st-andrews.ac.uk
Finished: FAILURE

Was able to reproduce this locally in stable-4.10 branch, starting GAP with -r -A and calling

Read("tst/sanity.g");
for i in [1..100] do Print(i,"\n");TestsForGroup(TransitiveGroup(20,972));od;

but it took several minutes and 59 iterations:

59
testing group t20n972
conjugacy classes
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `+' on 2 arguments
The 1st argument is 'fail' which might point to an earlier problem
 at /Users/alexk/GITREPS/gap-stable-4.10/lib/methsel2.g:250 called from
First( dsz, function ( i )
        return (i >= minlen);
    end ) - minlen at /Users/alexk/GITREPS/gap-stable-4.10/lib/clashom.gi:742 called from
ConjugacyClassesSubwreath( F, FM, n, S1, Action( FM, components[1] ), T1, 
 components, emb, proj 
 ) at /Users/alexk/GITREPS/gap-stable-4.10/lib/clashom.gi:1339 called from
ConjugacyClassesFittingFreeGroup( G 
 ) at /Users/alexk/GITREPS/gap-stable-4.10/lib/clashom.gi:2363 called from
ConjugacyClassesViaRadical( G 
 ) at /Users/alexk/GITREPS/gap-stable-4.10/lib/clashom.gi:3071 called from
ConjugacyClasses( G ) at tst/sanity.g:61 called from
...  at *stdin*:2
type 'quit;' to quit to outer loop
brk> ShowArguments();
[ fail, -722 ]
brk> dsz;
[ 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 30, 36, 40, 45, 48, 60, 72, 80, 90, 120, 144, 
  180, 240, 360, 720 ]
brk> minlen;
722

Indeed, all elements of dsz are smaller than 722, so First returns fail.

@ChrisJefferson
Copy link
Contributor

I tried running various memory checkers on this, and they didn't fail in the first past (they might fail on iteration 59 of course...)

@fingolfin
Copy link
Member

@alex-konovalov I assume this was run with ReproducibleBehaviour set to false (i.e., the default), right?

@hulpke does this error ring any bells, by chance?

@olexandr-konovalov
Copy link
Member Author

@fingolfin yes, GAP started as above, so no modifications of ReproducibleBehaviour. Only SetAssertionLevel(2); because this is a line in tst/sanity.g.

@ChrisJefferson
Copy link
Contributor

I might not have set the assertion level. I will check that in the memory checker. As I say, I only did one loop, hoping the bug would turn up. If noone has tracked anything down in a couple of days, I'll try running the full 59 iterations over the weekend and see if anything crops up.

@olexandr-konovalov
Copy link
Member Author

olexandr-konovalov commented Nov 27, 2018

@ChrisJefferson if you read tst/sanity.g, then the assertion level would be 2.

hulpke added a commit to hulpke/gap that referenced this issue Dec 14, 2018
This is a bug that arises very rarely, maybe based on random
selections. In this case restart calculations.
hulpke added a commit to hulpke/gap that referenced this issue Dec 14, 2018
This is a bug that arises very rarely, maybe based on random
selections. In this case restart calculations.
hulpke added a commit to hulpke/gap that referenced this issue Dec 17, 2018
This is a bug that arises very rarely, maybe based on random
selections. In this case restart calculations.
hulpke added a commit to hulpke/gap that referenced this issue Dec 18, 2018
This is a bug that arises very rarely, maybe based on random
selections. In this case restart calculations.
hulpke added a commit that referenced this issue Dec 18, 2018
Workaround for error #3055 and fix for GQuotient
@olexandr-konovalov
Copy link
Member Author

Closing this as #3110 claims that it fixes this.

hulpke added a commit to hulpke/gap that referenced this issue Dec 30, 2018
This is a bug that arises very rarely, maybe based on random
selections. In this case restart calculations.
ssiccha pushed a commit to ssiccha/gap that referenced this issue Mar 27, 2019
This is a bug that arises very rarely, maybe based on random
selections. In this case restart calculations.
@olexandr-konovalov olexandr-konovalov added this to the GAP 4.11.0 milestone Feb 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants