Sagmath was working great in fedora 25, after upgrading to fedora 26 it
crashes and generates the attached file named Sage_crash_report.txt
--
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 post to this group, send email to [email protected].
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'5c9c918',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/usr/lib64/sagemath/site-packages/IPython',
'ipython_version': '5.1.0',
'os_name': 'posix',
'platform': 'Linux-4.11.11-300.fc26.x86_64-x86_64-with-fedora-26-Twenty_Six',
'sys_executable': '/usr/lib64/sagemath/local/bin/python',
'sys_platform': 'linux2',
'sys_version': '2.7.13 (default, Jun 26 2017, 10:20:05) \n[GCC 7.1.1 20170622
(Red Hat 7.1.1-3)]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError Python 2.7.13: /usr/lib64/sagemath/local/bin/python
Mon Jul 31 19:44:25 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/lib64/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 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 0x7f524e39e290>>
11 app.start()
<decorator-gen-109> in initialize(self=<sage.repl.interpreter.SageTerminalApp
object>, argv=None)
/usr/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={})
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 0x7f5240830500>
app = <sage.repl.interpreter.SageTerminalApp object at 0x7f524e39e290>
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/lib64/sagemath/site-packages/IPython/terminal/ipapp.pyc in
initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
294
295 return super(TerminalIPythonApp, self).parse_command_line(argv)
296
297 @catch_config_error
298 def initialize(self, argv=None):
299 """Do actions after construct, but before starting the app."""
300 super(TerminalIPythonApp, self).initialize(argv)
301 if self.subapp is not None:
302 # don't bother initializing further, starting subapp
303 return
304 # print self.extra_args
305 if self.extra_args and not self.something_to_run:
306 self.file_to_run = self.extra_args[0]
307 self.init_path()
308 # create the shell
--> 309 self.init_shell()
self.init_shell = <bound method SageTerminalApp.init_shell of
<sage.repl.interpreter.SageTerminalApp object at 0x7f524e39e290>>
310 # and draw the banner
311 self.init_banner()
312 # Now a variety of things that happen after the banner is
printed.
313 self.init_gui_pylab()
314 self.init_extensions()
315 self.init_code()
316
317 def init_shell(self):
318 """initialize the InteractiveShell instance"""
319 # Create an InteractiveShell instance.
320 # shell.display_banner should always be False for the terminal
321 # based app, because we call shell.show_banner() by hand below
322 # so the banner shows *before* all extension loading stuff.
323 self.shell = TerminalInteractiveShell.instance(parent=self,
324 profile_dir=self.profile_dir,
/usr/lib64/python2.7/site-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/silvio/.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/site-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/silvio/.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/silvio/.ipython', 'profile_dir':
<IPython.core.profiledir.ProfileDir object at 0x7f52405cd310>, '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 0x7f524e39e290>}
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/lib64/sagemath/site-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/silvio/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp
object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>})
381
382 def init_alias(self):
383 # The parent class defines aliases that can be safely used with
any
384 # frontend.
385 super(TerminalInteractiveShell, self).init_alias()
386
387 # Now define aliases that only make sense on the terminal,
because they
388 # need direct access to the console in a way that we can't
emulate in
389 # GUI or web frontend
390 if os.name == 'posix':
391 for cmd in ['clear', 'more', 'less', 'man']:
392 self.alias_manager.soft_define_alias(cmd, cmd)
393
394
395 def __init__(self, *args, **kwargs):
--> 396 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 0x7f52405cd390>>
args = ()
kwargs = {'profile_dir': <IPython.core.profiledir.ProfileDir object at
0x7f52405cd310>, '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/silvio/.ipython', 'parent':
<sage.repl.interpreter.SageTerminalApp object at 0x7f524e39e290>}
397 self.init_prompt_toolkit_cli()
398 self.init_term_title()
399 self.keep_running = True
400
401 self.debugger_history = InMemoryHistory()
402
403 def ask_exit(self):
404 self.keep_running = False
405
406 rl_next_input = None
407
408 def pre_prompt(self):
409 if self.rl_next_input:
410 self.pt_cli.application.buffer.text =
cast_unicode_py2(self.rl_next_input)
411 self.rl_next_input = None
/usr/lib64/sagemath/site-packages/IPython/core/interactiveshell.pyc in
__init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
ipython_dir=u'/home/silvio/.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>})
487 self.init_builtins()
488
489 # The following was in post_config_initialization
490 self.init_inspector()
491 if py3compat.PY3:
492 self.raw_input_original = input
493 else:
494 self.raw_input_original = raw_input
495 self.init_completer()
496 # TODO: init_io() needs to happen before init_traceback handlers
497 # because the traceback handlers hardcode the stdout/stderr
streams.
498 # This logic in in debugger.Pdb and should eventually be
changed.
499 self.init_io()
500 self.init_traceback_handlers(custom_exceptions)
501 self.init_prompts()
--> 502 self.init_display_formatter()
self.init_display_formatter = <bound method
SageTerminalInteractiveShell.init_display_formatter of
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f52405cd390>>
503 self.init_display_pub()
504 self.init_data_pub()
505 self.init_displayhook()
506 self.init_magics()
507 self.init_alias()
508 self.init_logstart()
509 self.init_pdb()
510 self.init_extension_manager()
511 self.init_payload()
512 self.init_deprecation_warnings()
513 self.hooks.late_startup_hook()
514 self.events.trigger('shell_initialized', self)
515 atexit.register(self.atexit_operations)
516
517 def get_ipython(self):
/usr/lib64/python2.7/site-packages/sage/repl/interpreter.pyc in
init_display_formatter(self=<sage.repl.interpreter.SageTerminalInteractiveShell
object>)
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
261 backend = BackendIPythonCommandline()
--> 262 backend.get_display_manager().switch_backend(backend,
shell=self)
backend.get_display_manager.switch_backend = undefined
backend = IPython command line
global shell = undefined
self = <sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7f52405cd390>
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
276 sage: shell = get_test_shell(); shell
277 <sage.repl.interpreter.SageTestShell object at 0x...>
/usr/lib64/python2.7/site-packages/sage/repl/rich_output/display_manager.pyc in
switch_backend(self=The Sage display manager using the IPython command line
backend, backend=IPython command line, **kwds={'shell':
<sage.repl.interpreter.SageTerminalInteractiveShell object>})
305 raise ValueError('every backend must support plain text')
306 try:
307 self._backend.uninstall()
308 except AttributeError:
309 pass # first time we switch
310 # clear caches
311 self._output_promotions = dict()
312 self._supported_output = frozenset(
313 map(self._demote_output_class, backend.supported_output()))
314 # install new backend
315 try:
316 old_backend = self._backend
317 except AttributeError:
318 old_backend = None
319 self._backend = backend
--> 320 self._backend.install(**kwds)
self._backend.install = <bound method BackendIPythonCommandline.install
of IPython command line>
kwds = {'shell': <sage.repl.interpreter.SageTerminalInteractiveShell
object at 0x7f52405cd390>}
321 self._preferences =
DisplayPreferences(self._backend.default_preferences())
322 return old_backend
323
324 @property
325 def preferences(self):
326 """
327 Return the preferences.
328
329 OUTPUT:
330
331 The display preferences as instance of
332 :class:`~sage.repl.rich_output.preferences.DisplayPreferences`.
333
334 EXAMPLES::
335
/usr/lib64/python2.7/site-packages/sage/repl/rich_output/backend_ipython.pyc in
install(self=IPython command line, **kwds={'shell':
<sage.repl.interpreter.SageTerminalInteractiveShell object>})
43
44 No tests since switching away from the doctest rich output
45 backend will break the doctests.
46
47 EXAMPLES::
48
49 sage: from sage.repl.interpreter import get_test_shell
50 sage: from sage.repl.rich_output.backend_ipython import
BackendIPython
51 sage: backend = BackendIPython()
52 sage: shell = get_test_shell();
53 sage: backend.install(shell=shell)
54 sage: shell.run_cell('1+1')
55 2
56 """
57 shell = kwds['shell']
---> 58 from sage.repl.display.formatter import SageDisplayFormatter
global sage.repl.display.formatter = undefined
SageDisplayFormatter = undefined
59 shell.display_formatter = SageDisplayFormatter(parent=shell)
60 shell.configurables.append(shell.display_formatter)
61
62 def set_underscore_variable(self, obj):
63 """
64 Set the ``_`` builtin variable.
65
66 Since IPython handles the history itself, this does nothing.
67
68 INPUT:
69
70 - ``obj`` -- anything.
71
72 EXAMPLES::
73
/usr/lib64/python2.7/site-packages/sage/repl/display/formatter.py in <module>()
49
50 This other facility uses a simple
51 :class:`~sage.typeset.ascii_art.AsciiArt` object (see and
52 :meth:`sage.structure.sage_object.SageObject._ascii_art_`). """
53
54
#*****************************************************************************
55 # Copyright (C) 2014 Volker Braun <[email protected]>
56 #
57 # Distributed under the terms of the GNU General Public License (GPL)
58 # as published by the Free Software Foundation; either version 2 of
59 # the License, or (at your option) any later version.
60 # http://www.gnu.org/licenses/
61
#*****************************************************************************
62
63
---> 64 from IPython.core.formatters import DisplayFormatter, warn_format_error
global IPython.core.formatters = undefined
global DisplayFormatter = None
global warn_format_error = undefined
65 from IPython.utils.py3compat import str_to_unicode, unicode_to_str
66
67 from sage.structure.sage_object import SageObject
68 from sage.repl.display.pretty_print import SagePrettyPrinter
69
70
71
72 class SageDisplayFormatter(DisplayFormatter):
73
74 def __init__(self, *args, **kwds):
75 """
76 This is where the Sage rich objects are translated to IPython
77
78 INPUT/OUTPUT:
79
ImportError: cannot import name warn_format_error
***************************************************************************
History of session input: