Sage had been working fine for me on Mavericks and then suddenly started crashing on launch today somewhere in polybori. As far as I know, I haven’t done anything that should break Sage—I’ve updated XQuartz since I last used Sage and maybe reinstalled Homebrew (can’t quite remember the sequence of events). I downloaded a new copy of Sage and that launched okay.
-- 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 http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.
*************************************************************************** IPython post-mortem report {'commit_hash': '858d539', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': '/Applications/sage/local/lib/python2.7/site-packages/IPython', 'ipython_version': '0.13.2', 'os_name': 'posix', 'platform': 'Darwin-13.0.0-x86_64-i386-64bit', 'sys_executable': '/Applications/sage/local/bin/python', 'sys_platform': 'darwin', 'sys_version': '2.7.5 (default, Nov 7 2013, 12:22:52) \n[GCC 4.7.3]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- ImportError Python 2.7.5: /Applications/sage/local/bin/python Thu Dec 5 11:24:19 2013 A problem occured executing Python code. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call last. /Applications/sage/local/bin/sage-ipython in <module>() 2 # -*- coding: utf-8 -*- 3 """ 4 Sage IPython startup script. 5 """ 6 from sage.misc.interpreter import SageTerminalApp 7 8 # installs the extra readline commands before the IPython initialization begins. 9 from sage.misc.readline_extra_commands import * 10 11 # Make sure we're using the Sage profile if one isn't specified. 12 import sys 13 if '--profile' not in sys.argv: 14 sys.argv.extend(['--profile', 'sage']) 15 16 app = SageTerminalApp.instance() ---> 17 app.initialize() global app.initialize = <bound method SageTerminalApp.initialize of <sage.misc.interpreter.SageTerminalApp object at 0x108ddd6d0>> 18 app.start() /Applications/sage/local/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.pyc in initialize(self=<sage.misc.interpreter.SageTerminalApp object>, argv=None) /Applications/sage/local/lib/python2.7/site-packages/IPython/config/application.pyc in catch_config_error(method=<function initialize>, app=<sage.misc.interpreter.SageTerminalApp object>, *args=(None,), **kwargs={}) 69 70 #----------------------------------------------------------------------------- 71 # Application class 72 #----------------------------------------------------------------------------- 73 74 @decorator 75 def catch_config_error(method, app, *args, **kwargs): 76 """Method decorator for catching invalid config (Trait/ArgumentErrors) during init. 77 78 On a TraitError (generally caused by bad config), this will print the trait's 79 message, and exit the app. 80 81 For use on init methods, to prevent invoking excepthook on invalid input. 82 """ 83 try: ---> 84 return method(app, *args, **kwargs) method = <function initialize at 0x10a372668> app = <sage.misc.interpreter.SageTerminalApp object at 0x108ddd6d0> args = (None,) kwargs = {} 85 except (TraitError, ArgumentError) as e: 86 app.print_description() 87 app.print_help() 88 app.print_examples() 89 app.log.fatal("Bad config encountered during initialization:") 90 app.log.fatal(str(e)) 91 app.log.debug("Config at the time: %s", app.config) 92 app.exit(1) 93 94 95 class ApplicationError(Exception): 96 pass 97 98 99 class Application(SingletonConfigurable): /Applications/sage/local/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.pyc in initialize(self=<sage.misc.interpreter.SageTerminalApp object>, argv=None) 309 310 @catch_config_error 311 def initialize(self, argv=None): 312 """Do actions after construct, but before starting the app.""" 313 super(TerminalIPythonApp, self).initialize(argv) 314 if self.subapp is not None: 315 # don't bother initializing further, starting subapp 316 return 317 if not self.ignore_old_config: 318 check_for_old_config(self.ipython_dir) 319 # print self.extra_args 320 if self.extra_args and not self.something_to_run: 321 self.file_to_run = self.extra_args[0] 322 self.init_path() 323 # create the shell --> 324 self.init_shell() self.init_shell = <bound method SageTerminalApp.init_shell of <sage.misc.interpreter.SageTerminalApp object at 0x108ddd6d0>> 325 # and draw the banner 326 self.init_banner() 327 # Now a variety of things that happen after the banner is printed. 328 self.init_gui_pylab() 329 self.init_extensions() 330 self.init_code() 331 332 def init_shell(self): 333 """initialize the InteractiveShell instance""" 334 # Create an InteractiveShell instance. 335 # shell.display_banner should always be False for the terminal 336 # based app, because we call shell.show_banner() by hand below 337 # so the banner shows *before* all extension loading stuff. 338 self.shell = TerminalInteractiveShell.instance(config=self.config, 339 display_banner=False, profile_dir=self.profile_dir, /Applications/sage/local/lib/python2.7/site-packages/sage/misc/interpreter.pyc in init_shell(self=<sage.misc.interpreter.SageTerminalApp object>) 735 sage: from sage.misc.interpreter import SageTerminalApp, DEFAULT_SAGE_CONFIG 736 sage: app = SageTerminalApp(config=DEFAULT_SAGE_CONFIG) 737 sage: app.initialize(argv=[]) # indirect doctest 738 sage: app.shell 739 <sage.misc.interpreter.SageInteractiveShell object at 0x...> 740 """ 741 # We need verbose crashes for the Sage crash handler. We set it here 742 # so that we don't overwrite the traitlet attribute 743 self.verbose_crash = True 744 745 # Shell initialization 746 self.shell = SageInteractiveShell.instance(config=self.config, 747 display_banner=False, profile_dir=self.profile_dir, 748 ipython_dir=self.ipython_dir) 749 self.shell.configurables.append(self) --> 750 self.shell.extension_manager.load_extension('sage.misc.sage_extension') self.shell.extension_manager.load_extension = <bound method ExtensionManager.load_extension of <IPython.core.extensions.ExtensionManager object at 0x10a828110>> /Applications/sage/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, module_str='sage.misc.sage_extension') 75 76 def _on_ipython_dir_changed(self): 77 if not os.path.isdir(self.ipython_extension_dir): 78 os.makedirs(self.ipython_extension_dir, mode = 0777) 79 80 def load_extension(self, module_str): 81 """Load an IPython extension by its module name. 82 83 If :func:`load_ipython_extension` returns anything, this function 84 will return that object. 85 """ 86 from IPython.utils.syspathcontext import prepended_to_syspath 87 88 if module_str not in sys.modules: 89 with prepended_to_syspath(self.ipython_extension_dir): ---> 90 __import__(module_str) global __import__ = undefined module_str = 'sage.misc.sage_extension' 91 mod = sys.modules[module_str] 92 return self._call_load_ipython_extension(mod) 93 94 def unload_extension(self, module_str): 95 """Unload an IPython extension by its module name. 96 97 This function looks up the extension's name in ``sys.modules`` and 98 simply calls ``mod.unload_ipython_extension(self)``. 99 """ 100 if module_str in sys.modules: 101 mod = sys.modules[module_str] 102 self._call_unload_ipython_extension(mod) 103 104 def reload_extension(self, module_str): 105 """Reload an IPython extension by calling reload. /Applications/sage/local/lib/python2.7/site-packages/sage/misc/sage_extension.py in <module>() 35 2 36 37 In contrast, input to the ``%time`` magic command is preparsed:: 38 39 sage: shell.run_cell('%time 594.factor()') 40 CPU times: user ... 41 Wall time: ... 42 2 * 3^3 * 11 43 """ 44 45 from IPython.core.hooks import TryNext 46 from IPython.core.magic import Magics, magics_class, line_magic 47 import os 48 import sys 49 import sage ---> 50 import sage.all global sage.all = undefined 51 from sage.misc.interpreter import preparser 52 from sage.misc.preparser import preparse 53 54 @magics_class 55 class SageMagics(Magics): 56 57 @line_magic 58 def runfile(self, s): 59 r""" 60 Loads the code contained in the file ``s``. This is designed 61 to be used from the command line as ``%runfile /path/to/file``. 62 63 :param s: file to be loaded 64 :type s: string 65 /Applications/sage/local/lib/python2.7/site-packages/sage/all.py in <module>() 78 79 from time import sleep 80 81 import sage.misc.lazy_import 82 from sage.misc.all import * # takes a while 83 84 from sage.misc.sh import sh 85 86 from sage.libs.all import * 87 from sage.doctest.all import * 88 89 from sage.rings.all import * 90 from sage.matrix.all import * 91 92 # This must come before Calculus -- it initializes the Pynac library. ---> 93 import sage.symbolic.pynac global sage.symbolic.pynac = undefined 94 95 from sage.modules.all import * 96 from sage.monoids.all import * 97 from sage.algebras.all import * 98 from sage.modular.all import * 99 from sage.schemes.all import * 100 from sage.graphs.all import * 101 from sage.groups.all import * 102 from sage.databases.all import * 103 from sage.structure.all import * 104 from sage.categories.all import * 105 from sage.sets.all import * 106 from sage.probability.all import * 107 from sage.interfaces.all import * 108 /Users/csar/pynac.pyx in init sage.symbolic.pynac (sage/symbolic/pynac.cpp:21957)() /Users/csar/pynac.pyx in sage.symbolic.pynac.init_pynac_I (sage/symbolic/pynac.cpp:19086)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.pyc in QuadraticField(D=-1, name='I', check=True, embedding=1.00000000000000*I, latex_name='i', **args={}) 723 False 724 """ 725 D = QQ(D) 726 if check: 727 if D.is_square(): 728 raise ValueError, "D must not be a perfect square." 729 R = QQ['x'] 730 f = R([-D, 0, 1]) 731 if embedding is True: 732 if D > 0: 733 embedding = RLF(D).sqrt() 734 else: 735 embedding = CLF(D).sqrt() 736 if latex_name == 'sqrt': 737 latex_name = r'\sqrt{%s}' % D --> 738 return NumberField(f, name, check=False, embedding=embedding, latex_name=latex_name, **args) global NumberField = <function NumberField at 0x10e609c80> f = x^2 + 1 name = 'I' check = True global False = undefined embedding = 1.00000000000000*I latex_name = 'i' args = {} 739 740 def is_AbsoluteNumberField(x): 741 """ 742 Return True if x is an absolute number field. 743 744 EXAMPLES:: 745 746 sage: from sage.rings.number_field.number_field import is_AbsoluteNumberField 747 sage: is_AbsoluteNumberField(NumberField(x^2+1,'a')) 748 True 749 sage: is_AbsoluteNumberField(NumberField([x^3 + 17, x^2+1],'a')) 750 False 751 752 The rationals are a number field, but they're not of the absolute 753 number field class. /Applications/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.pyc in NumberField(polynomial=x^2 + 1, name=('I',), check=False, names=None, cache=True, embedding=1.00000000000000*I, latex_name='i', assume_disc_small=False, maximize_at_primes=None) 445 key = (polynomial, polynomial.base_ring(), name, latex_name, 446 embedding, embedding.parent() if embedding is not None else None, 447 assume_disc_small, None if maximize_at_primes is None else tuple(maximize_at_primes)) 448 if _nf_cache.has_key(key): 449 K = _nf_cache[key]() 450 if not K is None: return K 451 452 if isinstance(R, NumberField_generic): 453 S = R.extension(polynomial, name, check=check) 454 if cache: 455 _nf_cache[key] = weakref.ref(S) 456 return S 457 458 if polynomial.degree() == 2: 459 K = NumberField_quadratic(polynomial, name, latex_name, check, embedding, --> 460 assume_disc_small=assume_disc_small, maximize_at_primes=maximize_at_primes) assume_disc_small = False maximize_at_primes = None 461 else: 462 K = NumberField_absolute(polynomial, name, latex_name, check, embedding, 463 assume_disc_small=assume_disc_small, maximize_at_primes=maximize_at_primes) 464 465 if cache: 466 _nf_cache[key] = weakref.ref(K) 467 return K 468 469 470 def NumberFieldTower(v, names, check=True, embeddings=None): 471 """ 472 Return the tower of number fields defined by the polynomials or 473 number fields in the list v. 474 475 This is the field `K_0` generated by a root of ``v[0]`` over its base field /Applications/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.pyc in __init__(self=Number Field in I with defining polynomial x^2 + 1, polynomial=x^2 + 1, name=('I',), latex_name='i', check=False, embedding=1.00000000000000*I, assume_disc_small=False, maximize_at_primes=None) 8932 D = (Dpoly.numer() * Dpoly.denom()).squarefree_part(bound=10000) 8933 self._D = D 8934 parts = -b/(2*a), (Dpoly/D).sqrt()/(2*a) 8935 self._NumberField_generic__gen = self._element_class(self, parts) 8936 8937 # we must set the flag _standard_embedding *before* any element creation 8938 # Note that in the following code, no element is built. 8939 emb = self.coerce_embedding() 8940 if emb is not None: 8941 rootD = number_field_element_quadratic.NumberFieldElement_quadratic(self, (QQ(0),QQ(1))) 8942 if D > 0: 8943 from sage.rings.real_double import RDF 8944 self._standard_embedding = RDF.has_coerce_map_from(self) and RDF(rootD) > 0 8945 else: 8946 from sage.rings.complex_double import CDF -> 8947 self._standard_embedding = CDF.has_coerce_map_from(self) and CDF(rootD).imag() > 0 self._standard_embedding = True CDF.has_coerce_map_from = <built-in method has_coerce_map_from of sage.rings.complex_double.ComplexDoubleField_class object at 0x7fbdcba634e0> self = Number Field in I with defining polynomial x^2 + 1 CDF = Complex Double Field rootD.imag = <built-in method imag of sage.rings.number_field.number_field_element_quadratic.NumberFieldElement_quadratic object at 0x11008e350> 8948 8949 # we reset _NumberField_generic__gen has the flag standard_embedding 8950 # might be modified 8951 self._NumberField_generic__gen = self._element_class(self, parts) 8952 8953 8954 # NumberField_absolute.__init__(...) set _zero_element and 8955 # _one_element to NumberFieldElement_absolute values, which is 8956 # wrong (and dangerous; such elements can actually be used to 8957 # crash Sage: see #5316). Overwrite them with correct values. 8958 self._zero_element = self._element_class(self, (QQ(0), QQ(0))) 8959 self._one_element = self._element_class(self, (QQ(1), QQ(0))) 8960 8961 def _coerce_map_from_(self, K): 8962 """ /Applications/sage/local/lib/python2.7/site-packages/sage/rings/complex_double.so in sage.rings.complex_double.ComplexDoubleField_class.__call__ (sage/rings/complex_double.c:4431)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:8372)() /Applications/sage/local/lib/python2.7/site-packages/sage/categories/map.so in sage.categories.map.FormalCompositeMap._call_ (sage/categories/map.c:7040)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field_morphisms.so in sage.rings.number_field.number_field_morphisms.NumberFieldEmbedding._call_ (sage/rings/number_field/number_field_morphisms.c:2599)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_rational_flint.so in sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint.__call__ (sage/rings/polynomial/polynomial_rational_flint.cpp:7769)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.__call__ (sage/rings/polynomial/polynomial_element.c:8217)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/element.so in sage.structure.element.Element.__nonzero__ (sage/structure/element.c:7381)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/real_lazy.so in sage.rings.real_lazy.LazyFieldElement.__richcmp__ (sage/rings/real_lazy.c:7456)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/element.so in sage.structure.element.Element._richcmp (sage/structure/element.c:8765)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/element.so in sage.structure.element.Element._richcmp_c_impl (sage/structure/element.c:9065)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/real_lazy.so in sage.rings.real_lazy.LazyFieldElement._cmp_c_impl (sage/rings/real_lazy.c:7366)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/real_lazy.so in sage.rings.real_lazy.LazyFieldElement.approx (sage/rings/real_lazy.c:7955)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/real_lazy.so in sage.rings.real_lazy.LazyAlgebraic.eval (sage/rings/real_lazy.c:14513)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.roots (sage/rings/polynomial/polynomial_element.c:34842)() /Applications/sage/local/lib/python2.7/site-packages/sage/rings/polynomial/complex_roots.pyc in complex_roots(p=x^2 + 1, skip_squarefree=False, retval='algebraic', min_prec=0) 335 (<class 'sage.rings.qqbar.AlgebraicReal'>, [(-1.618033988749895?, 1), (0.618033988749895?, 1)]) 336 337 TESTS: 338 339 Verify that trac 12026 is fixed:: 340 341 sage: f = matrix(QQ, 8, lambda i, j: 1/(i + j + 1)).charpoly() 342 sage: from sage.rings.polynomial.complex_roots import complex_roots 343 sage: len(complex_roots(f)) 344 8 345 """ 346 347 if skip_squarefree: 348 factors = [(p, 1)] 349 else: --> 350 factors = p.squarefree_decomposition() factors = undefined p.squarefree_decomposition = <built-in method squarefree_decomposition of sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint object at 0x10e9f6910> 351 352 prec = 53 353 while True: 354 CC = ComplexField(prec) 355 CCX = CC['x'] 356 357 all_rts = [] 358 ok = True 359 360 for (factor, exp) in factors: 361 cfac = CCX(factor) 362 rts = cfac.roots(multiplicities=False) 363 # Make sure the number of roots we found is the degree. If 364 # we don't find that many roots, it's because the 365 # precision isn't big enough and though the (possibly /Applications/sage/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.squarefree_decomposition (sage/rings/polynomial/polynomial_element.c:13189)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/factorization.pyc in __init__(self=<class 'sage.structure.factorization.Factorization'> instance, x=[(x^2 + 1, 1)], unit=1, cr=False, sort=False, simplify=True) 290 (Ambient free module of rank 3 over the principal ideal domain Integer Ring)^2 291 """ 292 if not isinstance(x, list): 293 raise TypeError, "x must be a list" 294 for i in xrange(len(x)): 295 t=x[i] 296 if not (isinstance(t, tuple) and len(t) == 2): 297 raise TypeError, "x must be a list of pairs (p, e) with e an integer" 298 if not isinstance(t[1],(int, long, Integer)): 299 try: 300 x[i]= (t[0], Integer(t[1])) 301 except TypeError: 302 raise TypeError, "exponents of factors must be integers" 303 304 try: --> 305 self.__universe = Sequence(t[0] for t in x).universe() self.__universe = undefined global Sequence = <function Sequence at 0x10c7b3050> t = (x^2 + 1, 1) x.universe = undefined 306 except TypeError: 307 self.__universe = None 308 309 self.__x = [ (t[0],int(t[1])) for t in x] 310 if unit is None: 311 if len(x) > 0: 312 try: 313 unit = self.__universe(1) 314 except (AttributeError, TypeError): 315 unit = Integer(1) 316 else: 317 unit = Integer(1) 318 self.__unit = unit 319 self.__cr = cr 320 if sort and self.is_commutative(): /Applications/sage/local/lib/python2.7/site-packages/sage/structure/sequence.pyc in Sequence(x=[x^2 + 1], universe=Univariate Polynomial Ring in x over Rational Field, check=True, immutable=False, cr=False, cr_str=None, use_sage_types=False) 274 # start the pairwise coercion 275 for i in range(len(x)-1): 276 try: 277 x[i], x[i+1] = coerce.canonical_coercion(x[i],x[i+1]) 278 except TypeError: 279 import sage.categories.all 280 universe = sage.categories.all.Objects() 281 x = list(y) 282 check = False # no point 283 break 284 if universe is None: # no type errors raised. 285 universe = coerce.parent(x[len(x)-1]) 286 287 from sage.rings.polynomial.multi_polynomial_ring import is_MPolynomialRing 288 from sage.rings.quotient_ring import is_QuotientRing --> 289 from sage.rings.polynomial.pbori import BooleanMonomialMonoid sage.rings.polynomial.pbori = undefined BooleanMonomialMonoid = undefined 290 291 if is_MPolynomialRing(universe) or \ 292 (is_QuotientRing(universe) and is_MPolynomialRing(universe.cover_ring())) or \ 293 isinstance(universe, BooleanMonomialMonoid): 294 from sage.rings.polynomial.multi_polynomial_sequence import PolynomialSequence 295 try: 296 return PolynomialSequence(x, universe, immutable=immutable, cr=cr, cr_str=cr_str) 297 except (TypeError,AttributeError): 298 return Sequence_generic(x, universe, check, immutable, cr, cr_str, use_sage_types) 299 else: 300 return Sequence_generic(x, universe, check, immutable, cr, cr_str, use_sage_types) 301 302 class Sequence_generic(sage.structure.sage_object.SageObject, list): 303 """ 304 A mutable list of elements with a common guaranteed universe, ImportError: dlopen(/Applications/sage/local/lib/python2.7/site-packages/sage/rings/polynomial/pbori.so, 2): Library not loaded: /usr/local/lib/libpng15.15.dylib Referenced from: /Applications/sage/local/lib/libpolybori_groebner-0.8.dylib.3.0.0 Reason: image not found *************************************************************************** History of session input: *** Last line of input (may not be in above history):