clang compiled kernel panic when mounting zfs root on i386

Henri Hennebert hlh at restart.be
Thu Dec 20 10:26:25 UTC 2012


On 12/17/2012 23:20, Andriy Gapon wrote:
> on 17/12/2012 14:57 Volodymyr Kostyrko said the following:
>> 13.12.2012 12:25, Andriy Gapon:
>>> on 12/12/2012 21:35 Dimitry Andric said the following:
>>>> Especially the recursive spa_load and traverse_visitbp calls are scary,
>>>> because that can grow out of hand very quickly.  It is probably tricky
>>>> to remove the recursion...
>>>
>>> Re-entering spa_load once is normal and is expected.
>>> traverse_visitbp is also expected to recurse depending on data layout.
>>> So yeah, it's probably even trickier than teaching clang to allocate smaller
>>> stack
>>> frames ;-)
>>
>> I hit this one again, but this time my world and kernel are compiled with stock
>> gcc. Pictures 3 to 5:
>>
>> https://picasaweb.google.com/104021007361271711472/I386ZfsDoubleFault
>>
>> This happens on mounting root after unclean shutdown. I fixed my pool with
>> booting amd64 kernel, after this i386 kernel starts fine.
>>
>> Maybe it's just time to accept that ZFS on i386 is not stable? Current handbook
>> elaborates on ZFS like it's known to work on i386.
> 
> Yes, it is known to work.
> 
> It's been already mentioned many times that ZFS works much better on amd64.
> It's up to a (potential) user to understand limitations of i386 and to decide
> whether to use ZFS, in what situations and how.
> 
> You may want to consider using KSTACK_PAGES=4 in your kernel configuration.

'options KSTACK_PAGES=4' allow my 9.1-STABLE to mount the root fs from zfs.

I think it whould be useful to add this trick to /usr/src/UPDATING for
other i386 users.

Thanks a lot

Henri


> 



More information about the freebsd-fs mailing list