guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Running files from command-line vs. load'ing them


From: Daniel Kraft
Subject: Re: Running files from command-line vs. load'ing them
Date: Sun, 28 Dec 2008 12:50:45 +0100
User-agent: Thunderbird 2.0.0.0 (X11/20070425)

Andy Wingo wrote:
$ myguile -L .. program.scm
ERROR: In procedure string-contains:
ERROR: Wrong type argument in position 1 (expecting string): #<winder
b7d6e360>

I think this means that your extension missed a GC reference somewhere,
and that a SCM that you have has been freed and replaced with a
"winder".

("Winders" are part of guile's dynamic-wind implementation and are not
normally exposed to scheme -- a pretty good indication that this is the
case.)

Probably what's happening is that GC runs at different times when
running from the command line, or when running with the repl loaded; or
that it has marked but not yet swept that cell; etc.

Thanks Andy, that was (of course) the case... Now it seems to work (that means, I've not been able to get the error again).

Unfortunatelly, there's another such issue:

#<unknown-immediate 0xb7ded605>
Backtrace:
In
Exception during displaying of backtrace: wrong-type-arg

<unnamed port>: In procedure car in expression (car dgl):
<unnamed port>: Wrong type (expecting ~A): ~S


Do you have an idea what that could be? When trying to (debug) I get a message about a wrong stack frame and guile crashes. My guess would be some sort of memory violation in my C routines, but so far I'm not aware they do anything that could cause one. Also, trying to run my guile-extension with valgrind does not work (but that's for a problem with my program, definitely not Guile).

Thank you very much,
Daniel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]