#12313: Fix yet another memory leak caused by caching of coercion data
--------------------------------------------------+-------------------------
       Reporter:  SimonKing                       |         Owner:              
                             
           Type:  defect                          |        Status:  
needs_review                             
       Priority:  major                           |     Milestone:  sage-5.3    
                             
      Component:  memleak                         |    Resolution:              
                             
       Keywords:  coercion weak dictionary        |   Work issues:              
                             
Report Upstream:  N/A                             |     Reviewers:  Simon King, 
Jean-Pierre Flori, John Perry
        Authors:  Simon King, Jean-Pierre Flori   |     Merged in:              
                             
   Dependencies:  #11521, #11599, #12969, #12215  |      Stopgaps:              
                             
--------------------------------------------------+-------------------------

Comment (by SimonKing):

 Replying to [comment:223 jpflori]:
 > Replying to [comment:216 SimonKing]:> How can one find out what kind of
 thing got freed twice? I am afraid gdb does not seem to work on doc tests,
 and I can not reproduce the problem interactively.
 >
 > You should be able to run a doctest inside gdb using
 > {{{
 > ./sage -t -gdb devel/sage/...
 > }}}

 Not really. What I get from that is
 {{{
 sage -t -gdb "test_12.py"
 
********************************************************************************
 Type r at the (gdb) prompt to run the doctests.
 Type bt if there is a crash to see a traceback.
 
********************************************************************************
 'import site' failed; use -v for traceback
 GNU gdb (GDB) 7.0.1-debian
 Copyright (C) 2009 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "x86_64-linux-gnu".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from
 /mnt/local/king/SAGE/prereleases/sage-5.3.beta2/local/bin/python...done.
 (gdb) r
 Starting program:
 /mnt/local/king/SAGE/prereleases/sage-5.3.beta2/local/bin/python
 /mnt/local/king/.sage/tmp/test_12_1233.py
 [Thread debugging using libthread_db enabled]
 Traceback (most recent call last):
   File
 
"/mnt/local/king/SAGE/prereleases/sage-5.3.beta2/local/lib64/libstdc++.so.6.0.16-gdb.py",
 line 19, in <module>
     import os
 ImportError: No module named os
 }}}
 Then wait a long time, finally one has
 {{{
 *** glibc detected ***
 /mnt/local/king/SAGE/prereleases/sage-5.3.beta2/local/bin/python: double
 free or corruption (out): 0x0000000004be4ec0 ***
 }}}
 And then? Keyboard Interrupt, or what?
 {{{
 ^C
 Program received signal SIGINT, Interrupt.
 __lll_lock_wait_private () at
 ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
 }}}
 Nothing happens, in particular I do not get a gdb prompt any more.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12313#comment:225>
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