[Barrelfish-users] various boot issues

Malte Schwarzkopf malte.schwarzkopf at cl.cam.ac.uk
Thu Aug 15 11:00:52 CEST 2013


Hi Simon and Kornilios,

Thanks for helping investigate this issue :-)

Here's the output Simon asked for (full log with loglevel=5, logmask=1 
attached in text file):

------------------8<---------------------------
kernel 0: MMAP 0--90000 Type 1
kernel 0: MMAP 90000--a0000 Type 2
kernel 0: MMAP e0000--100000 Type 2
kernel 0: MMAP 100000--b897a000 Type 1
kernel 0: RAM 6900000--b897a000
kernel 0: MMAP b897a000--b8a4e000 Type 3
kernel 0: platform b897a000--b8a4e000
kernel 0: MMAP b8a4e000--ba9ac000 Type 1
kernel 0: RAM b8a4e000--ba9ac000
kernel 0: MMAP ba9ac000--ba9bd000 Type 2
kernel 0: platform ba9ac000--ba9bd000
kernel 0: MMAP ba9bd000--ba9c9000 Type 1
kernel 0: RAM ba9bd000--ba9c9000
kernel 0: create_caps_to_cnode: Cannot create more caps in CNode
kernel 0 PANIC! kernel assertion "err_is_ok(err)" failed at 
../kernel/arch/x86_64/startup_arch.c:421
------------------8<---------------------------

I'm not 100% sure how to read this, but it would suggest to me that the 
problem actually originates in a region much earlier than the giant 128 
GB RAM one (which is at 0x100000000 - 0x2040000000). That said, the RAM 
region 0x6900000 - 0xb897a000 does appear to be poorly aligned (although 
it is on a 1M boundary, and was re-aligned from 0x6880000, cf. "aligning 
free memory start to 0x6900000 (was 0x6880000): wasting 512 kB"); the 
big one at 0x100000000, however, is on a 4G boundary.

It sounds like the most satisfactory fix is indeed to make sure that the 
RAM regions are aligned to sufficiently large power-of-two values. What 
number of caps can exist in the top-level cnode (i.e. what number are we 
trying to reach by aligning things)?

Cheers,
Malte


On 15/08/13 09:36, Simon Gerber wrote:
> Hi Malte,
>
> can you try to boot with the following lines for the kernel (in menu.lst):
>
> kernel /x86_64/sbin/elver loglevel=5 logmask=1
> module /x86/64/sbin/cpu loglevel=5 logmask=1
>
> This should turn more debugging output on (all the
> debug(SUBSYS_STARTUP, ...) lines to be precise). I'm mostly interested
> in the output from create_phys_caps() which should tell us if there is
> a RAM region that causes the issue.
>
> This should allow you to see what memory regions get put into the
> top-level cnode that holds RAM capabilities. The cause for the bug
> you're experiencing is that every RAM capability needs to have a size
> that is a power of two, and if some RAM region starts at a not very
> well aligned address you're using a lot of capability slots to create
> smaller RAM caps (e.g. if there is a region that is only aligned to
> 4k, you're going to create a 4k RAM cap, then an 8k RAM cap and so on
> until you hit some address that's better aligned, e.g. to a gigabyte
> and then you can start creating large RAM caps).
>
> As Kornilios said though, we don't have a proper fix for the issue
> (that being to make the top-level cnode bigger) because there are
> assumptions in the code about the size of that cnode that aren't
> expressed as #defines. If you look in
> kernel/arch/x86_64/startup_arch.c:688 you'll find the band-aid fix
> that we implemented when we were running into the same issue. What we
> do there is to make sure that the RAM region that was used in the
> early boot allocator (alloc_phys()) is aligned to a 1M boundary. You
> might want to use the same band-aid fix for any RAM regions that are
> not aligned to at least a 1M boundary to make the problem less
> pronounced.
>
> Hope this sheds some more light on the issue,
>
> -- Simon
>
> On 14 August 2013 15:53, Malte Schwarzkopf
> <malte.schwarzkopf at cl.cam.ac.uk> wrote:
>> Hi Manuel, Simon and others,
>>
>> Thanks a lot for getting back to me! I'll dig a little deeper on the
>> 64-bit side of things; the use of the x86_32 machine was mainly due to a
>> shortage of suitable hardware, and it's not blocking anything if that
>> one doesn't work (I'll dig into it nonetheless if I get a chance, though).
>>
>> I tried booting (with the debug flags turned on) on one of our latest
>> Sandy Bridge Intel machines, and got the below output, crashing
>> somewhere in startup_arch.c:
>>
>> --------------8<--------------------
>> Kernel starting at address 0xffffff8005a65000
>> Barrelfish CPU driver starting on x86_64 apic_id 0
>> kernel 0: Measured 99758001 APIC timer counts in one RTC second, 210701
>> data points.
>> kernel 0: Measured 3292025 TSC counts per ms, 99 data points. Average
>> jitter 13 TSC ticks.
>> spawn module: x86_64/sbin/init
>> aligning free memory start to 0x6900000 (was 0x6880000): wasting 512 kB
>> Raw MMAP from BIOS
>>          0x00000000 - 0x00090000 Type: 1 Length: 0x90000
>>          0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
>>          0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
>>          0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
>>          0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
>>          0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
>>          0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
>>          0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
>>          0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
>>          0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
>>          0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
>>          0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
>>          0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
>>          0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
>>          0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
>>          0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
>>          0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
>>          0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
>>          0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
>>          0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
>>          0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
>>          0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
>>          0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
>>          0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
>>          0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
>>          0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
>>          0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
>>          0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
>>          0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
>>          0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
>>          0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
>>          0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
>>          0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
>>          0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
>>          0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
>>          0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
>>          0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
>>          0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
>>          0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
>>          0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
>>          0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
>>          0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
>>          0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
>>          0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
>>          0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
>>          0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
>>          0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
>>          0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
>>          0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
>>          0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
>>          0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
>>          0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
>> Sorted MMAP
>>          0x00000000 - 0x00090000 Type: 1 Length: 0x90000
>>          0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
>>          0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
>>          0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
>>          0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
>>          0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
>>          0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
>>          0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
>>          0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
>>          0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
>>          0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
>>          0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
>>          0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
>>          0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
>>          0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
>>          0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
>>          0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
>>          0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
>>          0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
>>          0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
>>          0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
>>          0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
>>          0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
>>          0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
>>          0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
>>          0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
>>          0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
>>          0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
>>          0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
>>          0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
>>          0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
>>          0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
>>          0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
>>          0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
>>          0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
>>          0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
>>          0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
>>          0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
>>          0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
>>          0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
>>          0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
>>          0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
>>          0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
>>          0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
>>          0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
>>          0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
>>          0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
>>          0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
>>          0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
>>          0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
>>          0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
>>          0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
>> Preprocessed MMAP
>>          0x00000000 - 0x00090000 Type: 1 Length: 0x90000
>>          0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
>>          0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
>>          0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
>>          0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
>>          0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
>>          0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
>>          0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
>>          0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
>>          0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
>>          0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
>>          0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
>>          0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
>>          0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
>>          0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
>>          0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
>>          0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
>>          0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
>>          0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
>>          0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
>>          0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
>>          0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
>>          0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
>>          0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
>>          0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
>>          0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
>>          0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
>>          0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
>>          0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
>>          0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
>>          0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
>>          0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
>>          0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
>>          0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
>>          0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
>>          0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
>>          0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
>>          0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
>>          0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
>>          0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
>>          0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
>>          0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
>>          0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
>>          0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
>>          0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
>>          0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
>>          0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
>>          0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
>>          0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
>>          0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
>>          0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
>>          0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
>> Pagealigned MMAP
>>          0x00000000 - 0x00090000 Type: 1 Length: 0x90000
>>          0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
>>          0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
>>          0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
>>          0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
>>          0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
>>          0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
>>          0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
>>          0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
>>          0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
>>          0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
>>          0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
>>          0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
>>          0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
>>          0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
>>          0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
>>          0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
>>          0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
>>          0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
>>          0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
>>          0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
>>          0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
>>          0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
>>          0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
>>          0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
>>          0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
>>          0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
>>          0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
>>          0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
>>          0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
>>          0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
>>          0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
>>          0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
>>          0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
>>          0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
>>          0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
>>          0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
>>          0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
>>          0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
>>          0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
>>          0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
>>          0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
>>          0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
>>          0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
>>          0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
>>          0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
>>          0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
>>          0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
>>          0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
>>          0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
>>          0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
>>          0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
>> kernel 0: create_caps_to_cnode: Cannot create more caps in CNode
>> kernel 0 PANIC! kernel assertion "err_is_ok(err)" failed at
>> ../kernel/arch/x86_64/startup_arch.c:421
>> kernel 0: exception 3 (error code 0x0): vec_bp: breakpoint
>> Faulting instruction pointer (or next instruction): 0xffffff8005a7417d
>>     => i.e. unrelocated kernel address 0x10f17d
>> Registers:
>>    rax: 0xffffff8005a92000  r8 : 0x0000000000000000
>>    rbx: 0xffffff80069000a8  r9 : 0x0000000000000000
>>    rcx: 0x00000000000003f8  r10: 0x0000000000000000
>>    rdx: 0xffffff8005b272e0  r11: 0xffffffffffffffff
>>    rsp: 0xffffff800634cc18  r12: 0x00000000ba9c9000
>>    rdi: 0x0000000000000000  r13: 0xffffff8005a8c600
>>    rsi: 0x000000000000000a  r14: 0xffffff80069004e0
>>    rip: 0xffffff8005a7417d  r15: 0x00000000ba9bd000
>> Top o' stack:
>>    0      0xffffff8005a77f2b (18446743524048600875)
>>    1      0xffffff8006351180 (18446743524057878912)
>>    2      0xffffff8000000020 (18446743523953737760)
>>    3      0xffffff800634cc80 (18446743524057861248)
>>    4      0xffffff800634cc40 (18446743524057861184)
>>    5      0x0000000000200010 (2097168)
>>    6      0xffffff8005a8abf3 (18446743524048677875)
>>    7      0xffffff8005a88900 (18446743524048668928)
>>    8      0x00000000000001a5 (421)
>>    9      0x0000000000000000 (0)
>> kernel 0: Waiting for GDB connection...
>> --------------8<--------------------
>>
>> Having glanced over this, all seems good: all regions are page-aligned,
>> and correctly sorted after preprocessing.
>>
>> The failure appears to be in the code creating caps for the region that
>> was figured out to be RAM; and specifically, space for caps seems to be
>> running out (?). This might be plausible: the machine I ran this on has
>> 128 GB of RAM. Is there maybe some size limitation on a data structure
>> holding the caps? I would have thought that the top-level RAM capability
>> should only use up (and only massive fragmentation would lead to
>> problems on machines with lots of RAM), but my understanding of the
>> Barrelfish capability system is, euphemistically put, limited ;-)
>>
>> Any ideas?
>>
>> Cheers,
>> M.
>>
>>
>> On 24/07/13 08:52, Manuel Stocker wrote:
>>> Hi Malte,
>>>
>>> As far as I remember we had similar symptoms when trying to boot
>>> Barrelfish on a DELL Optiplex machine for our lab project. It has been a
>>> while, so I might be wrong here. The issues were caused by a bad memory
>>> map given by the DELL BIOS, so I added some fixup code in startup_arch.c
>>> (only for x86_64).
>>>
>>> The problem is described in section 10.2.3 in TN-015 [1]
>>> The fixup code is in create_phys_caps for x64 [2]
>>> And missing in 32bit [3]
>>>
>>> You might want to check the debug output it should generate for x64 and
>>> maybe adapt the code for 32bit.
>>>
>>> Cheers,
>>> Manuel
>>>
>>> [1] http://www.barrelfish.org/TN-015-DiskDriverArchitecture.pdf
>>> [2]
>>> http://hg.barrelfish.org/barrelfish/file/tip/kernel/arch/x86_64/startup_arch.c#l145
>>> [3]
>>> http://hg.barrelfish.org/barrelfish/file/tip/kernel/arch/x86_32/startup_arch.c#l151
>>>
>>>
>>
>>
>> _______________________________________________
>> Barrelfish-users mailing list
>> Barrelfish-users at lists.inf.ethz.ch
>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users

-------------- next part --------------
Kernel starting at address 0xffffff8005a65000
kernel 0: Machine-check exceptions supported
kernel 0: Machine-check architecture supported, family 0x6
Barrelfish CPU driver starting on x86_64 apic_id 0
kernel 0: Measured 99757959 APIC timer counts in one RTC second, 210381 data points.
kernel 0: Measured 3291989 TSC counts per ms, 99 data points. Average jitter 9 TSC ticks.
kernel 0: MONITOR/MWAIT supported: min size 64 bytes, max 64 bytes. IBE EMX
spawn module: x86_64/sbin/init
kernel 0: Allocated physical memory [0x6652000, 0xca000]
kernel 0: Allocated physical memory [0x671c000, 0x163000]
aligning free memory start to 0x6900000 (was 0x6880000): wasting 512 kB
Raw MMAP from BIOS
	0x00000000 - 0x00090000 Type: 1 Length: 0x90000
	0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
	0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
	0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
	0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
	0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
	0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
	0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
	0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
	0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
	0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
	0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
	0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
	0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
	0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
	0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
	0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
	0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
	0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
	0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
	0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
	0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
	0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
	0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
	0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
	0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
	0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
	0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
	0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
	0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
	0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
	0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
	0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
	0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
	0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
	0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
	0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
	0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
	0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
	0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
	0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
	0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
	0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
	0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
	0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
	0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
	0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
	0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
	0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
	0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
	0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
	0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
Sorted MMAP
	0x00000000 - 0x00090000 Type: 1 Length: 0x90000
	0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
	0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
	0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
	0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
	0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
	0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
	0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
	0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
	0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
	0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
	0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
	0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
	0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
	0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
	0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
	0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
	0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
	0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
	0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
	0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
	0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
	0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
	0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
	0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
	0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
	0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
	0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
	0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
	0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
	0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
	0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
	0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
	0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
	0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
	0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
	0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
	0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
	0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
	0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
	0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
	0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
	0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
	0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
	0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
	0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
	0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
	0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
	0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
	0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
	0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
	0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
Preprocessed MMAP
	0x00000000 - 0x00090000 Type: 1 Length: 0x90000
	0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
	0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
	0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
	0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
	0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
	0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
	0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
	0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
	0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
	0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
	0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
	0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
	0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
	0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
	0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
	0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
	0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
	0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
	0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
	0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
	0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
	0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
	0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
	0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
	0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
	0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
	0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
	0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
	0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
	0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
	0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
	0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
	0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
	0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
	0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
	0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
	0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
	0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
	0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
	0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
	0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
	0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
	0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
	0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
	0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
	0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
	0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
	0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
	0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
	0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
	0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
Pagealigned MMAP
	0x00000000 - 0x00090000 Type: 1 Length: 0x90000
	0x00090000 - 0x000a0000 Type: 2 Length: 0x10000
	0x000e0000 - 0x00100000 Type: 2 Length: 0x20000
	0x00100000 - 0xb897a000 Type: 1 Length: 0xb887a000
	0xb897a000 - 0xb8a4e000 Type: 3 Length: 0xd4000
	0xb8a4e000 - 0xba9ac000 Type: 1 Length: 0x1f5e000
	0xba9ac000 - 0xba9bd000 Type: 2 Length: 0x11000
	0xba9bd000 - 0xba9c9000 Type: 1 Length: 0xc000
	0xba9c9000 - 0xba9de000 Type: 2 Length: 0x15000
	0xba9de000 - 0xbaadc000 Type: 1 Length: 0xfe000
	0xbaadc000 - 0xbaadd000 Type: 2 Length: 0x1000
	0xbaadd000 - 0xbaae7000 Type: 1 Length: 0xa000
	0xbaae7000 - 0xbaaea000 Type: 2 Length: 0x3000
	0xbaaea000 - 0xbab3a000 Type: 1 Length: 0x50000
	0xbab3a000 - 0xbab57000 Type: 2 Length: 0x1d000
	0xbab57000 - 0xbab5c000 Type: 1 Length: 0x5000
	0xbab5c000 - 0xbab60000 Type: 2 Length: 0x4000
	0xbab60000 - 0xbab72000 Type: 1 Length: 0x12000
	0xbab72000 - 0xbab82000 Type: 2 Length: 0x10000
	0xbab82000 - 0xbabbd000 Type: 1 Length: 0x3b000
	0xbabbd000 - 0xbabc1000 Type: 2 Length: 0x4000
	0xbabc1000 - 0xbacd2000 Type: 1 Length: 0x111000
	0xbacd2000 - 0xbacd9000 Type: 2 Length: 0x7000
	0xbacd9000 - 0xbad44000 Type: 1 Length: 0x6b000
	0xbad44000 - 0xbad49000 Type: 2 Length: 0x5000
	0xbad49000 - 0xbad60000 Type: 1 Length: 0x17000
	0xbad60000 - 0xbad6f000 Type: 2 Length: 0xf000
	0xbad6f000 - 0xbadb6000 Type: 1 Length: 0x47000
	0xbadb6000 - 0xbadde000 Type: 2 Length: 0x28000
	0xbadde000 - 0xbae00000 Type: 1 Length: 0x22000
	0xbae00000 - 0xbb138000 Type: 2 Length: 0x338000
	0xbb138000 - 0xbd9f7000 Type: 1 Length: 0x28bf000
	0xbd9f7000 - 0xbdbf7000 Type: 2 Length: 0x200000
	0xbdbf7000 - 0xbdcdd000 Type: 1 Length: 0xe6000
	0xbdcdd000 - 0xbdde7000 Type: 2 Length: 0x10a000
	0xbdde7000 - 0xbde2a000 Type: 4 Length: 0x43000
	0xbde2a000 - 0xbde2b000 Type: 3 Length: 0x1000
	0xbde2b000 - 0xbde2d000 Type: 4 Length: 0x2000
	0xbde2d000 - 0xbde2e000 Type: 3 Length: 0x1000
	0xbde2e000 - 0xbdefe000 Type: 4 Length: 0xd0000
	0xbdefe000 - 0xbdf00000 Type: 3 Length: 0x2000
	0xbdf00000 - 0xbdf03000 Type: 4 Length: 0x3000
	0xbdf03000 - 0xbdf1f000 Type: 3 Length: 0x1c000
	0xbdf1f000 - 0xbdfac000 Type: 4 Length: 0x8d000
	0xbdfac000 - 0xbe000000 Type: 1 Length: 0x54000
	0xbe000000 - 0xd0000000 Type: 2 Length: 0x12000000
	0xfec00000 - 0xfec01000 Type: 2 Length: 0x1000
	0xfed19000 - 0xfed1a000 Type: 2 Length: 0x1000
	0xfed1c000 - 0xfed20000 Type: 2 Length: 0x4000
	0xfee00000 - 0xfee01000 Type: 2 Length: 0x1000
	0xffa20000 - 0x100000000 Type: 2 Length: 0x5e0000
	0x100000000 - 0x2040000000 Type: 1 Length: 0x1f40000000
kernel 0: MMAP 0--90000 Type 1
kernel 0: MMAP 90000--a0000 Type 2
kernel 0: MMAP e0000--100000 Type 2
kernel 0: MMAP 100000--b897a000 Type 1
kernel 0: RAM 6900000--b897a000
kernel 0: MMAP b897a000--b8a4e000 Type 3
kernel 0: platform b897a000--b8a4e000
kernel 0: MMAP b8a4e000--ba9ac000 Type 1
kernel 0: RAM b8a4e000--ba9ac000
kernel 0: MMAP ba9ac000--ba9bd000 Type 2
kernel 0: platform ba9ac000--ba9bd000
kernel 0: MMAP ba9bd000--ba9c9000 Type 1
kernel 0: RAM ba9bd000--ba9c9000
kernel 0: create_caps_to_cnode: Cannot create more caps in CNode
kernel 0 PANIC! kernel assertion "err_is_ok(err)" failed at ../kernel/arch/x86_64/startup_arch.c:421
kernel 0: exception 3 (error code 0x0): vec_bp: breakpoint
Faulting instruction pointer (or next instruction): 0xffffff8005a7417d
  => i.e. unrelocated kernel address 0x10f17d
Registers:
 rax: 0xffffff8005a92000  r8 : 0x0000000000000000
 rbx: 0xffffff80069000a8  r9 : 0x0000000000000000
 rcx: 0x00000000000003f8  r10: 0x0000000000000000
 rdx: 0xffffff8005b272e0  r11: 0xffffffffffffffff
 rsp: 0xffffff800634cc18  r12: 0x00000000ba9c9000
 rdi: 0x0000000000000000  r13: 0xffffff8005a8c600
 rsi: 0x000000000000000a  r14: 0xffffff80069004e0
 rip: 0xffffff8005a7417d  r15: 0x00000000ba9bd000
Top o' stack:
 0 	 0xffffff8005a77f2b (18446743524048600875)
 1 	 0xffffff8006351180 (18446743524057878912)
 2 	 0xffffff8000000020 (18446743523953737760)
 3 	 0xffffff800634cc80 (18446743524057861248)
 4 	 0xffffff800634cc40 (18446743524057861184)
 5 	 0x0000000000200010 (2097168)
 6 	 0xffffff8005a8abf3 (18446743524048677875)
 7 	 0xffffff8005a88900 (18446743524048668928)
 8 	 0x00000000000001a5 (421)
 9 	 0x0000000000000000 (0)
kernel 0: Waiting for GDB connection...


More information about the Barrelfish-users mailing list