Dear sage-devel, can you please point me to the place in the gap interface code where errors are caught?
Namely, it seems to me that it is forgotten to quit GAP's break loop before continuing. Example: sage: def bugtrigger(n): ....: a = gap(1) ....: for i in range(n): ....: try: ....: b = gap.eval('Name(%s)'%a.name()) ....: a += 1 ....: except Exception, msg: ....: if 'recursion depth' in str(msg): ....: return i,msg ....: sage: bugtrigger(10000) (4998, RuntimeError('Gap produced error output\nrecursion depth trap (5000)\n\n\n executing Name($sage1);',)) Explanation: "Name" is not defined for a, so, an error occurs, that we catch and continue. If this is done 4998 times then we have 4998 break loops inside the main loop, and then call "Name(%s)"%a.name() -- this is a total of 5000 nested loops (main loop, 4998 break loops, function call). Probably I will be able to find the place in the code myself, but it might simplify the bug hunt if you can give me a pointer. The problem is tracked at http://trac.sagemath.org/sage_trac/ticket/7001 Cheers, Simon --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---