> On 29 Mar 2018, at 01:06, Stefan Esser <s...@freebsd.org> wrote:
> 
> Am 28.03.18 um 22:28 schrieb Warner Losh:
>>> 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
>>    <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.
>> 
>>    Right, which is odd...
>> 
>>>> [2]
>>>> https://svnweb.freebsd.org/base/head/stand/i386/zfsboot/zfsboot.c?view=markup#l688
>>    
>> <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?
>> 
>>    Right, all of this should be done looooong before we get to the
>>    interpreter. Can you break into the loader prompt and try the `heap`
>>    command, see what that outputs? CC'ing imp@ because he actually knows
>>    things.
>> 
>> Totally weird. I'd add a printf to the sethead() function to display its args
>> and see if you get this panic before/after that printf...
> 
> I'm currently using a Forth-enabled boot loader again, since this is a
> "production" machine (my home server, which also receives and keeps all
> my work email, for example).
> 
> I'll build a clean world with the LUA loader and test it on one of the
> next days. Tests will include the "heap" loader command and I'll add the
> printf (though, if sbrk() has really not been called, I guess that will
> not go too well ...).
> 
> Is it possible, that the setheap function is called a second time, just
> before jumping into the kernel? (In that case adding the printf might
> crash the loader in the first setheap call ...)
> 
> Since the loader menu (and escaping from the menu) works, there must be
> a valid heap, at that time.
> 

indeed. and assuming the message really is from loader, it means, there must be 
memory corruption - if so, you can check which variables are located close to 
heap related ones… Also, since you have the working menu, it has to be related 
to actual loading. Since the loading itself has been working so far, it should 
be related to lua specific bits which are preparing towards to call load 
functions.

rgds,
toomas



_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to