Hello, I would appreciate your feedback on a Sage crash that I'm facing after several trials. Please find attached the associated report along with some potentially relevant information below:
- Which operating system: MacOS Mojave *$ sw_vers* ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G95 *$ gcc --version* Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1 Apple LLVM version 10.0.1 (clang-1001.0.46.4) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin - How Sage was installed + How to reproduce the crash: Step 0: Downloading *sage-9.1-OSX_10.11.6-x86_64.tar.bz2* (tried also .dmg and .app.dmg, same results) from http://www-ftp.lip6.fr/pub/math/sagemath/osx/intel/index.html , then moving the *Sagemath* folder into /Applications/. Step 1: Running /Applications/SageMath/sage and adding sudo ln -s /Applications/SageMath/sage /usr/local/bin/sage *Results*: running sage in terminal launches sage which operates correctly. Step 2: (Note: CPLEX is already installed and correctly configured) Running *sage -i sage_numerical_backends_cplex* as described for Sage 9.1 in https://github.com/mkoeppe/sage-numerical-backends-cplex *Results: *The installation is successful but now running sage yields an error (more details in the crash report attached): ImportError: dlopen(/Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/ ring.cpython-37m-darwin.so, 2): Symbol not found: __ZNSt3__16vectorIN5GiNaC2exENS_9allocatorIS2_EEE11__vallocateEm Referenced from: /Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/ ring.cpython-37m-darwin.so Expected in: flat namespace in /Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/ ring.cpython-37m-darwin.so Thank you and best regards, H. -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/CANmzTwZ5uqTbrj2skMouCR4CG%2B7GkgogidZ70PKc0iYBbR_TKQ%40mail.gmail.com.
*************************************************************************** IPython post-mortem report {'commit_hash': '033ab93c7', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': '/Applications/SageMath/local/lib/python3.7/site-packages/IPython', 'ipython_version': '5.8.0', 'os_name': 'posix', 'platform': 'Darwin-18.7.0-x86_64-i386-64bit', 'sys_executable': '/Applications/SageMath/local/bin/python3', 'sys_platform': 'darwin', 'sys_version': '3.7.3 (default, May 23 2020, 09:48:14) \n' '[Clang 7.3.0 (clang-703.0.31)]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 3.7.3: /Applications/SageMath/local/bin/python3 Wed Oct 14 18:05:59 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. /Applications/SageMath/src/bin/sage-ipython in <module>() 1 #!/usr/bin/env sage-python 2 # -*- coding: utf-8 -*- 3 """ 4 Sage IPython startup script. 5 """ 6 7 # Display startup banner. Do this before anything else to give the user 8 # early feedback that Sage is starting. 9 from sage.misc.banner import banner 10 banner() 11 12 from sage.repl.interpreter import SageTerminalApp 13 14 app = SageTerminalApp.instance() ---> 15 app.initialize() global app.initialize = <bound method TerminalIPythonApp.initialize of <sage.repl.interpreter.SageTerminalApp object at 0x10273d278>> 16 app.start() </Applications/SageMath/local/lib/python3.7/site-packages/decorator.py:decorator-gen-110> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) /Applications/SageMath/local/lib/python3.7/site-packages/traitlets/config/application.py in catch_config_error(method=<function TerminalIPythonApp.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 TerminalIPythonApp.initialize at 0x1035a6950> app = <sage.repl.interpreter.SageTerminalApp object at 0x10273d278> 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 /Applications/SageMath/local/lib/python3.7/site-packages/IPython/terminal/ipapp.py 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 0x10273d278>> 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, /Applications/SageMath/local/lib/python3.7/site-packages/sage/repl/interpreter.py in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>) 772 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions 773 774 # Load the %lprun extension if available 775 try: 776 import line_profiler 777 except ImportError: 778 pass 779 else: 780 self.extensions.append('line_profiler') 781 782 if self.shell.has_sage_extensions: 783 self.extensions.remove(SAGE_EXTENSION) 784 785 # load sage extension here to get a crash if 786 # something is wrong with the sage library --> 787 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 0x104d3bcf8>> global SAGE_EXTENSION = 'sage' 788 789 /Applications/SageMath/local/lib/python3.7/site-packages/IPython/core/extensions.py 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 0x104d3bcf8>> mod = <module 'sage' from '/Applications/SageMath/local/lib/python3.7/site-packages/sage/__init__.py'> 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: /Applications/SageMath/local/lib/python3.7/site-packages/IPython/core/extensions.py in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/Applications/SageMath/local/lib/python3.7/site-packages/sage/__init__.py'>) 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 0x1027cb8c8> self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x10269bbe0> 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. /Applications/SageMath/local/lib/python3.7/site-packages/sage/__init__.py in load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,)) 1 __all__ = ['all'] 2 3 # Set sage.__version__ to the current version number. This is analogous 4 # to many other Python packages. 5 from sage.version import version as __version__ 6 7 # Make sure that the correct zlib library is loaded. This is needed 8 # to prevent the system zlib to be loaded instead of the Sage one. 9 # See https://trac.sagemath.org/ticket/23122 10 import zlib 11 12 # IPython calls this when starting up 13 def load_ipython_extension(*args): 14 import sage.repl.ipython_extension ---> 15 sage.repl.ipython_extension.load_ipython_extension(*args) sage.repl.ipython_extension.load_ipython_extension = <function load_ipython_extension at 0x104f76840> args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x10269bbe0>,) 16 17 18 # Monkey-patch inspect.isfunction() to support Cython functions. 19 def isfunction(obj): 20 """ 21 Check whether something is a function. 22 23 We assume that anything which has a genuine ``__code__`` 24 attribute (not using ``__getattr__`` overrides) is a function. 25 This is meant to support Cython functions. 26 27 EXAMPLES:: 28 29 sage: from inspect import isfunction 30 sage: def f(): pass 31 sage: isfunction(f) /Applications/SageMath/local/lib/python3.7/site-packages/sage/repl/ipython_extension.py in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={}) 549 ....: if work: 550 ....: return 'foo worked' 551 ....: raise RuntimeError("foo didn't work") 552 sage: foo(False) 553 Traceback (most recent call last): 554 ... 555 RuntimeError: foo didn't work 556 sage: foo(True) 557 'foo worked' 558 sage: foo(False) 559 sage: foo(True) 560 """ 561 @wraps(func) 562 def wrapper(*args, **kwargs): 563 if not wrapper.has_run: --> 564 result = func(*args, **kwargs) result = undefined global func = undefined args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x10269bbe0>,) kwargs = {} 565 wrapper.has_run = True 566 return result 567 wrapper.has_run = False 568 return wrapper 569 570 571 @run_once 572 def load_ipython_extension(ip): 573 """ 574 Load the extension in IPython. 575 """ 576 # this modifies ip 577 SageCustomizations(shell=ip) /Applications/SageMath/local/lib/python3.7/site-packages/sage/repl/ipython_extension.py in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 562 def wrapper(*args, **kwargs): 563 if not wrapper.has_run: 564 result = func(*args, **kwargs) 565 wrapper.has_run = True 566 return result 567 wrapper.has_run = False 568 return wrapper 569 570 571 @run_once 572 def load_ipython_extension(ip): 573 """ 574 Load the extension in IPython. 575 """ 576 # this modifies ip --> 577 SageCustomizations(shell=ip) global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'> global shell = undefined ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x10269bbe0> /Applications/SageMath/local/lib/python3.7/site-packages/sage/repl/ipython_extension.py in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 420 def __init__(self, shell=None): 421 """ 422 Initialize the Sage plugin. 423 """ 424 self.shell = shell 425 426 self.auto_magics = SageMagics(shell) 427 self.shell.register_magics(self.auto_magics) 428 429 import sage.misc.edit_module as edit_module 430 self.shell.set_hook('editor', edit_module.edit_devel) 431 432 self.init_inspector() 433 self.init_line_transforms() 434 --> 435 import sage.all # until sage's import hell is fixed sage.all = undefined 436 437 self.shell.verbose_quit = True 438 self.set_quit_hook() 439 440 self.register_interface_magics() 441 442 if SAGE_IMPORTALL == 'yes': 443 self.init_environment() 444 445 def register_interface_magics(self): 446 """ 447 Register magics for each of the Sage interfaces 448 """ 449 from sage.repl.interface_magic import InterfaceMagic 450 InterfaceMagic.register_all(self.shell) /Applications/SageMath/local/lib/python3.7/site-packages/sage/all.py in <module>() 119 from sage.misc.all import * # takes a while 120 from sage.typeset.all import * 121 from sage.repl.all import * 122 123 from sage.misc.sh import sh 124 125 from sage.libs.all import * 126 from sage.data_structures.all import * 127 from sage.doctest.all import * 128 129 from sage.structure.all import * 130 from sage.rings.all import * 131 from sage.arith.all import * 132 from sage.matrix.all import * 133 --> 134 from sage.symbolic.all import * global sage.symbolic.all = undefined 135 from sage.modules.all import * 136 from sage.monoids.all import * 137 from sage.algebras.all import * 138 from sage.modular.all import * 139 from sage.sat.all import * 140 from sage.schemes.all import * 141 from sage.graphs.all import * 142 from sage.groups.all import * 143 from sage.arith.power import generic_power as power 144 from sage.databases.all import * 145 from sage.categories.all import * 146 from sage.sets.all import * 147 from sage.probability.all import * 148 from sage.interfaces.all import * 149 /Applications/SageMath/local/lib/python3.7/site-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 /Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/expression.pxd in init sage.libs.pynac.pynac (build/cythonized/sage/libs/pynac/pynac.cpp:30410)() 1 from sage.libs.pynac.pynac cimport GEx 2 from sage.structure.element cimport CommutativeRingElement 3 ----> 4 cdef class Expression(CommutativeRingElement): global cdef = undefined global Expression = undefined global CommutativeRingElement = undefined 5 cdef GEx _gobj 6 cpdef _add_(self, other) 7 cpdef _mul_(self, other) 8 cpdef _pow_(self, other) 9 cdef Expression coerce_in(self, z) 10 cpdef object _eval_self(self, R) 11 cpdef object _convert(self, R) 12 cpdef bint is_polynomial(self, var) 13 cpdef bint is_relational(self) 14 cpdef bint is_infinity(self) 15 cpdef bint is_positive_infinity(self) 16 cpdef bint is_negative_infinity(self) 17 cpdef object pyobject(self) 18 cpdef Expression _subs_expr(self, expr) 19 cpdef int _cmp_add(Expression left, Expression right) except -2 20 cpdef int _cmp_mul(Expression left, Expression right) except -2 21 cdef bint _rel_equal1(Expression self, Expression other) except -1 22 cdef bint _rel_equal2(Expression self, Expression other) except -1 23 24 cpdef bint is_Expression(x) 25 cdef Expression new_Expression_from_GEx(parent, GEx juice) 26 cdef Expression new_Expression_from_pyobject(parent, x) /Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/expression.pyx in init sage.symbolic.expression (build/cythonized/sage/symbolic/expression.cpp:75237)() 145 # Copyright (C) 2008 William Stein <wst...@gmail.com> 146 # Copyright (C) 2008 Burcin Erocal <bur...@erocal.org> 147 # 148 # This program is free software: you can redistribute it and/or modify 149 # it under the terms of the GNU General Public License as published by 150 # the Free Software Foundation, either version 2 of the License, or 151 # (at your option) any later version. 152 # https://www.gnu.org/licenses/ 153 # **************************************************************************** 154 155 from cysignals.signals cimport sig_on, sig_off 156 from sage.ext.cplusplus cimport ccrepr, ccreadstr 157 158 from inspect import isfunction 159 import operator --> 160 from . import ring global ring = undefined 161 import sage.rings.integer 162 import sage.rings.rational 163 164 from cpython.object cimport Py_EQ, Py_NE, Py_LE, Py_GE, Py_LT, Py_GT 165 166 from sage.cpython.string cimport str_to_bytes 167 from sage.symbolic.comparison import mixed_order 168 from sage.symbolic.getitem cimport OperandsWrapper 169 from sage.symbolic.series cimport SymbolicSeries 170 from sage.symbolic.complexity_measures import string_length 171 from sage.symbolic.function import get_sfunction_from_serial, SymbolicFunction 172 cimport sage.symbolic.comparison 173 from sage.rings.rational import Rational 174 from sage.misc.derivative import multi_derivative 175 from sage.misc.decorators import sage_wraps ImportError: dlopen(/Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/ring.cpython-37m-darwin.so, 2): Symbol not found: __ZNSt3__16vectorIN5GiNaC2exENS_9allocatorIS2_EEE11__vallocateEm Referenced from: /Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/ring.cpython-37m-darwin.so Expected in: flat namespace in /Applications/SageMath/local/lib/python3.7/site-packages/sage/symbolic/ring.cpython-37m-darwin.so *************************************************************************** History of session input: *** Last line of input (may not be in above history):