On Friday, August 17, 2018 at 1:48:30 AM UTC+3, Laurent Bakri wrote: > > Hi all, > as indicated in the crash message, I email you the crash report. >
we need to know how you installed Sage, and something about your OS (what Linux distribution and what version it is). > > Cheers, > *************************************************************************** > > 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-4.17.0-1-amd64-x86_64-with-debian-buster-sid', > 'sys_executable': '/usr/bin/python', > 'sys_platform': 'linux2', > 'sys_version': '2.7.15 (default, Jul 28 2018, 11:29:29) \n[GCC 8.1.0]'} > > *************************************************************************** > > > > *************************************************************************** > > Crash traceback: > > --------------------------------------------------------------------------- > --------------------------------------------------------------------------- > SignalError Python 2.7.15: /usr/bin/python > Fri Aug 17 00:43:20 2018 > 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 0x7f0bc1b41310>> > 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 0x7f0bbfe81de8> > app = <sage.repl.interpreter.SageTerminalApp object at > 0x7f0bc1b41310> > 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 0x7f0bc1b41310>> > 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>) > 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 0x7f0bc1a85590>> > global SAGE_EXTENSION = 'sage' > 763 > 764 > > /usr/lib/python2.7/dist-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 0x7f0bc1a85590>> > mod = <module 'sage' from > '/usr/lib/python2.7/dist-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: > > /usr/lib/python2.7/dist-packages/IPython/core/extensions.pyc in > _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager > object>, mod=<module 'sage' from > '/usr/lib/python2.7/dist-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 > 0x7f0bc1d626e0> > self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell > object at 0x7f0bbfedda10> > 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. > > /usr/lib/python2.7/dist-packages/sage/__init__.pyc in > load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell > > object>,)) > 1 __all__ = ['all'] > 2 > 3 # Make sure that the correct zlib library is loaded. This is needed > 4 # to prevent the system zlib to be loaded instead of the Sage one. > 5 # See https://trac.sagemath.org/ticket/23122 > 6 import zlib > 7 > 8 # IPython calls this when starting up > 9 def load_ipython_extension(*args): > 10 import sage.repl.ipython_extension > ---> 11 sage.repl.ipython_extension.load_ipython_extension(*args) > sage.repl.ipython_extension.load_ipython_extension = <function > load_ipython_extension at 0x7f0bbea62938> > args = (<sage.repl.interpreter.SageTerminalInteractiveShell object > at 0x7f0bbfedda10>,) > 12 > 13 > 14 # Monkey-patch inspect.isfunction() to support Cython functions. > 15 def isfunction(obj): > 16 """ > 17 Check whether something is a function. > 18 > 19 We assume that anything which has a genuine ``__code__`` > 20 attribute (not using ``__getattr__`` overrides) is a function. > 21 This is meant to support Cython functions. > 22 > 23 EXAMPLES:: > 24 > 25 sage: from inspect import isfunction > 26 sage: def f(): pass > 27 sage: isfunction(f) > 28 True > 29 sage: isfunction(lambda x:x) > 30 True > 31 sage: from sage.categories.coercion_methods import > _mul_parent > > /usr/lib/python2.7/dist-packages/sage/repl/ipython_extension.pyc in > wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell > object>,), **kwargs={}) > 546 ....: if work: > 547 ....: return 'foo worked' > 548 ....: raise RuntimeError("foo didn't work") > 549 sage: foo(False) > 550 Traceback (most recent call last): > 551 ... > 552 RuntimeError: foo didn't work > 553 sage: foo(True) > 554 'foo worked' > 555 sage: foo(False) > 556 sage: foo(True) > 557 """ > 558 @wraps(func) > 559 def wrapper(*args, **kwargs): > 560 if not wrapper.has_run: > --> 561 result = func(*args, **kwargs) > result = undefined > global func = undefined > args = (<sage.repl.interpreter.SageTerminalInteractiveShell object > at 0x7f0bbfedda10>,) > kwargs = {} > 562 wrapper.has_run = True > 563 return result > 564 wrapper.has_run = False > 565 return wrapper > 566 > 567 > 568 @run_once > 569 def load_ipython_extension(ip): > 570 """ > 571 Load the extension in IPython. > 572 """ > 573 # this modifies ip > 574 SageCustomizations(shell=ip) > > /usr/lib/python2.7/dist-packages/sage/repl/ipython_extension.pyc in > load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell > object>) > 559 def wrapper(*args, **kwargs): > 560 if not wrapper.has_run: > 561 result = func(*args, **kwargs) > 562 wrapper.has_run = True > 563 return result > 564 wrapper.has_run = False > 565 return wrapper > 566 > 567 > 568 @run_once > 569 def load_ipython_extension(ip): > 570 """ > 571 Load the extension in IPython. > 572 """ > 573 # this modifies ip > --> 574 SageCustomizations(shell=ip) > global SageCustomizations = <class > 'sage.repl.ipython_extension.SageCustomizations'> > global shell = undefined > ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at > 0x7f0bbfedda10> > > /usr/lib/python2.7/dist-packages/sage/repl/ipython_extension.pyc in > __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, > shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>) > 417 def __init__(self, shell=None): > 418 """ > 419 Initialize the Sage plugin. > 420 """ > 421 self.shell = shell > 422 > 423 self.auto_magics = SageMagics(shell) > 424 self.shell.register_magics(self.auto_magics) > 425 > 426 import sage.misc.edit_module as edit_module > 427 self.shell.set_hook('editor', edit_module.edit_devel) > 428 > 429 self.init_inspector() > 430 self.init_line_transforms() > 431 > --> 432 import sage.all # until sage's import hell is fixed > sage.all = undefined > 433 > 434 self.shell.verbose_quit = True > 435 self.set_quit_hook() > 436 > 437 self.register_interface_magics() > 438 > 439 if SAGE_IMPORTALL == 'yes': > 440 self.init_environment() > 441 > 442 def register_interface_magics(self): > 443 """ > 444 Register magics for each of the Sage interfaces > 445 """ > 446 from sage.repl.interface_magic import InterfaceMagic > 447 InterfaceMagic.register_all(self.shell) > > /usr/lib/python2.7/dist-packages/sage/all.py in <module>() > 87 from sage.misc.all import * # takes a while > 88 from sage.typeset.all import * > 89 from sage.repl.all import * > 90 > 91 from sage.misc.sh import sh > 92 > 93 from sage.libs.all import * > 94 from sage.data_structures.all import * > 95 from sage.doctest.all import * > 96 > 97 from sage.structure.all import * > 98 from sage.rings.all import * > 99 from sage.arith.all import * > 100 from sage.matrix.all import * > 101 > --> 102 from sage.symbolic.all import * > global sage.symbolic.all = undefined > 103 from sage.modules.all import * > 104 from sage.monoids.all import * > 105 from sage.algebras.all import * > 106 from sage.modular.all import * > 107 from sage.sat.all import * > 108 from sage.schemes.all import * > 109 from sage.graphs.all import * > 110 from sage.groups.all import * > 111 from sage.databases.all import * > 112 from sage.categories.all import * > 113 from sage.sets.all import * > 114 from sage.probability.all import * > 115 from sage.interfaces.all import * > 116 > 117 from sage.functions.all import * > > /usr/lib/python2.7/dist-packages/sage/symbolic/all.py in <module>() > 1 from __future__ import absolute_import > 2 > ----> 3 from sage.libs.pynac.pynac import I > global sage.libs.pynac.pynac = undefined > global I = undefined > 4 i = I > 5 > 6 from .ring import SR > 7 from .constants import (pi, e, NaN, golden_ratio, log2, > euler_gamma, catalan, > 8 khinchin, twinprime, mertens, glaisher) > 9 from .expression import Expression, solve_diophantine, hold > 10 from .callable import CallableSymbolicExpressionRing > 11 > 12 from sage.symbolic.relation import solve, solve_mod, solve_ineq > 13 from sage.symbolic.assumptions import assume, forget, assumptions, > assuming > 14 > 15 from .units import units > > sage/libs/pynac/pynac.pyx in init sage.libs.pynac.pynac() > > sage/libs/pynac/pynac.pyx in sage.libs.pynac.pynac.init_pynac_I > (build/cythonized/sage/libs/pynac/pynac.cpp:28269)() > > /usr/lib/python2.7/dist-packages/sage/rings/number_field/number_field.pyc > in QuadraticField(D=-1, name='I', check=True, embedding=1.00000000000000*I, > latex_name='i', **args={}) > 912 False > 913 """ > 914 D = QQ(D) > 915 if check: > 916 if D.is_square(): > 917 raise ValueError("D must not be a perfect square.") > 918 R = QQ['x'] > 919 f = R([-D, 0, 1]) > 920 if embedding is True: > 921 if D > 0: > 922 embedding = RLF(D).sqrt() > 923 else: > 924 embedding = CLF(D).sqrt() > 925 if latex_name == 'sqrt': > 926 latex_name = r'\sqrt{%s}' % D > --> 927 return NumberField(f, name, check=False, embedding=embedding, > latex_name=latex_name, **args) > global NumberField = <function NumberField at 0x7f0afabd75f0> > f = x^2 + 1 > name = 'I' > check = True > global False = undefined > embedding = 1.00000000000000*I > latex_name = 'i' > args = {} > 928 > 929 def is_AbsoluteNumberField(x): > 930 """ > 931 Return True if x is an absolute number field. > 932 > 933 EXAMPLES:: > 934 > 935 sage: from sage.rings.number_field.number_field import > is_AbsoluteNumberField > 936 sage: is_AbsoluteNumberField(NumberField(x^2+1,'a')) > 937 True > 938 sage: is_AbsoluteNumberField(NumberField([x^3 + 17, > x^2+1],'a')) > 939 False > 940 > 941 The rationals are a number field, but they're not of the > absolute > 942 number field class. > > /usr/lib/python2.7/dist-packages/sage/rings/number_field/number_field.pyc > in NumberField(polynomial=x^2 + 1, name='I', check=False, names=None, > embedding=1.00000000000000*I, latex_name='i', assume_disc_small=False, > maximize_at_primes=None, structure=None) > 514 (2,) > 515 > 516 It is an error not to specify the generator:: > 517 > 518 sage: K = NumberField(x^2-2) > 519 Traceback (most recent call last): > 520 ... > 521 TypeError: You must specify the name of the generator. > 522 > 523 """ > 524 if names is not None: > 525 name = names > 526 if isinstance(polynomial, (list,tuple)): > 527 return NumberFieldTower(polynomial, names=name, > check=check, embeddings=embedding, latex_names=latex_name, > assume_disc_small=assume_disc_small, maximize_at_primes=maximize_at_primes, > structures=structure) > 528 > --> 529 return NumberField_version2(polynomial=polynomial, name=name, > check=check, embedding=embedding, latex_name=latex_name, > assume_disc_small=assume_disc_small, maximize_at_primes=maximize_at_primes, > structure=structure) > global NumberField_version2 = <class > 'sage.rings.number_field.number_field.NumberFieldFactory'> > polynomial = x^2 + 1 > name = 'I' > check = False > embedding = 1.00000000000000*I > latex_name = 'i' > assume_disc_small = False > maximize_at_primes = None > structure = None > 530 > 531 class NumberFieldFactory(UniqueFactory): > 532 r""" > 533 Factory for number fields. > 534 > 535 This should usually not be called directly, use > :meth:`NumberField` > 536 instead. > 537 > 538 INPUT: > 539 > 540 - ``polynomial`` - a polynomial over `\QQ` or a number > field. > 541 - ``name`` - a string (default: ``'a'``), the name of the > generator > 542 - ``check`` - a boolean (default: ``True``); do type > checking and > 543 irreducibility checking. > 544 - ``embedding`` - ``None`` or an element, the images of > the generator > > sage/structure/factory.pyx in > sage.structure.factory.UniqueFactory.__call__ > (build/cythonized/sage/structure/factory.c:1894)() > > sage/structure/factory.pyx in > sage.structure.factory.UniqueFactory.get_object > (build/cythonized/sage/structure/factory.c:2083)() > > sage/misc/weak_dict.pyx in > sage.misc.weak_dict.WeakValueDictionary.__getitem__ > (build/cythonized/sage/misc/weak_dict.c:3520)() > > sage/cpython/dict_del_by_value.pyx in > sage.cpython.dict_del_by_value.PyDict_GetItemWithError > (build/cythonized/sage/cpython/dict_del_by_value.c:1093)() > > sage/rings/real_lazy.pyx in sage.rings.real_lazy.LazyFieldElement.__hash__ > (build/cythonized/sage/rings/real_lazy.c:9293)() > > sage/rings/real_lazy.pyx in > sage.rings.real_lazy.LazyFieldElement.__complex__ > (build/cythonized/sage/rings/real_lazy.c:10057)() > > sage/rings/real_lazy.pyx in sage.rings.real_lazy.LazyAlgebraic.eval > (build/cythonized/sage/rings/real_lazy.c:18610)() > > sage/rings/real_lazy.pyx in sage.rings.real_lazy.LazyAlgebraic.eval > (build/cythonized/sage/rings/real_lazy.c:18767)() > > sage/rings/polynomial/polynomial_element.pyx in > sage.rings.polynomial.polynomial_element.Polynomial.roots > (build/cythonized/sage/rings/polynomial/polynomial_element.c:69593)() > > /usr/lib/python2.7/dist-packages/sage/rings/polynomial/complex_roots.pyc > in complex_roots(p=x^2 + 1, skip_squarefree=False, retval='algebraic', > min_prec=0) > 243 if skip_squarefree: > 244 factors = [(p, 1)] > 245 else: > 246 factors = p.squarefree_decomposition() > 247 > 248 prec = 53 > 249 while True: > 250 CC = ComplexField(prec) > 251 CCX = CC['x'] > 252 > 253 all_rts = [] > 254 ok = True > 255 > 256 for (factor, exp) in factors: > 257 cfac = CCX(factor) > --> 258 rts = cfac.roots(multiplicities=False) > rts = undefined > cfac.roots = <built-in method roots of > PolynomialRing_field_with_category.element_class object at 0x7f0aeaaaf360> > global multiplicities = undefined > global False = undefined > 259 # Make sure the number of roots we found is the > degree. If > 260 # we don't find that many roots, it's because the > 261 # precision isn't big enough and though the (possibly > 262 # exact) polynomial "factor" is squarefree, it is not > 263 # squarefree as an element of CCX. > 264 if len(rts) < factor.degree(): > 265 ok = False > 266 break > 267 irts = interval_roots(factor, rts, max(prec, min_prec)) > 268 if irts is None: > 269 ok = False > 270 break > 271 if retval != 'interval': > 272 factor = QQbar.common_polynomial(factor) > 273 for irt in irts: > > sage/rings/polynomial/polynomial_element.pyx in > sage.rings.polynomial.polynomial_element.Polynomial.roots > (build/cythonized/sage/rings/polynomial/polynomial_element.c:66301)() > > sage/rings/polynomial/polynomial_element.pyx in > sage.rings.polynomial.polynomial_element.Polynomial.__pari__ > (build/cythonized/sage/rings/polynomial/polynomial_element.c:53869)() > > sage/rings/polynomial/polynomial_element.pyx in > sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name > (build/cythonized/sage/rings/polynomial/polynomial_element.c:54334)() > > sage/rings/complex_number.pyx in > sage.rings.complex_number.ComplexNumber.__pari__ > (build/cythonized/sage/rings/complex_number.c:7220)() > > sage/rings/real_mpfr.pyx in sage.rings.real_mpfr.RealNumber.__pari__ > (build/cythonized/sage/rings/real_mpfr.c:22904)() > > SignalError: Segmentation fault > > ********************************************************* > > Laurent. > -- 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.