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 [email protected].
To post to this group, send email to [email protected].
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):