Re: Boot failure: panic: No heap setup

From: Stefan Esser <se_at_freebsd.org>
Date: Wed, 28 Mar 2018 01:39:30 +0200
Am 27.03.18 um 21:31 schrieb Kyle Evans:
> On Tue, Mar 27, 2018 at 11:06 AM, Stefan Esser <se_at_freebsd.org> wrote:
>> A few weeks ago I tried the LUA boot and found, that my kernel did not start
>> (i.e. did not print the initial FreeBSD version line), but instead stopped
>> with:
> 
> Oy =/
> 
>> panic: No heap setup
>>
>> I recovered by booting from an alternate boot device and kept my system
>> running until today, where I decided to give the LUA boot another try.
>>
>> The boot failure happened again, with identical message:
>>
>>          panic: No heap setup
> 
> Hmm... that's an sbrk panic [1], indicating that setheap hadn't been
> called. zfsgptboot is zfsboot with gpt bits included, so the relevant
> setheap call is [2] I believe. It's not immediately clear to me how
> switching interpreters could actually be breaking it in this way.
> 
> At what point are you hitting this panic? After menu, before kernel transition?

The menu is displayed and I can unload the kernel and load the kernel
and modules from an alternate path. The lua code seems to work just fine,
but as soon as I enter the "boot" command, the panic happens.

This happens when the loader transfers control to the kernel but before
any other output is generated. I tried booting a GENERIC kernel just to
be sure this is not caused by an out-dated kernel config file.

>> I tried booting a GENERIC kernel, but only rebuilding the boot loader
>> (gptzfsloader in my case) without LUA support fixed the issue for me ...
>>
>> The system is -CURRENT (built today) on amd64 (not converted to UEFI, yet).

Hmmm, the code references point into the boot loader code - I had
expected that there is a problem in the kernel, not the boot loader.

> [1] https://svnweb.freebsd.org/base/head/stand/libsa/sbrk.c?view=markup#l56

Seems that setbase has either not been called or has been called with base=0.

> [2] https://svnweb.freebsd.org/base/head/stand/i386/zfsboot/zfsboot.c?view=markup#l688

I had thought, that the zfs boot code has been initialized before the
menu is displayed?

Or do I misunderstand this phase of the boot process???

Regards, STefan
Received on Tue Mar 27 2018 - 21:49:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC