Discussion:
bug#33216: using custom optimization options eats goops object
Jan Nieuwenhuizen
2018-10-31 14:51:31 UTC
Permalink
Hi!

When running `step.scm' (attached) the expected behaviour is exit 0.

Using auto compilation or default optimization options, that's what
happens

--8<---------------cut here---------------start------------->8---
$ rm -f step.go && guile -e '(step)' step.scm
15:39:41 ***@dundal:~/src/bug-0
--8<---------------cut here---------------end--------------->8---

However, when compiled with a particular set of optimization options
(see attached compile.scm), I get

--8<---------------cut here---------------start------------->8---
$ rm -f step.go && guile -L . -C . compile.scm && guile -L . -C . -e '(step)'

;;; WARNING (buggy (#:eliminate-dead-code? #f #:cse? #f))
Backtrace:
4 (apply-smob/1 #<catch-closure 12356e0>)
In ice-9/boot-9.scm:
705:2 3 (call-with-prompt ("prompt") #<procedure 148f620 at ice-9/eval.scm:330:13 ()> #<procedure default
>)
In ice-9/eval.scm:
619:8 2 (_ #(#(#<directory (guile-user) 12ed140>)))
In oop/goops.scm:
1490:4 1 (cache-miss ())
In unknown file:
0 (scm-error goops-error #f "No applicable method for ~S in call ~S" (#<<generic> .status (1)> (
)) #)

ERROR: In procedure scm-error:
No applicable method for #<<generic> .status (1)> in call (.status ())
[1]15:40:09 ***@dundal:~/src/bug-0
--8<---------------cut here---------------end--------------->8---

The error message seems to suggest that <node> `one' is now the empty
list.

This is with Guile 2.2.4 from current Guix master.

Greetings,
janneke
Jan Nieuwenhuizen
2018-10-31 16:28:23 UTC
Permalink
Jan Nieuwenhuizen <***@gnu.org> writes:

I get the same with latest stable-2.2

commit d9af6706e8a1a0148d492b222758e49e03d225b7
--
Jan Nieuwenhuizen <***@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
Loading...