-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.
***************************************************************************

IPython post-mortem report

{'commit_hash': u'f76401f',
 'commit_source': 'installation',
 'default_encoding': 'UTF-8',
 'ipython_path': '/opt/sage/local/lib/python2.7/site-packages/IPython',
 'ipython_version': '4.1.2',
 'os_name': 'posix',
 'platform': 'Linux-4.4.0-34-generic-x86_64-with-debian-jessie-sid',
 'sys_executable': '/opt/sage/local/bin/python',
 'sys_platform': 'linux2',
 'sys_version': '2.7.10 (default, May 16 2016, 05:06:16) \n[GCC 4.9.3]'}

***************************************************************************



***************************************************************************

Crash traceback:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
IndexError                        Python 2.7.10: /opt/sage/local/bin/python
                                                   Mon Aug 29 09:42:41 2016
A problem occurred executing Python code.  Here is the sequence of function
calls leading up to the error, with the most recent (innermost) call last.
/opt/sage/src/bin/sage-ipython in <module>()
      1 #!/usr/bin/env python
      2 # -*- coding: utf-8 -*-
      3 """
      4 Sage IPython startup script.
      5 """
      6 
      7 # Install extra readline commands before IPython initialization
      8 from sage.repl.readline_extra_commands import *
      9 
     10 from sage.repl.interpreter import SageTerminalApp
     11 
     12 app = SageTerminalApp.instance()
     13 app.initialize()
---> 14 app.start()
        global app.start = <bound method SageTerminalApp.start of 
<sage.repl.interpreter.SageTerminalApp object at 0x7fb83a148150>>

/opt/sage/local/lib/python2.7/site-packages/IPython/terminal/ipapp.pyc in 
start(self=<sage.repl.interpreter.SageTerminalApp object>)
    330         if self.log_level <= logging.INFO: print()
    331 
    332     def _pylab_changed(self, name, old, new):
    333         """Replace --pylab='inline' with --pylab='auto'"""
    334         if new == 'inline':
    335             warn.warn("'inline' not available as pylab backend, "
    336                       "using 'auto' instead.")
    337             self.pylab = 'auto'
    338 
    339     def start(self):
    340         if self.subapp is not None:
    341             return self.subapp.start()
    342         # perform any prexec steps:
    343         if self.interact:
    344             self.log.debug("Starting IPython's mainloop...")
--> 345             self.shell.mainloop()
        self.shell.mainloop = <bound method 
SageTerminalInteractiveShell.mainloop of 
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fb833d08950>>
    346         else:
    347             self.log.debug("IPython not interactive...")
    348 
    349 def load_default_config(ipython_dir=None):
    350     """Load the default config file from the default ipython_dir.
    351 
    352     This is useful for embedded shells.
    353     """
    354     if ipython_dir is None:
    355         ipython_dir = get_ipython_dir()
    356 
    357     profile_dir = os.path.join(ipython_dir, 'profile_default')
    358 
    359     config = Config()
    360     for cf in Application._load_config_files("ipython_config", 
path=profile_dir):

/opt/sage/local/lib/python2.7/site-packages/IPython/terminal/interactiveshell.pyc
 in mainloop(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>, 
display_banner=None)
    533     
#-------------------------------------------------------------------------
    534     # Mainloop and code execution logic
    535     
#-------------------------------------------------------------------------
    536 
    537     def mainloop(self, display_banner=None):
    538         """Start the mainloop.
    539 
    540         If an optional banner argument is given, it will override the
    541         internally created default banner.
    542         """
    543 
    544         with self.builtin_trap, self.display_trap:
    545 
    546             while 1:
    547                 try:
--> 548                     self.interact(display_banner=display_banner)
        self.interact = <bound method SageTerminalInteractiveShell.interact of 
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fb833d08950>>
        display_banner = None
    549                     #self.interact_with_readline()
    550                     # XXX for testing of a readline-decoupled repl 
loop, call
    551                     # interact_with_readline above
    552                     break
    553                 except KeyboardInterrupt:
    554                     # this should not be necessary, but 
KeyboardInterrupt
    555                     # handling seems rather unpredictable...
    556                     self.write("\nKeyboardInterrupt in interact()\n")
    557 
    558     def _replace_rlhist_multiline(self, source_raw, hlen_before_cell):
    559         """Store multiple lines as a single entry in history"""
    560 
    561         # do nothing without readline or disabled multiline
    562         if not self.has_readline or not self.multiline_history:
    563             return hlen_before_cell

/opt/sage/local/lib/python2.7/site-packages/IPython/terminal/interactiveshell.pyc
 in interact(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>, 
display_banner=False)
    643             except EOFError:
    644                 if self.autoindent:
    645                     self.rl_do_indent = False
    646                     if self.has_readline:
    647                         self.readline_startup_hook(None)
    648                 self.write('\n')
    649                 self.exit()
    650             except bdb.BdbQuit:
    651                 warn('The Python debugger has exited with a BdbQuit 
exception.\n'
    652                      'Because of how pdb handles the stack, it is 
impossible\n'
    653                      'for IPython to properly format this particular 
exception.\n'
    654                      'IPython will resume normal operation.')
    655             except:
    656                 # exceptions here are VERY RARE, but they can be 
triggered
    657                 # asynchronously by signal handlers, for example.
--> 658                 self.showtraceback()
        self.showtraceback = <bound method 
SageTerminalInteractiveShell.showtraceback of 
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fb833d08950>>
    659             else:
    660                 try:
    661                     self.input_splitter.push(line)
    662                     more = self.input_splitter.push_accepts_more()
    663                 except SyntaxError:
    664                     # Run the code directly - run_cell takes care of 
displaying
    665                     # the exception.
    666                     more = False
    667                 if (self.SyntaxTB.last_syntax_error and
    668                     self.autoedit_syntax):
    669                     self.edit_syntax_error()
    670                 if not more:
    671                     source_raw = self.input_splitter.raw_reset()
    672                     self.run_cell(source_raw, store_history=True)
    673                     hlen_b4_cell = \

/opt/sage/local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc 
in showtraceback(self=<sage.repl.interpreter.SageTerminalInteractiveShell 
object>, exc_tuple=None, filename=None, tb_offset=None, exception_only=False)
   1815                 self.show_usage_error(value)
   1816             else:
   1817                 if exception_only:
   1818                     stb = ['An exception has occurred, use %tb to see '
   1819                            'the full traceback.\n']
   1820                     
stb.extend(self.InteractiveTB.get_exception_only(etype,
   1821                                                                      
value))
   1822                 else:
   1823                     try:
   1824                         # Exception classes can customise their 
traceback - we
   1825                         # use this in IPython.parallel for exceptions 
occurring
   1826                         # in the engines. This should return a list of 
strings.
   1827                         stb = value._render_traceback_()
   1828                     except Exception:
   1829                         stb = 
self.InteractiveTB.structured_traceback(etype,
-> 1830                                             value, tb, 
tb_offset=tb_offset)
        value = TimeoutException()
        tb = <traceback object at 0x7fb5f9033248>
        tb_offset = None
   1831 
   1832                     self._showtraceback(etype, value, stb)
   1833                     if self.call_pdb:
   1834                         # drop into debugger
   1835                         self.debugger(force=True)
   1836                     return
   1837 
   1838                 # Actually show the traceback
   1839                 self._showtraceback(etype, value, stb)
   1840 
   1841         except KeyboardInterrupt:
   1842             self.write_err('\n' + self.get_exception_only())
   1843 
   1844     def _showtraceback(self, etype, evalue, stb):
   1845         """Actually show a traceback.

/opt/sage/local/lib/python2.7/site-packages/IPython/core/ultratb.pyc in 
structured_traceback(self=<IPython.core.ultratb.AutoFormattedTB object>, 
etype=<class '__main__.TimeoutException'>, value=TimeoutException(), 
tb=<traceback object>, tb_offset=None, number_of_lines_of_context=5)
   1377         out.write('\n')
   1378         out.flush()
   1379         # FIXME: we should remove the auto pdb behavior from here and 
leave
   1380         # that to the clients.
   1381         try:
   1382             self.debugger()
   1383         except KeyboardInterrupt:
   1384             print("\nKeyboardInterrupt")
   1385 
   1386     def structured_traceback(self, etype=None, value=None, tb=None,
   1387                              tb_offset=None, 
number_of_lines_of_context=5):
   1388         if etype is None:
   1389             etype, value, tb = sys.exc_info()
   1390         self.tb = tb
   1391         return FormattedTB.structured_traceback(
-> 1392             self, etype, value, tb, tb_offset, 
number_of_lines_of_context)
        self = <IPython.core.ultratb.AutoFormattedTB object at 0x7fb834edb650>
        etype = <class '__main__.TimeoutException'>
        value = TimeoutException()
        tb = <traceback object at 0x7fb5f9033248>
        tb_offset = None
        number_of_lines_of_context = 5
   1393 
   1394 
   1395 
#---------------------------------------------------------------------------
   1396 
   1397 # A simple class to preserve Nathan's original functionality.
   1398 class ColorTB(FormattedTB):
   1399     """Shorthand to initialize a FormattedTB in Linux colors mode."""
   1400 
   1401     def __init__(self, color_scheme='Linux', call_pdb=0, **kwargs):
   1402         FormattedTB.__init__(self, color_scheme=color_scheme,
   1403                              call_pdb=call_pdb, **kwargs)
   1404 
   1405 
   1406 class SyntaxTB(ListTB):
   1407     """Extension which holds some state: the last exception value"""

/opt/sage/local/lib/python2.7/site-packages/IPython/core/ultratb.pyc in 
structured_traceback(self=<IPython.core.ultratb.AutoFormattedTB object>, 
etype=<class '__main__.TimeoutException'>, value=TimeoutException(), 
tb=<traceback object>, tb_offset=1, number_of_lines_of_context=5)
   1285         # set_mode also sets the tb_join_char attribute
   1286         self.set_mode(mode)
   1287 
   1288     def _extract_tb(self, tb):
   1289         if tb:
   1290             return traceback.extract_tb(tb)
   1291         else:
   1292             return None
   1293 
   1294     def structured_traceback(self, etype, value, tb, tb_offset=None, 
number_of_lines_of_context=5):
   1295         tb_offset = self.tb_offset if tb_offset is None else tb_offset
   1296         mode = self.mode
   1297         if mode in self.verbose_modes:
   1298             # Verbose modes need a full traceback
   1299             return VerboseTB.structured_traceback(
-> 1300                 self, etype, value, tb, tb_offset, 
number_of_lines_of_context
        self = <IPython.core.ultratb.AutoFormattedTB object at 0x7fb834edb650>
        etype = <class '__main__.TimeoutException'>
        value = TimeoutException()
        tb = <traceback object at 0x7fb5f9033248>
        tb_offset = 1
        number_of_lines_of_context = 5
   1301             )
   1302         else:
   1303             # We must check the source cache because otherwise we can 
print
   1304             # out-of-date source code.
   1305             self.check_cache()
   1306             # Now we can extract and format the exception
   1307             elist = self._extract_tb(tb)
   1308             return ListTB.structured_traceback(
   1309                 self, etype, value, elist, tb_offset, 
number_of_lines_of_context
   1310             )
   1311 
   1312     def stb2text(self, stb):
   1313         """Convert a structured traceback (a list) to a string."""
   1314         return self.tb_join_char.join(stb)
   1315 

/opt/sage/local/lib/python2.7/site-packages/IPython/core/ultratb.pyc in 
structured_traceback(self=<IPython.core.ultratb.AutoFormattedTB object>, 
etype=<class '__main__.TimeoutException'>, evalue=TimeoutException(), 
etb=<traceback object>, tb_offset=1, number_of_lines_of_context=5)
   1169                                                                         
 chained_exceptions_tb_offset)
   1170                 exception = self.get_parts_of_chained_exception(evalue)
   1171 
   1172                 if exception and not id(exception[1]) in 
chained_exc_ids:
   1173                     chained_exc_ids.add(id(exception[1])) # trace 
exception to avoid infinite 'cause' loop
   1174                     formatted_exceptions += 
self.prepare_chained_exception_message(evalue.__cause__)
   1175                     etype, evalue, etb = exception
   1176                 else:
   1177                     evalue = None
   1178 
   1179             # we want to see exceptions in a reversed order:
   1180             # the first exception should be on top
   1181             for formatted_exception in reversed(formatted_exceptions):
   1182                 structured_traceback_parts += formatted_exception
   1183         else:
-> 1184             structured_traceback_parts += formatted_exception[0]
        structured_traceback_parts = 
[u'\x1b[0;31m---------------------------------------------------------------------------\x1b[0m']
        formatted_exception = u''
   1185 
   1186         return structured_traceback_parts
   1187 
   1188     def debugger(self, force=False):
   1189         """Call up the pdb debugger if desired, always clean up the tb
   1190         reference.
   1191 
   1192         Keywords:
   1193 
   1194           - force(False): by default, this routine checks the instance 
call_pdb
   1195             flag and does not actually invoke the debugger if the flag 
is false.
   1196             The 'force' option forces the debugger to activate even if 
the flag
   1197             is false.
   1198 
   1199         If the call_pdb flag is set, the pdb interactive debugger is

IndexError: string index out of range

***************************************************************************

History of session input:get_ipython().magic(u'cd sage/sfiles/ectp')from 
__future__ import divisionget_ipython().magic(u'attach 
cellnegerator.sage')runsim()runsim()runsim()runsim()runsim()runsim()runsim()signal.alarm(Integer(5))signal.alarm(Integer(5))signal.alarm(Integer(5))signal.alarm(Integer(5))runsim()runsim()
*** Last line of input (may not be in above history):
runsim()

Reply via email to