ahhhh

From: Joshua Peck Macdonald <jmacd_at_uclink.berkeley.edu>
Date: Fri, 30 Jun 1995 04:27:19 -0700

I've been finding so many interesting and fun new ways to break
or seg fault STk lately. I can't imagine what causes this.

axis-envdraw # stk -l meta.stk
Welcome to the STk interpreter version 2.1.7 [FreeBSD-2.0-i386]
Copyright (C) 1993,1994,1995 Erick Gallesio - I3S - CNRS / ESSI <eg_at_unice.fr>
WARNING: report-error is buggy!!

*** Error at line 469 of file standard input:
    unbound variable: who
Current eval stack:
__________________
  0 (who (if (null? obj) "" (format #f "~S" obj)))
  1 ((who (if (null? obj) "" (format #f "~S" obj))) (msg (%truncate-string (format #f "~A
~A
~A" head message who) 200)))
  2 (let* ((who (if (null? obj) "" (format #f "~S" obj))) (msg (%truncate-string (format #f "~A
~A
~A" head message who) 200))) (format (current-error-port) "
~A~A~A
" head message (if (equal? who "") "" (format #f ": ~A" who))) (cond ((equal? *display-error-window* (quote stacktrace)) (stk:display-stack (cddr %stack))) (*display-error-window* (stk::make-dialog :window (quote .report-error) :title "STk error" :text msg :bitmap "error" :grabbing #t :default 0 :buttons (quasiquote ((" Dismiss " (lambda () (quote ()))) (" See the stack " (lambda () (stk:display-stack (cddr %stack))))))))) (update))
  3 (error "No applicable method for ~S
in call ~S" gf (append (cons (slot-ref gf (quote name)) args)))
  4 (parent (get-keyword :parent initargs *root*))
...

This comes from the following section of code.

(define (report-error head message obj)
  (set! %stack (%get-eval-stack)) ;; Take a photo of the stack as soon as possible

  (let* ((who (if (null? obj) "" (format #f "~S" obj)))
         (msg (%truncate-string (format #f "~A\n~A\n~A" head message who) 200)))

  ...

in error.stk

How could this happen?

-josh
Received on Fri Jun 30 1995 - 13:29:08 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST