Opened 9 years ago

Last modified 9 years ago

#13588 closed enhancement

Improve libGAP startup error handling — at Version 5

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:

Status badges

Description (last modified by vbraun)

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 (5)

comment:1 Changed 9 years ago by vbraun

  • Authors set to Volker Braun
  • Cc mmarco added
  • Dependencies set to #6391, #13211
  • Status changed from new to needs_review

Miguel, you said that you had some mysterious error. Can you try this patch? It depends on the recently-updated patches on #6391, #13211.

comment:2 Changed 9 years ago by mmarco

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 mmarco

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 mmarco

This same behaviour appears when i don't use this patch, so reported in the libgap ticket.

comment:5 Changed 9 years ago by vbraun

  • Description modified (diff)
Note: See TracTickets for help on using tickets.