ipython-5.0.0 crash in Sage 7.5.1 crashes on Linux: ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 7.5.1, Release Date: 2017-01-15 │ │ Type "notebook()" for the browser-based notebook interface. │ │ Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘
********************************************************************** Oops, Sage crashed. We do our best to make it stable, but... I have attached the crash report. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. 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': '/opt/sage/local/lib/python2.7/site-packages/IPython', 'ipython_version': '5.1.0', 'os_name': 'posix', 'platform': 'Linux-4.4.38-x86_64-Intel-R-_Core-TM-_i5-2410M_CPU_@_2.30GHz-with-slackware-14.2', 'sys_executable': '/opt/sage/local/bin/python', 'sys_platform': 'linux2', 'sys_version': '2.7.13 (default, Dec 28 2016, 13:21:25) \n[GCC 5.4.0]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 2.7.13: /opt/sage/local/bin/python Thu Mar 9 13:28:48 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. /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 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 0x7f4d7b524610>> 11 app.start() <decorator-gen-109> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) /opt/sage/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 0x7f4d71f3d5f0> app = <sage.repl.interpreter.SageTerminalApp object at 0x7f4d7b524610> 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 /opt/sage/local/lib/python2.7/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 0x7f4d7b524610>> 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, /opt/sage/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>) 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 761 # something is wrong with the sage library --> 762 self.shell.extension_manager.load_extension(SAGE_EXTENSION) self.shell.extension_manager.load_extension = <bound method ExtensionManager.load_extension of <IPython.core.extensions.ExtensionManager object at 0x7f4d70cc50d0>> global SAGE_EXTENSION = 'sage' 763 764 /opt/sage/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, module_str='sage') 70 71 Returns the string "already loaded" if the extension is already loaded, 72 "no load function" if the module doesn't have a load_ipython_extension 73 function, or None if it succeeded. 74 """ 75 if module_str in self.loaded: 76 return "already loaded" 77 78 from IPython.utils.syspathcontext import prepended_to_syspath 79 80 with self.shell.builtin_trap: 81 if module_str not in sys.modules: 82 with prepended_to_syspath(self.ipython_extension_dir): 83 __import__(module_str) 84 mod = sys.modules[module_str] ---> 85 if self._call_load_ipython_extension(mod): self._call_load_ipython_extension = <bound method ExtensionManager._call_load_ipython_extension of <IPython.core.extensions.ExtensionManager object at 0x7f4d70cc50d0>> mod = <module 'sage' from '/opt/sage/local/lib/python2.7/site-packages/sage/__init__.pyc'> 86 self.loaded.add(module_str) 87 else: 88 return "no load function" 89 90 def unload_extension(self, module_str): 91 """Unload an IPython extension by its module name. 92 93 This function looks up the extension's name in ``sys.modules`` and 94 simply calls ``mod.unload_ipython_extension(self)``. 95 96 Returns the string "no unload function" if the extension doesn't define 97 a function to unload itself, "not loaded" if the extension isn't loaded, 98 otherwise None. 99 """ 100 if module_str not in self.loaded: /opt/sage/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/opt/sage/local/lib/python2.7/site-packages/sage/__init__.pyc'>) 117 """ 118 from IPython.utils.syspathcontext import prepended_to_syspath 119 120 if (module_str in self.loaded) and (module_str in sys.modules): 121 self.unload_extension(module_str) 122 mod = sys.modules[module_str] 123 with prepended_to_syspath(self.ipython_extension_dir): 124 reload(mod) 125 if self._call_load_ipython_extension(mod): 126 self.loaded.add(module_str) 127 else: 128 self.load_extension(module_str) 129 130 def _call_load_ipython_extension(self, mod): 131 if hasattr(mod, 'load_ipython_extension'): --> 132 mod.load_ipython_extension(self.shell) mod.load_ipython_extension = <function load_ipython_extension at 0x7f4d7b519668> self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f4d71f35e50> 133 return True 134 135 def _call_unload_ipython_extension(self, mod): 136 if hasattr(mod, 'unload_ipython_extension'): 137 mod.unload_ipython_extension(self.shell) 138 return True 139 140 def install_extension(self, url, filename=None): 141 """Download and install an IPython extension. 142 143 If filename is given, the file will be so named (inside the extension 144 directory). Otherwise, the name from the URL will be used. The file must 145 have a .py or .zip extension; otherwise, a ValueError will be raised. 146 147 Returns the full path to the installed file. /opt/sage/local/lib/python2.7/site-packages/sage/__init__.pyc in load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,)) 1 __all__ = ['all'] 2 3 # IPython calls this when starting up 4 def load_ipython_extension(*args): 5 import sage.repl.ipython_extension ----> 6 sage.repl.ipython_extension.load_ipython_extension(*args) sage.repl.ipython_extension.load_ipython_extension = <function load_ipython_extension at 0x7f4d78719140> args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f4d71f35e50>,) /opt/sage/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={}) 458 ....: if work: 459 ....: return 'foo worked' 460 ....: raise RuntimeError("foo didn't work") 461 sage: foo(False) 462 Traceback (most recent call last): 463 ... 464 RuntimeError: foo didn't work 465 sage: foo(True) 466 'foo worked' 467 sage: foo(False) 468 sage: foo(True) 469 """ 470 @wraps(func) 471 def wrapper(*args, **kwargs): 472 if not wrapper.has_run: --> 473 result = func(*args, **kwargs) result = undefined global func = undefined args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f4d71f35e50>,) kwargs = {} 474 wrapper.has_run = True 475 return result 476 wrapper.has_run = False 477 return wrapper 478 479 480 @run_once 481 def load_ipython_extension(ip): 482 """ 483 Load the extension in IPython. 484 """ 485 # this modifies ip 486 SageCustomizations(shell=ip) /opt/sage/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 471 def wrapper(*args, **kwargs): 472 if not wrapper.has_run: 473 result = func(*args, **kwargs) 474 wrapper.has_run = True 475 return result 476 wrapper.has_run = False 477 return wrapper 478 479 480 @run_once 481 def load_ipython_extension(ip): 482 """ 483 Load the extension in IPython. 484 """ 485 # this modifies ip --> 486 SageCustomizations(shell=ip) global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'> global shell = undefined ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f4d71f35e50> /opt/sage/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 361 def __init__(self, shell=None): 362 """ 363 Initialize the Sage plugin. 364 """ 365 self.shell = shell 366 367 self.auto_magics = SageMagics(shell) 368 self.shell.register_magics(self.auto_magics) 369 370 import sage.misc.edit_module as edit_module 371 self.shell.set_hook('editor', edit_module.edit_devel) 372 373 self.init_inspector() 374 self.init_line_transforms() 375 --> 376 import sage.all # until sage's import hell is fixed sage.all = undefined 377 378 self.shell.verbose_quit = True 379 self.set_quit_hook() 380 381 self.register_interface_magics() 382 383 if SAGE_IMPORTALL == 'yes': 384 self.init_environment() 385 386 def register_interface_magics(self): 387 """ 388 Register magics for each of the Sage interfaces 389 """ 390 from sage.repl.interface_magic import InterfaceMagic 391 InterfaceMagic.register_all(self.shell) /opt/sage/local/lib/python2.7/site-packages/sage/all.py in <module>() 71 import os 72 import sys 73 import operator 74 import math 75 76 from sage.env import SAGE_ROOT, SAGE_SRC, SAGE_DOC_SRC, SAGE_LOCAL, DOT_SAGE, SAGE_ENV 77 78 # Add SAGE_SRC at the end of sys.path to enable Cython tracebacks 79 # (which use paths relative to SAGE_SRC) 80 sys.path.append(SAGE_SRC) 81 82 83 ################################################################### 84 85 # This import also setups the interrupt handler ---> 86 from cysignals.signals import (AlarmInterrupt, SignalError, global cysignals.signals = undefined global AlarmInterrupt = undefined global SignalError = undefined global sig_on_reset = undefined global sig_on_count = undefined 87 sig_on_reset as sig_on_count) 88 89 from time import sleep 90 91 import sage.misc.lazy_import 92 from sage.misc.all import * # takes a while 93 from sage.typeset.all import * 94 from sage.repl.all import * 95 96 from sage.misc.sh import sh 97 98 from sage.libs.all import * 99 from sage.data_structures.all import * 100 from sage.doctest.all import * 101 /opt/sage/local/lib/python2.7/site-packages/cysignals/__init__.py in <module>() ----> 1 from .signals import AlarmInterrupt, SignalError, init_cysignals # noqa global signals = undefined global AlarmInterrupt = undefined global SignalError = undefined global init_cysignals = undefined 2 3 init_cysignals() ImportError: libpari-gmp-2.8.so.0: cannot open shared object file: No such file or directory *************************************************************************** History of session input: *** Last line of input (may not be in above history):