On Sun, Apr 5, 2020 at 7:44 AM Lance Edward Miller <[email protected]> wrote:
>
> After install on Linux Mint 19.3, I got the following crash report. Any help
> is appreciated.
What exactly have you installed?
A binary installation, or done a build from sources?
>
> ***************************************************************************
>
> IPython post-mortem report
>
> {'commit_hash': u'b467d487e',
> 'commit_source': 'installation',
> 'default_encoding': 'UTF-8',
> 'ipython_path': '/usr/lib/python2.7/dist-packages/IPython',
> 'ipython_version': '5.5.0',
> 'os_name': 'posix',
> 'platform': 'Linux-5.3.0-40-generic-x86_64-with-LinuxMint-19.3-tricia',
> 'sys_executable': '/usr/bin/python',
> 'sys_platform': 'linux2',
> 'sys_version': '2.7.17 (default, Nov 7 2019, 10:07:09) \n[GCC 7.4.0]'}
>
> ***************************************************************************
>
>
>
> ***************************************************************************
>
> Crash traceback:
>
> ---------------------------------------------------------------------------
> ---------------------------------------------------------------------------
> ImportError Python 2.7.17: /usr/bin/python
> Sat Apr 4 18:39:09 2020
> 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/share/sagemath/bin/sage-ipython in <module>()
> 1 #!/usr/bin/env python
> 2 # -*- coding: utf-8 -*-
> 3 """
> 4 Sage IPython startup script.
> 5 """
> 6
> 7 from sage.repl.interpreter import SageTerminalApp
> 8
> 9 app = SageTerminalApp.instance()
> ---> 10 app.initialize()
> global app.initialize = <bound method SageTerminalApp.initialize of
> <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>>
> 11 app.start()
>
> <decorator-gen-110> in initialize(self=<sage.repl.interpreter.SageTerminalApp
> object>, argv=None)
>
> /usr/lib/python2.7/dist-packages/traitlets/config/application.pyc in
> catch_config_error(method=<function initialize>,
> app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,),
> **kwargs={})
> 72 TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR = False
> 73 else:
> 74 raise ValueError("Unsupported value for environment variable:
> 'TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR' is set to '%s' which is none
> of {'0', '1', 'false', 'true', ''}."% _envvar )
> 75
> 76
> 77 @decorator
> 78 def catch_config_error(method, app, *args, **kwargs):
> 79 """Method decorator for catching invalid config
> (Trait/ArgumentErrors) during init.
> 80
> 81 On a TraitError (generally caused by bad config), this will print
> the trait's
> 82 message, and exit the app.
> 83
> 84 For use on init methods, to prevent invoking excepthook on
> invalid input.
> 85 """
> 86 try:
> ---> 87 return method(app, *args, **kwargs)
> method = <function initialize at 0x7f76806919d0>
> app = <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>
> args = (None,)
> kwargs = {}
> 88 except (TraitError, ArgumentError) as e:
> 89 app.print_help()
> 90 app.log.fatal("Bad config encountered during initialization:")
> 91 app.log.fatal(str(e))
> 92 app.log.debug("Config at the time: %s", app.config)
> 93 app.exit(1)
> 94
> 95
> 96 class ApplicationError(Exception):
> 97 pass
> 98
> 99
> 100 class LevelFormatter(logging.Formatter):
> 101 """Formatter with additional `highlevel` record
> 102
>
> /usr/lib/python2.7/dist-packages/IPython/terminal/ipapp.pyc in
> initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
> 301
> 302 return super(TerminalIPythonApp,
> self).parse_command_line(argv)
> 303
> 304 @catch_config_error
> 305 def initialize(self, argv=None):
> 306 """Do actions after construct, but before starting the app."""
> 307 super(TerminalIPythonApp, self).initialize(argv)
> 308 if self.subapp is not None:
> 309 # don't bother initializing further, starting subapp
> 310 return
> 311 # print self.extra_args
> 312 if self.extra_args and not self.something_to_run:
> 313 self.file_to_run = self.extra_args[0]
> 314 self.init_path()
> 315 # create the shell
> --> 316 self.init_shell()
> self.init_shell = <bound method SageTerminalApp.init_shell of
> <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>>
> 317 # and draw the banner
> 318 self.init_banner()
> 319 # Now a variety of things that happen after the banner is
> printed.
> 320 self.init_gui_pylab()
> 321 self.init_extensions()
> 322 self.init_code()
> 323
> 324 def init_shell(self):
> 325 """initialize the InteractiveShell instance"""
> 326 # Create an InteractiveShell instance.
> 327 # shell.display_banner should always be False for the terminal
> 328 # based app, because we call shell.show_banner() by hand below
> 329 # so the banner shows *before* all extension loading stuff.
> 330 self.shell =
> self.interactive_shell_class.instance(parent=self,
> 331 profile_dir=self.profile_dir,
>
> /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in
> init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
> 730 This code is based on
> 731 :meth:`TerminalIPythonApp.init_shell`.
> 732
> 733 EXAMPLES::
> 734
> 735 sage: from sage.repl.interpreter import SageTerminalApp
> 736 sage: app = SageTerminalApp.instance()
> 737 sage: app.shell
> 738 <sage.repl.interpreter.SageTestShell object at 0x...>
> 739 """
> 740 # Shell initialization
> 741 self.shell = self.shell_class.instance(
> 742 parent=self,
> 743 config=self.config,
> 744 profile_dir=self.profile_dir,
> --> 745 ipython_dir=self.ipython_dir)
> global ipython_dir = undefined
> self.ipython_dir = u'/home/lmiller/.ipython'
> 746 self.shell.configurables.append(self)
> 747 self.shell.has_sage_extensions = SAGE_EXTENSION in
> self.extensions
> 748
> 749 # Load the %lprun extension if available
> 750 try:
> 751 import line_profiler
> 752 except ImportError:
> 753 pass
> 754 else:
> 755 self.extensions.append('line_profiler')
> 756
> 757 if self.shell.has_sage_extensions:
> 758 self.extensions.remove(SAGE_EXTENSION)
> 759
> 760 # load sage extension here to get a crash if
>
> /usr/lib/python2.7/dist-packages/traitlets/config/configurable.pyc in
> instance(cls=<class 'sage.repl.interpreter.SageTerminalInteractiveShell'>,
> *args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True,
> 'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
> u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp
> object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>})
> 397 >>> class Foo(SingletonConfigurable): pass
> 398 >>> foo = Foo.instance()
> 399 >>> foo == Foo.instance()
> 400 True
> 401
> 402 Create a subclass that is retrived using the base class
> instance::
> 403
> 404 >>> class Bar(SingletonConfigurable): pass
> 405 >>> class Bam(Bar): pass
> 406 >>> bam = Bam.instance()
> 407 >>> bam == Bar.instance()
> 408 True
> 409 """
> 410 # Create and save the instance
> 411 if cls._instance is None:
> --> 412 inst = cls(*args, **kwargs)
> inst = undefined
> cls = <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>
> args = ()
> kwargs = {'ipython_dir': u'/home/lmiller/.ipython', 'profile_dir':
> <IPython.core.profiledir.ProfileDir object at 0x7f76806b4d50>, 'config':
> {'InteractiveShell': {'term_title': True, 'colors': 'LightBG',
> 'confirm_exit': False, 'prompts_class': <class
> 'sage.repl.prompts.SagePrompts'>, 'separate_in': '',
> 'ast_node_interactivity': 'all', 'simple_prompt': False},
> 'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp':
> {'shell_class': <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>,
> 'display_banner': False, 'test_shell': False, 'verbose_crash': True},
> 'SageTerminalApp': {'force_interact': True}}, 'parent':
> <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>}
> 413 # Now make sure that the instance will also be returned by
> 414 # parent classes' _instance attribute.
> 415 for subclass in cls._walk_mro():
> 416 subclass._instance = inst
> 417
> 418 if isinstance(cls._instance, cls):
> 419 return cls._instance
> 420 else:
> 421 raise MultipleInstanceError(
> 422 'Multiple incompatible subclass instances of '
> 423 '%s are being created.' % cls.__name__
> 424 )
> 425
> 426 @classmethod
> 427 def initialized(cls):
>
> /usr/lib/python2.7/dist-packages/IPython/terminal/interactiveshell.pyc in
> __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
> *args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True,
> 'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
> u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp
> object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>})
> 423
> 424 def init_alias(self):
> 425 # The parent class defines aliases that can be safely used
> with any
> 426 # frontend.
> 427 super(TerminalInteractiveShell, self).init_alias()
> 428
> 429 # Now define aliases that only make sense on the terminal,
> because they
> 430 # need direct access to the console in a way that we can't
> emulate in
> 431 # GUI or web frontend
> 432 if os.name == 'posix':
> 433 for cmd in ['clear', 'more', 'less', 'man']:
> 434 self.alias_manager.soft_define_alias(cmd, cmd)
> 435
> 436
> 437 def __init__(self, *args, **kwargs):
> --> 438 super(TerminalInteractiveShell, self).__init__(*args,
> **kwargs)
> global super = undefined
> global TerminalInteractiveShell = <class
> 'IPython.terminal.interactiveshell.TerminalInteractiveShell'>
> self.__init__ = <bound method SageTerminalInteractiveShell.__init__
> of <sage.repl.interpreter.SageTerminalInteractiveShell object at
> 0x7f76806b4910>>
> args = ()
> kwargs = {'profile_dir': <IPython.core.profiledir.ProfileDir object
> at 0x7f76806b4d50>, 'config': {'InteractiveShell': {'term_title': True,
> 'colors': 'LightBG', 'confirm_exit': False, 'prompts_class': <class
> 'sage.repl.prompts.SagePrompts'>, 'separate_in': '',
> 'ast_node_interactivity': 'all', 'simple_prompt': False},
> 'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp':
> {'shell_class': <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>,
> 'display_banner': False, 'test_shell': False, 'verbose_crash': True},
> 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
> u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp
> object at 0x7f76836e7150>}
> 439 self.init_prompt_toolkit_cli()
> 440 self.init_term_title()
> 441 self.keep_running = True
> 442
> 443 self.debugger_history = InMemoryHistory()
> 444
> 445 def ask_exit(self):
> 446 self.keep_running = False
> 447
> 448 rl_next_input = None
> 449
> 450 def pre_prompt(self):
> 451 if self.rl_next_input:
> 452 # We can't set the buffer here, because it will be reset
> just after
> 453 # this. Adding a callable to pre_run_callables does what
> we need
>
> /usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in
> __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
> ipython_dir=u'/home/lmiller/.ipython',
> profile_dir=<IPython.core.profiledir.ProfileDir object>, user_module=None,
> user_ns=None, custom_exceptions=((), None), **kwargs={'config':
> {'InteractiveShell': {'term_title': True, 'color...ue}, 'SageTerminalApp':
> {'force_interact': True}}, 'parent': <sage.repl.interpreter.SageTerminalApp
> object>})
> 488 self.init_builtins()
> 489
> 490 # The following was in post_config_initialization
> 491 self.init_inspector()
> 492 if py3compat.PY3:
> 493 self.raw_input_original = input
> 494 else:
> 495 self.raw_input_original = raw_input
> 496 self.init_completer()
> 497 # TODO: init_io() needs to happen before init_traceback
> handlers
> 498 # because the traceback handlers hardcode the stdout/stderr
> streams.
> 499 # This logic in in debugger.Pdb and should eventually be
> changed.
> 500 self.init_io()
> 501 self.init_traceback_handlers(custom_exceptions)
> 502 self.init_prompts()
> --> 503 self.init_display_formatter()
> self.init_display_formatter = <bound method
> SageTerminalInteractiveShell.init_display_formatter of
> <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f76806b4910>>
> 504 self.init_display_pub()
> 505 self.init_data_pub()
> 506 self.init_displayhook()
> 507 self.init_magics()
> 508 self.init_alias()
> 509 self.init_logstart()
> 510 self.init_pdb()
> 511 self.init_extension_manager()
> 512 self.init_payload()
> 513 self.init_deprecation_warnings()
> 514 self.hooks.late_startup_hook()
> 515 self.events.trigger('shell_initialized', self)
> 516 atexit.register(self.atexit_operations)
> 517
> 518 def get_ipython(self):
>
> /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in
> init_display_formatter(self=<sage.repl.interpreter.SageTerminalInteractiveShell
> object>)
> 245
> 246 sage: from sage.repl.interpreter import
> SageTerminalInteractiveShell
> 247 sage: SageTerminalInteractiveShell() # not tested
> 248 <sage.repl.interpreter.SageNotebookInteractiveShell object at
> 0x...>
> 249 """
> 250
> 251 def init_display_formatter(self):
> 252 """
> 253 Switch to the Sage IPython commandline rich output backend
> 254
> 255 EXAMPLES::
> 256
> 257 sage: from sage.repl.interpreter import
> SageTerminalInteractiveShell
> 258 sage:
> SageTerminalInteractiveShell().init_display_formatter() # not tested
> 259 """
> --> 260 from sage.repl.rich_output.backend_ipython import
> BackendIPythonCommandline
> global sage.repl.rich_output.backend_ipython = undefined
> BackendIPythonCommandline = undefined
> 261 backend = BackendIPythonCommandline()
> 262 backend.get_display_manager().switch_backend(backend,
> shell=self)
> 263
> 264
> 265 class SageTestShell(SageShellOverride, TerminalInteractiveShell):
> 266 """
> 267 Test Shell
> 268
> 269 Care must be taken in these doctests to quit the test shell in
> 270 order to switch back the rich output display backend to the
> 271 doctest backend.
> 272
> 273 EXAMPLES::
> 274
> 275 sage: from sage.repl.interpreter import get_test_shell
>
> /usr/lib/python2.7/dist-packages/sage/repl/rich_output/__init__.py in
> <module>()
> 1 # -*- encoding: utf-8 -*-
> 2
> ----> 3 from .display_manager import get_display_manager
> global display_manager = undefined
> global get_display_manager = undefined
> 4 from .pretty_print import pretty_print
> 5
> 6
>
> /usr/lib/python2.7/dist-packages/sage/repl/rich_output/display_manager.py in
> <module>()
> 24 The Sage display manager using the doctest backend
> 25 """
> 26
> 27
> #*****************************************************************************
> 28 # Copyright (C) 2015 Volker Braun <[email protected]>
> 29 #
> 30 # Distributed under the terms of the GNU General Public License (GPL)
> 31 # as published by the Free Software Foundation; either version 2 of
> 32 # the License, or (at your option) any later version.
> 33 # http://www.gnu.org/licenses/
> 34
> #*****************************************************************************
> 35
> 36
> 37 import warnings
> 38
> ---> 39 from sage.structure.sage_object import SageObject
> global sage.structure.sage_object = undefined
> global SageObject = undefined
> 40 from sage.repl.rich_output.output_basic import (
> 41 OutputPlainText, OutputAsciiArt, OutputUnicodeArt, OutputLatex,
> 42 )
> 43 from sage.repl.rich_output.preferences import DisplayPreferences
> 44
> 45
> 46 class DisplayException(Exception):
> 47 """
> 48 Base exception for all rich output-related exceptions.
> 49
> 50 EXAMPLES::
> 51
> 52 sage: from sage.repl.rich_output.display_manager import
> DisplayException
> 53 sage: raise DisplayException('foo')
> 54 Traceback (most recent call last):
>
> ImportError: No module named sage_object
>
> ***************************************************************************
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-support/CAPEqHYnjo432OyGqYztMZAXwew8KVaK72ZYYZL9e2ed%3DfZJoFw%40mail.gmail.com.
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-support/CAAWYfq1BiwSj33sVAMpa8mSE%3DRiOsEVjO9B1G20gwWnZ_f-Buw%40mail.gmail.com.