-- 
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': '/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython',
 'ipython_version': '4.1.2',
 'os_name': 'posix',
 'platform': 'Linux-3.19.0-32-generic-x86_64-with-debian-jessie-sid',
 'sys_executable': '/usr/lib/sagemath/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:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
AttributeError            Python 2.7.10: /usr/lib/sagemath/local/bin/python
                                                   Tue Jan  3 21:22:05 2017
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.
/usr/lib/sagemath/local/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()
        global app.initialize = <bound method SageTerminalApp.initialize of 
<sage.repl.interpreter.SageTerminalApp object at 0x7f73525c1310>>
     14 app.start()

<decorator-gen-111> in initialize(self=<sage.repl.interpreter.SageTerminalApp 
object>, argv=None)

/usr/lib/sagemath/local/lib/python2.7/site-packages/traitlets/config/application.pyc
 in catch_config_error(method=<function initialize>, 
app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,), **kwargs={})
     59 
     60 
#-----------------------------------------------------------------------------
     61 # Application class
     62 
#-----------------------------------------------------------------------------
     63 
     64 @decorator
     65 def catch_config_error(method, app, *args, **kwargs):
     66     """Method decorator for catching invalid config 
(Trait/ArgumentErrors) during init.
     67 
     68     On a TraitError (generally caused by bad config), this will print 
the trait's
     69     message, and exit the app.
     70     
     71     For use on init methods, to prevent invoking excepthook on invalid 
input.
     72     """
     73     try:
---> 74         return method(app, *args, **kwargs)
        method = <function initialize at 0x7f734c8341b8>
        app = <sage.repl.interpreter.SageTerminalApp object at 0x7f73525c1310>
        args = (None,)
        kwargs = {}
     75     except (TraitError, ArgumentError) as e:
     76         app.print_help()
     77         app.log.fatal("Bad config encountered during initialization:")
     78         app.log.fatal(str(e))
     79         app.log.debug("Config at the time: %s", app.config)
     80         app.exit(1)
     81 
     82 
     83 class ApplicationError(Exception):
     84     pass
     85 
     86 
     87 class LevelFormatter(logging.Formatter):
     88     """Formatter with additional `highlevel` record
     89     

/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython/terminal/ipapp.pyc 
in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
    291 
    292         return super(TerminalIPythonApp, self).parse_command_line(argv)
    293     
    294     @catch_config_error
    295     def initialize(self, argv=None):
    296         """Do actions after construct, but before starting the app."""
    297         super(TerminalIPythonApp, self).initialize(argv)
    298         if self.subapp is not None:
    299             # don't bother initializing further, starting subapp
    300             return
    301         # print self.extra_args
    302         if self.extra_args and not self.something_to_run:
    303             self.file_to_run = self.extra_args[0]
    304         self.init_path()
    305         # create the shell
--> 306         self.init_shell()
        self.init_shell = <bound method SageTerminalApp.init_shell of 
<sage.repl.interpreter.SageTerminalApp object at 0x7f73525c1310>>
    307         # and draw the banner
    308         self.init_banner()
    309         # Now a variety of things that happen after the banner is 
printed.
    310         self.init_gui_pylab()
    311         self.init_extensions()
    312         self.init_code()
    313 
    314     def init_shell(self):
    315         """initialize the InteractiveShell instance"""
    316         # Create an InteractiveShell instance.
    317         # shell.display_banner should always be False for the terminal
    318         # based app, because we call shell.show_banner() by hand below
    319         # so the banner shows *before* all extension loading stuff.
    320         self.shell = TerminalInteractiveShell.instance(parent=self,
    321                         display_banner=False, 
profile_dir=self.profile_dir,

/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc 
in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
    776             :meth:`TerminalIPythonApp.init_shell`.
    777 
    778         EXAMPLES::
    779 
    780             sage: from sage.repl.interpreter import SageTerminalApp, 
DEFAULT_SAGE_CONFIG
    781             sage: app = SageTerminalApp.instance()
    782             sage: app.shell
    783             <sage.repl.interpreter.SageTestShell object at 0x...>
    784         """
    785         # Shell initialization
    786         self.shell = self.shell_class.instance(
    787             parent=self,
    788             config=self.config,
    789             display_banner=False,
    790             profile_dir=self.profile_dir,
--> 791             ipython_dir=self.ipython_dir)
        global ipython_dir = undefined
        self.ipython_dir = u'/home/anubhab/.sage/ipython-4.1.2'
    792         self.shell.configurables.append(self)
    793         self.shell.has_sage_extensions = SAGE_EXTENSION in 
self.extensions
    794 
    795         # Load the %lprun extension if available
    796         try:
    797             import line_profiler
    798         except ImportError:
    799             pass
    800         else:
    801             self.extensions.append('line_profiler')
    802 
    803         if self.shell.has_sage_extensions:
    804             self.extensions.remove(SAGE_EXTENSION)
    805 
    806             # load sage extension here to get a crash if

/usr/lib/sagemath/local/lib/python2.7/site-packages/traitlets/config/configurable.pyc
 in instance(cls=<class 'sage.repl.interpreter.SageTerminalInteractiveShell'>, 
*args=(), **kwargs={'config': {'SageTerminalApp': {'force_interact': True}, 
'I...lse, 'test_shell': False, 'verbose_crash': True}}, 'display_banner': 
False, 'ipython_dir': u'/home/anubhab/.sage/ipython-4.1.2', 'parent': 
<sage.repl.interpreter.SageTerminalApp object>, 'profile_dir': 
<IPython.core.profiledir.ProfileDir object>})
    390             >>> class Foo(SingletonConfigurable): pass
    391             >>> foo = Foo.instance()
    392             >>> foo == Foo.instance()
    393             True
    394 
    395         Create a subclass that is retrived using the base class 
instance::
    396 
    397             >>> class Bar(SingletonConfigurable): pass
    398             >>> class Bam(Bar): pass
    399             >>> bam = Bam.instance()
    400             >>> bam == Bar.instance()
    401             True
    402         """
    403         # Create and save the instance
    404         if cls._instance is None:
--> 405             inst = cls(*args, **kwargs)
        inst = undefined
        cls = <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>
        args = ()
        kwargs = {'ipython_dir': u'/home/anubhab/.sage/ipython-4.1.2', 
'display_banner': False, 'config': {'SageTerminalApp': {'force_interact': 
True}, 'InteractiveShell': {'separate_in': '', 'ast_node_interactivity': 'all', 
'colors': 'LightBG', 'confirm_exit': False}, 'InteractiveShellApp': 
{'extensions': ['sage']}, 'PromptManager': {'out_template': '', 'in2_template': 
'....: ', 'in_template': 'sage: ', 'justify': False}, 'TerminalIPythonApp': 
{'shell_class': <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>, 
'display_banner': False, 'test_shell': False, 'verbose_crash': True}}, 
'profile_dir': <IPython.core.profiledir.ProfileDir object at 0x7f734c860910>, 
'parent': <sage.repl.interpreter.SageTerminalApp object at 0x7f73525c1310>}
    406             # Now make sure that the instance will also be returned by
    407             # parent classes' _instance attribute.
    408             for subclass in cls._walk_mro():
    409                 subclass._instance = inst
    410 
    411         if isinstance(cls._instance, cls):
    412             return cls._instance
    413         else:
    414             raise MultipleInstanceError(
    415                 'Multiple incompatible subclass instances of '
    416                 '%s are being created.' % cls.__name__
    417             )
    418 
    419     @classmethod
    420     def initialized(cls):

/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc
 in __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>, 
ipython_dir=u'/home/anubhab/.sage/ipython-4.1.2', 
profile_dir=<IPython.core.profiledir.ProfileDir object>, user_module=None, 
user_ns=None, custom_exceptions=((), None), **kwargs={'config': 
{'SageTerminalApp': {'force_interact': True}, 'I...lse, 'test_shell': False, 
'verbose_crash': True}}, 'display_banner': False, 'parent': 
<sage.repl.interpreter.SageTerminalApp object>})
    450         self.init_create_namespaces(user_module, user_ns)
    451         # This has to be done after init_create_namespaces because it 
uses
    452         # something in self.user_ns, but before init_sys_modules, which
    453         # is the first thing to modify sys.
    454         # TODO: When we override sys.stdout and sys.stderr before this 
class
    455         # is created, we are saving the overridden ones here. Not sure 
if this
    456         # is what we want to do.
    457         self.save_sys_module_state()
    458         self.init_sys_modules()
    459 
    460         # While we're trying to have each part of the code directly 
access what
    461         # it needs without keeping redundant references to objects, we 
have too
    462         # much legacy code that expects ip.db to exist.
    463         self.db = PickleShareDB(os.path.join(self.profile_dir.location, 
'db'))
    464 
--> 465         self.init_history()
        self.init_history = <bound method 
SageTerminalInteractiveShell.init_history of 
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f734c8609d0>>
    466         self.init_encoding()
    467         self.init_prefilter()
    468 
    469         self.init_syntax_highlighting()
    470         self.init_hooks()
    471         self.init_events()
    472         self.init_pushd_popd_magic()
    473         # self.init_traceback_handlers use to be here, but we moved it 
below
    474         # because it and init_io have to come after init_readline.
    475         self.init_user_ns()
    476         self.init_logger()
    477         self.init_builtins()
    478 
    479         # The following was in post_config_initialization
    480         self.init_inspector()

/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc
 in init_history(self=<sage.repl.interpreter.SageTerminalInteractiveShell 
object>)
   1571         with self.builtin_trap:
   1572             info = self._object_find(oname)
   1573             if info.found:
   1574                 return self.inspector._format_info(info.obj, oname, 
info=info,
   1575                             detail_level=detail_level
   1576                 )
   1577             else:
   1578                 raise KeyError(oname)
   1579 
   1580     
#-------------------------------------------------------------------------
   1581     # Things related to history management
   1582     
#-------------------------------------------------------------------------
   1583 
   1584     def init_history(self):
   1585         """Sets up the command history, and starts regular autosaves."""
-> 1586         self.history_manager = HistoryManager(shell=self, parent=self)
        self.history_manager = None
        global HistoryManager = <class 'IPython.core.history.HistoryManager'>
        global shell = undefined
        self = <sage.repl.interpreter.SageTerminalInteractiveShell object at 
0x7f734c8609d0>
        global parent = undefined
   1587         self.configurables.append(self.history_manager)
   1588 
   1589     
#-------------------------------------------------------------------------
   1590     # Things related to exception handling and tracebacks (not 
debugging)
   1591     
#-------------------------------------------------------------------------
   1592 
   1593     def init_traceback_handlers(self, custom_exceptions):
   1594         # Syntax error handler.
   1595         self.SyntaxTB = ultratb.SyntaxTB(color_scheme='NoColor')
   1596 
   1597         # The interactive one is initialized with an offset, meaning we 
always
   1598         # want to remove the topmost item in the traceback, which is 
our own
   1599         # internal code. Valid modes: ['Plain','Context','Verbose']
   1600         self.InteractiveTB = ultratb.AutoFormattedTB(mode = 'Plain',
   1601                                                      
color_scheme='NoColor',

/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython/core/history.pyc in 
__init__(self=<IPython.core.history.HistoryManager object>, 
shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>, config=None, 
**traits={'parent': <sage.repl.interpreter.SageTerminalInteractiveShell 
object>})
    505     _exit_re = re.compile(r"(exit|quit)(\s*\(.*\))?$")
    506 
    507     def __init__(self, shell=None, config=None, **traits):
    508         """Create a new history manager associated with a shell 
instance.
    509         """
    510         # We need a pointer back to the shell for various tasks.
    511         super(HistoryManager, self).__init__(shell=shell, config=config,
    512             **traits)
    513         self.save_flag = threading.Event()
    514         self.db_input_cache_lock = threading.Lock()
    515         self.db_output_cache_lock = threading.Lock()
    516         
    517         try:
    518             self.new_session()
    519         except OperationalError:
--> 520             self.log.error("Failed to create history session in %s. 
History will not be saved.",
        self.log.error = undefined
        self.hist_file = 
u'/home/anubhab/.sage/ipython-4.1.2/profile_default/history.sqlite'
        global exc_info = undefined
        global True = undefined
    521                 self.hist_file, exc_info=True)
    522             self.hist_file = ':memory:'
    523         
    524         if self.enabled and self.hist_file != ':memory:':
    525             self.save_thread = HistorySavingThread(self)
    526             self.save_thread.start()
    527 
    528     def _get_hist_file_name(self, profile=None):
    529         """Get default history file name based on the Shell's profile.
    530         
    531         The profile parameter is ignored, but must exist for 
compatibility with
    532         the parent class."""
    533         profile_dir = self.shell.profile_dir.location
    534         return os.path.join(profile_dir, 'history.sqlite')
    535     

AttributeError: 'HistoryManager' object has no attribute 'log'

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

History of session input:

Reply via email to