bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Segv or GC abort caused by (debug-set! frames N) where N>31


From: Neil Jerram
Subject: Segv or GC abort caused by (debug-set! frames N) where N>31
Date: 08 Mar 2002 12:34:42 +0000
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

Examples:

guile> (version)
"1.5.4"
guile> (use-modules (ossau breakpoints))
guile> (use-modules (srfi srfi-19))
guile> (trace-subtree! date-week-number)
Set breakpoint 1: [date-week-number]
#<<procedure-breakpoint> 808baa0>
guile> (define d (string->date "01 08 2002" "~d ~m ~y"))
guile> (debug-set! frames 33)
(show-file-name #t stack 20000 debug depth 20 maxdepth 1000 frames 33 indent 10 
width 79 procnames trace cheap)
guile> (date-week-number d 0)
Error in scm_gc_mark during GC: rogue pointer in heap

Inferior Scheme aborted

guile> (version)
"1.5.4"
guile> (use-modules (ossau breakpoints))
guile> (use-modules (srfi srfi-19))
guile> (trace-subtree! date-week-number)
Set breakpoint 1: [date-week-number]
#<<procedure-breakpoint> 808baa0>
guile> (define d (string->date "01 08 2002" "~d ~m ~y"))
guile> (debug-set! frames 63)
(show-file-name #t stack 20000 debug depth 20 maxdepth 1000 frames 63 indent 10 
width 79 procnames trace cheap)
guile> (date-week-number d 0)

Inferior Scheme segmentation fault

Here's the fix:

cd /home/neil/Guile/branch_release-1-6/guile-core/libguile/
diff -Naur /home/neil/Guile/branch_release-1-6/guile-core/libguile/eval.c.orig 
/home/neil/Guile/branch_release-1-6/guile-core/libguile/eval.c
--- /home/neil/Guile/branch_release-1-6/guile-core/libguile/eval.c.orig Fri Mar 
 8 12:19:31 2002
+++ /home/neil/Guile/branch_release-1-6/guile-core/libguile/eval.c      Fri Mar 
 8 12:19:44 2002
@@ -1838,7 +1838,7 @@
   scm_t_debug_frame debug;
   scm_t_debug_info *debug_info_end;
   debug.prev = scm_last_debug_frame;
-  debug.status = scm_debug_eframe_size;
+  debug.status = 0;
   /*
    * The debug.vect contains twice as much scm_t_debug_info frames as the
    * user has specified with (debug-set! frames <n>).

I'll commit it everywhere soon.

        Neil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]