#11551: Pari segfault on Sage startup in Cygwin
------------------------+---------------------------------------------------
   Reporter:  kcrisman  |          Owner:  tbd       
       Type:  defect    |         Status:  new       
   Priority:  major     |      Milestone:  sage-4.7.2
  Component:  cygwin    |       Keywords:  pari      
Work_issues:            |       Upstream:  N/A       
   Reviewer:            |         Author:            
     Merged:            |   Dependencies:            
------------------------+---------------------------------------------------

Comment(by leif):

 Replying to [comment:14 kcrisman]:
 > I tried 2. first.  Not very exciting.
 {{{
 Program received signal SIGSEGV, Segmentation fault.
 0x343a8ad5 in pari_err () from /home/.../sage-4.7.1.alpha3/devel/sage
 /sage-main/build/sage/rings/real_mpfr.dll
 }}}
 > I couldn't get anything out of it that I hadn't seen before.

 First "result" (i.e., I don't know yet why `pari_error()` is called at
 all, but see below):

 Debugging this ''bottom-up'', according to your nice screen shot the
 segfault originates from:
 {{{
 #!C
 static void
 err_init(void)
 {
   /* make sure pari_err msg starts at the beginning of line */
   if (!pari_last_was_newline()) pari_putc('\n');
   pariOut->flush(); /***** THIS SEGFAULTS *****/
   pariErr->flush();
   pariOut = pariErr;
   term_color(c_ERR);
 }
 }}}

 So obviously `pariOut` (and most probably also `pariErr`) aren't properly
 initialized at that point. (Note that line 885 in the vanilla PARI sources
 is the assignment statement, but we patch `src/src/language/init.c` such
 that we get an offset of +2 lines.)

 PARI error number 14 is "`errpile`" (i.e. heap / [PARI] stack error),
 which is most probably raised for the same reason, namely because the PARI
 stack apparently isn't [yet] initialized when `cgetr()` gets called.

 For the moment, it's up to someone else to donate his/her 2 ct or more...
 ;-)

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11551#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to