Changes between Initial Version and Version 2 of Ticket #13881


Ignore:
Timestamp:
12/30/12 10:48:33 (7 years ago)
Author:
vbraun
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #13881

    • Property Status changed from new to needs_review
    • Property Dependencies changed from to #13669
  • Ticket #13881 – Description

    initial v2  
     1The purpose of these patches is to make cython emit debugging output (unless `SAGE_DEBUG=no` since it only costs some disk space) and run cygdb instead of gdb for `sage --gdb` if `SAGE_DEBUG=yes`. cydbg can be a bit slow to start up, but gives cython source-level debugging. For example:
     2{{{
     3[vbraun@volker-desktop sage-5.6.beta1]$ SAGE_DEBUG=yes ./sage -gdb
     4----------------------------------------------------------------------
     5| Sage Version 5.6.beta1, Release Date: 2012-12-27                   |
     6| Type "notebook()" for the browser-based notebook interface.        |
     7| Type "help()" for help.                                            |
     8----------------------------------------------------------------------
     9**********************************************************************
     10*                                                                    *
     11* Warning: this is a prerelease version, and it may be unstable.     *
     12*                                                                    *
     13**********************************************************************
     14GNU gdb (GDB) 7.5.1
     15Copyright (C) 2012 Free Software Foundation, Inc.
     16License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
     17This is free software: you are free to change and redistribute it.
     18There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
     19and "show warranty" for details.
     20This GDB was configured as "x86_64-unknown-linux-gnu".
     21For bug reporting instructions, please see:
     22<http://www.gnu.org/software/gdb/bugs/>...
     23Reading symbols from /home/vbraun/opt/sage-5.6.beta1/local/bin/python...done.
     24Python was not compiled with debug symbols (or it was stripped). Some functionality may not work (properly).
     25[Thread debugging using libthread_db enabled]
     26Using host libthread_db library "/lib64/libthread_db.so.1".
     27
     28sage: from sage.tests.interrupt import unguarded_dereference_null_pointer
     29sage: unguarded_dereference_null_pointer()
     30
     31Program received signal SIGSEGV, Segmentation fault.
     320x00007fffc1f9d04a in __pyx_f_4sage_5tests_9interrupt_dereference_null_pointer ()
     33    at sage/tests/interrupt.c:894
     34894       (__pyx_v_ptr[__pyx_t_1]) = ((__pyx_v_ptr[__pyx_t_1]) + 1);
     35(gdb) cy list
     36    59    # Dereference a NULL pointer on purpose. This signals a SIGSEGV on most
     37    60    # systems, but on older Mac OS X and possibly other systems, this
     38    61    # signals a SIGBUS instead. In any case, this should give some signal.
     39    62    cdef void dereference_null_pointer():
     40    63        cdef long* ptr = <long*>(0)
     41>   64        ptr[0] += 1
     42    65   
     43    66   
     44    67    ########################################################################
     45    68    # Python helper functions                                              #
     46}}}
     47
     48Apply
     49  * [attachment:trac_13881_cython_debug_symbols.patch] to the Sage library
     50  * [attachment:trac_13881_launch_cygdb.patch] to the Sage root repository