FYI: important note: this crashes only because an exception path is taken. Due to a "bug" in the shell script above, `ctr` is undefined, so an unbound-variable exception is thrown. When the scheme is valid, then it does NOT crash here!
--linas opencog> (NumberNode ctr) Entering scheme shell; use ^D or a single . on a line by itself to exit. guile> Backtrace: In ice-9/boot-9.scm: 157: 12 [catch #t #<catch-closure f83bce0> ...] In unknown file: ?: 11 [apply-smob/1 #<catch-closure f83bce0>] In ice-9/boot-9.scm: 157: 10 [catch #t #<catch-closure f83b5c0> ...] In unknown file: ?: 9 [apply-smob/1 #<catch-closure f83b5c0>] ?: 8 [call-with-input-string "(NumberNode ctr)\n" ...] In ice-9/boot-9.scm: 2320: 7 [save-module-excursion #<procedure f818930 at ice-9/eval-string.scm:65:9 ()>] In ice-9/eval-string.scm: 44: 6 [read-and-eval #<input: string f8049c0> #:lang ...] 37: 5 [lp (NumberNode ctr)] In ice-9/eval.scm: 387: 4 [eval # ()] 393: 3 [eval #<memoized ctr> ()] In unknown file: ?: 2 [memoize-variable-access! #<memoized ctr> #<directory (guile-user) bb3c60>] In ice-9/boot-9.scm: 102: 1 [#<procedure f181e80 at ice-9/boot-9.scm:97:6 (thrown-k . args)> unbound-variable ...] In unknown file: ?: 0 [apply-smob/1 #<catch-closure f83b580> unbound-variable ...] ERROR: In procedure apply-smob/1: ERROR: Unbound variable: ctr ABORT: unbound-variable