Re: failed backtrace

2002-03-25 Thread Thien-Thi Nguyen

   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

2002-02-22 Thread Marius Vollmer

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

2002-02-22 Thread M Johnson

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

2002-02-14 Thread Thien-Thi Nguyen

   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