Re: failed backtrace
From: M Johnson <[EMAIL PROTECTED]> Date: Sat, 16 Feb 2002 13:50:42 -0500 [new test case triggering different symptoms] debug> eval (the-environment) you like torturing guile don't you? I don't know if this helps or sends you off in another direction. i've recorded both test cases. we will probably want to address the original symptoms first, leaving the "harden-guile-against-sadists" task for later. (at some point bugs database will again be published; this bug is named "1001-local-eval-error-backtrace-segfaults".) thi ___ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile
Re: failed backtrace
Thien-Thi Nguyen <[EMAIL PROTECTED]> writes: > thanks for the bug report. i have started to look at this. If we can fix the bug that is great, but if it's too hairy, we can just remove local-eval. Local-eval is weird critter... ___ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile
Re: failed backtrace
On Thu, Feb 14, 2002 at 05:51:49PM -0800, Thien-Thi Nguyen wrote: > thanks for the bug report. i have started to look at this. it appears > the environment at segf time has both `a' and `commandls' as names, but > no value for `a': > > (gdb) gp env > $5 = 0x80651c8 "(((a commandls) (\"/usr/local/bin/guile\")) #40245828>)" > > because the bad-define-placement error is correct -- using `local-eval' > requires application and thus the head-of-scope requirement for internal > defines cannot be met -- my question then becomes: why is `a' in the > environment at all? > > thi > Here is a simplified version of segf.scm: (define (fnc args) (local-eval '(define a b) (the-environment))) Note that backtrace now works, but there's still a problem: guile> guile> (fnc '(hello)) standard input:2:17: In expression (define a b): standard input:2:17: Bad define placement ABORT: (misc-error) Type "(backtrace)" to get more information or "(debug)" to enter the debugger. guile> (debug) This is the Guile debugger; type "help" for help. There are 3 frames on the stack. Frame 2:(define a b) debug> eval (the-environment) ;value: (((a a args) (hello)) #>) debug> ba 0* [fnc (hello)] 1 [local-eval # #] 2* (define a b) debug> eval (the-environment) Process scheme segmentation fault Note also that here we're getting 2 "a"s in the environment. (sometimes i got three, perhaps with slightly different code) I don't know if this helps or sends you off in another direction. --Michael ___ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile
Re: failed backtrace
From: M Johnson <[EMAIL PROTECTED]> Date: Tue, 12 Feb 2002 16:37:56 -0500 Backtrace: 0* [assignments ("guile")] 1 (let ((env #)) (for-each (lambda # #) (quote #))) 2 Segmentation fault thanks for the bug report. i have started to look at this. it appears the environment at segf time has both `a' and `commandls' as names, but no value for `a': (gdb) gp env $5 = 0x80651c8 "(((a commandls) (\"/usr/local/bin/guile\")) #)" because the bad-define-placement error is correct -- using `local-eval' requires application and thus the head-of-scope requirement for internal defines cannot be met -- my question then becomes: why is `a' in the environment at all? thi ___ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile