<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 26, 2022 at 9:28 AM &lt;<a href="mailto:bil@ccrma.stanford.edu">bil@ccrma.stanford.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">*error-hook* is only called if there is no catch; it resets the s7 stack<br>
when it returns, so you&#39;re back at the top level.  My first thought is<br>
that you need a catch in convert.scm where you do the s7_call.  Maybe<br>
I have the wrong model of what&#39;s happening.<br>
<br>
The s7 stack can be viewed via (*s7* &#39;stack); it is independent of the<br>
C stack (I assume that&#39;s what you&#39;re seeing with backtrace).  I don&#39;t<br>
think the GC is the culprit.  s7_show_stack can give an abbreviated<br>
view of the s7 stack from C (you&#39;ll need a declaration -- it&#39;s not<br>
in s7.h, but it is accessible globally -- I thought of it as a<br>
debugging aid -- (*s7* &#39;stack) is sometimes very verbose).<br>
<br></blockquote><div>Thanks, that should be enough for further debugging.  I had completely overlooked the s7 stack as distinct from the C stack. Pretty  sure at this point it&#39;s a matter of getting my error management house in order. Which I needed to to anyway; like a lot of stuff there&#39;s a (large) element of seat-of-the-pants, hack it till it seems to work and move on. Actually understanding How Things Work is sometimes useful, I find. ;)</div><div><br></div><div>Gregg</div></div></div>