guile-devel
[Top][All Lists]
Advanced

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

Re: An Error in Early Boot


From: Noah Lavine
Subject: Re: An Error in Early Boot
Date: Thu, 14 Oct 2010 22:31:16 -0400

Yeah, it looks to me like that code would resolve this issue.

What I don't understand, however, is why the pre-init-catch-tag, which
that patch added, didn't resolve the issue. Is this a difference
between catch tags and prompts?

Noah

On Thu, Oct 14, 2010 at 7:36 PM, Mike Gran <address@hidden> wrote:
>> From: Noah Lavine <address@hidden>
>>
>> Hello,
>>
>> I got into a situation just now when Guile was generating an error
>> very early in the boot process (it was loading some objcode from
>> scm_init_eval_in_scheme(), I think, although I haven't looked enough
>> to be sure). The fun part is, instead of printing an error message, it
>> got into an infinite recursion that eventually ended in a memory
>> fault.
>>
>> The reason is that scm_error_scm in error.c calls scm_ithrow (error.c:315),
>> which finds its way through scm_throw and some VM calls to
>> pre_init_throw (throw.c:495)
>> which in turn gets it to scm_at_abort, which goes to scm_c_abort,
>> which finally calls scm_misc_error (control.c:210) because it can't
>> find a prompt on the dynamic stack because the error is too early,
>> which leads back to scm_error_scm again.
>
> Hi Noah,
>
> FWIW, I also noticed the infinite recusion problem in bug #30162.
>
> http://savannah.gnu.org/bugs/?30162
>
> At the time, I thought that the following revision might be the one
> that caused the problem.
>
> http://git.savannah.gnu.org/cgit/guile.git/commit/?id=c6a32a2cd59190dcf17c7fb3022588f56079a03e
>
>
> -Mike
>



reply via email to

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