Opened 9 years ago
Last modified 9 years ago
#13588 closed enhancement
Improve libGAP startup error handling — at Version 13
Reported by: | vbraun | Owned by: | joyner |
---|---|---|---|
Priority: | major | Milestone: | sage-5.7 |
Component: | group theory | Keywords: | |
Cc: | mmarco, tfeulner, iandrus, SimonKing | Merged in: | |
Authors: | Volker Braun | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #6391, #13211 | Stopgaps: |
Description (last modified by )
Currently, libGAP doesn't give useful errors if something goes wrong during initialization.
Also, the GAP SIGINT handler got installed, this is fixed in the new spkg. Now Ctrl-C works as expected.
Install http://www.stp.dias.ie/~vbraun/Sage/spkg/libgap-4.5.6.p1.spkg
Change History (14)
comment:1 Changed 9 years ago by
- Cc mmarco added
- Dependencies set to #6391, #13211
- Status changed from new to needs_review
comment:2 Changed 9 years ago by
I have been checking the different updates of libgap, and the error seemed to go away several versions ago. Anyways, i will keep testing it.
comment:3 Changed 9 years ago by
I don't know if it is an issue related with this patch or if it comes from libgap itself, but i have experienced some problems when i use tab completion in a session in the command line (i haven't checked it in the notebook).
An example:
sage: F=libgap.eval('FreeGroup(2)') sage: (a,b)=F.GeneratorsOfGroup() sage: H=F/libgap([a^2,b^2,a*b*a*b]) sage: H <fp group on the generators [ f1, f2 ]> sage: H.IsomorphismSimplifiedFpGroup() [ f1, f2 ] -> [ f1, f2 ] sage: H=F/libgap([a^2,b^2,a*b]) sage: c=H.Gene H.GeneralLinearGroup H.GeneralisedEigenspaces H.GeneralizedEigenvalues H.GeneratorsOfIdeal H.GeneralOrthogonalGroup H.GeneralisedEigenvalues H.GeneratorsOfField H.GeneralUnitaryGroup H.GeneralizedEigenspaces H.GeneratorsOfGroup sage: c=H.GeneratorsOfGroup()[0] --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /home/mmarco/sage-5.4/<ipython console> in <module>() /home/mmarco/sage-5.4/local/lib/python2.7/site-packages/sage/libs/gap/element.so in sage.libs.gap.element.GapElement.__getattr__ (sage/libs/gap/element.c:3555)() AttributeError: Name "GeneratorsOfGroup" is not defined in GAP. sage: c=H.GeneratorsOfGroup() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /home/mmarco/sage-5.4/<ipython console> in <module>() /home/mmarco/sage-5.4/local/lib/python2.7/site-packages/sage/libs/gap/element.so in sage.libs.gap.element.GapElement.__getattr__ (sage/libs/gap/element.c:3555)() AttributeError: Name "GeneratorsOfGroup" is not defined in GAP. sage: H Exception RuntimeError: 'Entered a critical block twice' in 'sage.libs.gap.util.error_handler' ignored <fp group on the generators [ f1, f2 ]> sage: H.GeneratorsOfGroup() [ f1, f2 ] sage: c=H.GeneratorsOfGroup()[0] sage: c f1 sage: c=H.Generat H.GeneratorsOfField H.GeneratorsOfGroup H.GeneratorsOfIdeal sage: c=H.GeneratorsOfGroup() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /home/mmarco/sage-5.4/<ipython console> in <module>() /home/mmarco/sage-5.4/local/lib/python2.7/site-packages/sage/libs/gap/element.so in sage.libs.gap.element.GapElement.__getattr__ (sage/libs/gap/element.c:3555)() AttributeError: Name "GeneratorsOfGroup" is not defined in GAP. sage: c=H.GeneratorsOfGroup() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /home/mmarco/sage-5.4/<ipython console> in <module>() /home/mmarco/sage-5.4/local/lib/python2.7/site-packages/sage/libs/gap/element.so in sage.libs.gap.element.GapElement.__getattr__ (sage/libs/gap/element.c:3555)() AttributeError: Name "GeneratorsOfGroup" is not defined in GAP. sage: H Exception RuntimeError: 'Entered a critical block twice' in 'sage.libs.gap.util.error_handler' ignored <fp group on the generators [ f1, f2 ]> sage: c=H.GeneratorsOfGroup()
comment:4 Changed 9 years ago by
This same behaviour appears when i don't use this patch, so reported in the libgap ticket.
comment:5 Changed 9 years ago by
- Description modified (diff)
comment:6 Changed 9 years ago by
Updated patch fixes the issue with the command line completion
comment:7 Changed 9 years ago by
- Cc tfeulner added
Updated spkg fixes long input lines (>32k characters):
sage: S = SymmetricGroup(10000) sage: s = S.random_element() sage: len(str(s._gap_())) 61673 sage: libgap(s) (1,5243,8582,5012,6862,7477,1681,7423,8405,3101,...,5257,9362,2495,8500)( [...] )
comment:8 Changed 9 years ago by
- Description modified (diff)
comment:9 Changed 9 years ago by
I've added the same workaround for the gap command line option issue as just discussed in #13211
comment:10 Changed 9 years ago by
I've added __nonzero__
for wrapped GAP booleans for easier use.
comment:11 Changed 9 years ago by
The new patch allows to change the comparison method for libgap objects since not all GAP objects can be compared. This is important if you want use them as cache keys.
Also, the comparison was not properly wrapped in sig_on/sig_off
comment:12 Changed 9 years ago by
I forgot to package aclocal.m4
, updated spkg adds that file.
comment:13 Changed 9 years ago by
- Description modified (diff)
Miguel, you said that you had some mysterious error. Can you try this patch? It depends on the recently-updated patches on #6391, #13211.