[Barrelfish-users] barrelfish help!

Antonio Barbalace antoniob at vt.edu
Thu Nov 20 22:28:26 CET 2014


I was able to solve this problem by doubling the DEFAULT_CNODE_SLOTS number
in lib/spawndomain/arch/x86/spawn_arch.c: spawn_arch_load (). (kudos to who
put the XXX comment)

   // XXX: this code assumes that elf_load never needs more than 32 slots
for
    // text frame capabilities.
    err = cnode_create_raw(cnode_cap, &si->segcn, DEFAULT_CNODE_SLOTS*2,
NULL);
        return err_push(err, SPAWN_ERR_CREATE_SEGCN);
    }

I can now run cg up to 32 cores. After that I get the refill_slab error..

Antonio

On Mon, Nov 17, 2014 at 11:18 AM, Antonio Barbalace <antoniob at vt.edu> wrote:

> I was able to print the cspace.
>
> > bomp_benchmark_cg 1
> cap_copy failed for src_slot = 20(0x40c24000), dest_slot = 32(0x40c24000),
> spawn_vspace_slot = 22, new_slot_count = 12
> ...
> spawnd.0:     slot 4 caddr 0x40c24000 (20 bits) is a CNode cap (bits 5,
> rights mask 0x1f)
> spawnd.0:       slot 0 caddr 0x40c24000 (25 bits) is a Frame cap
> (0x82e00000:19)
> spawnd.0:       slot 1 caddr 0x40c24080 (25 bits) is a Frame cap
> (0x82e80000:18)
> spawnd.0:       slot 2 caddr 0x40c24100 (25 bits) is a Frame cap
> (0x82d70000:16)
> spawnd.0:       slot 3 caddr 0x40c24180 (25 bits) is a Frame cap
> (0x82de0000:15)
> spawnd.0:       slot 4 caddr 0x40c24200 (25 bits) is a Frame cap
> (0x825b9000:12)
> spawnd.0:       slot 5 caddr 0x40c24280 (25 bits) is a Frame cap
> (0x82e00000:19)
> spawnd.0:       slot 6 caddr 0x40c24300 (25 bits) is a Frame cap
> (0x82e80000:18)
> spawnd.0:       slot 7 caddr 0x40c24380 (25 bits) is a Frame cap
> (0x82d70000:16)
> spawnd.0:       slot 8 caddr 0x40c24400 (25 bits) is a Frame cap
> (0x82de0000:15)
> spawnd.0:       slot 9 caddr 0x40c24480 (25 bits) is a Frame cap
> (0x825b9000:12)
> spawnd.0:       slot 10 caddr 0x40c24500 (25 bits) is a Frame cap
> (0x94000000:25)
> spawnd.0:       slot 11 caddr 0x40c24580 (25 bits) is a Frame cap
> (0x91000000:24)
> spawnd.0:       slot 12 caddr 0x40c24600 (25 bits) is a Frame cap
> (0x92000000:23)
> spawnd.0:       slot 13 caddr 0x40c24680 (25 bits) is a Frame cap
> (0x83800000:21)
> spawnd.0:       slot 14 caddr 0x40c24700 (25 bits) is a Frame cap
> (0x83700000:20)
> spawnd.0:       slot 15 caddr 0x40c24780 (25 bits) is a Frame cap
> (0x83a00000:19)
> spawnd.0:       slot 16 caddr 0x40c24800 (25 bits) is a Frame cap
> (0x82ec0000:17)
> spawnd.0:       slot 17 caddr 0x40c24880 (25 bits) is a Frame cap
> (0x82ee0000:16)
> spawnd.0:       slot 18 caddr 0x40c24900 (25 bits) is a Frame cap
> (0x82de8000:15)
> spawnd.0:       slot 19 caddr 0x40c24980 (25 bits) is a Frame cap
> (0x825e0000:14)
> spawnd.0:       slot 20 caddr 0x40c24a00 (25 bits) is a Frame cap
> (0x825d0000:13)
> spawnd.0:       slot 21 caddr 0x40c24a80 (25 bits) is a Frame cap
> (0x825be000:12)
> spawnd.0:       slot 22 caddr 0x40c24b00 (25 bits) is a Frame cap
> (0x94000000:25)
> spawnd.0:       slot 23 caddr 0x40c24b80 (25 bits) is a Frame cap
> (0x91000000:24)
> spawnd.0:       slot 24 caddr 0x40c24c00 (25 bits) is a Frame cap
> (0x92000000:23)
> spawnd.0:       slot 25 caddr 0x40c24c80 (25 bits) is a Frame cap
> (0x83800000:21)
> spawnd.0:       slot 26 caddr 0x40c24d00 (25 bits) is a Frame cap
> (0x83700000:20)
> spawnd.0:       slot 27 caddr 0x40c24d80 (25 bits) is a Frame cap
> (0x83a00000:19)
> spawnd.0:       slot 28 caddr 0x40c24e00 (25 bits) is a Frame cap
> (0x82ec0000:17)
> spawnd.0:       slot 29 caddr 0x40c24e80 (25 bits) is a Frame cap
> (0x82ee0000:16)
> spawnd.0:       slot 30 caddr 0x40c24f00 (25 bits) is a Frame cap
> (0x82de8000:15)
> spawnd.0:       slot 31 caddr 0x40c24f80 (25 bits) is a Frame cap
> (0x825e0000:14)
> spawnd.0:     slot 7 caddr 0x40c27000 (20 bits) is a CNode cap (bits 10,
> rights mask 0x1f)
> ...
> ERROR: spawnd.0 in spawn_with_caps_handler() ../usr/spawnd/service.c:352
> ERROR: spawn
> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
> Failure: (         libelf) Nested failure in allocator function
> [ELF_ERR_ALLOCATE]
> Failure: (  libbarrelfish) Failure in cap_copy() [LIB_ERR_CAP_COPY]
> Failure: (         kernel) Destination capability slots occupied
> [SYS_ERR_SLOT_IN_USE]
> bomp_benchmark_cg: error spawning: Failure while loading
> ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
> ERROR: Spawning Error
>
> ab
>
>
> On Sun, Nov 16, 2014 at 11:13 PM, Antonio Barbalace <antoniob at vt.edu>
> wrote:
>
>> Dear Reto,
>>
>> I did some experiments as you suggested but I wasn't able to solve the
>> problem. If you have any example code I will be happy if you can share it.
>> However, I continued debugging the problem! I am curious to know if there
>> is an API that I can call at the moment of the error and dump the
>> capabilities (like print_cspace).
>>
>> >bomp_benchmark_cg 1
>> elf_allocate: cap_copy failed for src_slot = 20, dest_slot = 32,
>> spawn_vspace_slot = 22, new_slot_count = 12
>> ERROR: spawnd.0 in spawn_with_caps_handler() ../usr/spawnd/service.c:352
>> ERROR: spawn
>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>> Failure: (         libelf) Nested failure in allocator function
>> [ELF_ERR_ALLOCATE]
>> Failure: (  libbarrelfish) Failure in cap_copy() [LIB_ERR_CAP_COPY]
>> Failure: (         kernel) Destination capability slots occupied
>> [SYS_ERR_SLOT_IN_USE]
>> bomp_benchmark_cg: error spawning: Failure while loading
>> ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>> ERROR: Spawning Error
>>
>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>> Failure: (         libelf) Nested failure in allocator function
>> [ELF_ERR_ALLOCATE]
>> Failure: (  libbarrelfish) Failure in cap_copy() [LIB_ERR_CAP_COPY]
>> Failure: (         kernel) Destination capability slots occupied
>> [SYS_ERR_SLOT_IN_USE]
>>
>> many thanks,
>> Antonio
>>
>> On Thu, Nov 13, 2014 at 9:30 AM, Achermann Reto <
>> retoachermann at student.ethz.ch> wrote:
>>
>>>  Hi Antonio,
>>>
>>>
>>>
>>> Just to provide some additional information that may have caused the
>>> issue.
>>>
>>>
>>>
>>> I ran into similar problems when I benchmarked the Barrelfish OpenMP
>>> implementation. The problem there was caused by an improper cleanup of the
>>> worker threads i.e. the cleanup thread is not called early enough. This
>>> resulted that the pre-allocated threads no longer are freed and hence the
>>> “newthread != NULL” assertion fired. In my case a couple of thread_yield()
>>> between the rounds did the trick, however this is not considered a
>>> solution. I haven’t looked at the FT implementation yet but judging from 6
>>> iteration on 64 cores the limit is likely to be reached in iteration 5.
>>>
>>>
>>>
>>> In any case, we need to do a work around in the way the memory layout is
>>> set up. Currently, maximum of 3.5GB of memory can be allocated on the heap
>>> due to 4G boundary constraints.
>>>
>>>
>>>
>>> -- Reto
>>>
>>>
>>>
>>> *From:* Antonio Barbalace [mailto:antoniob at vt.edu]
>>> *Sent:* Thursday, November 13, 2014 5:46 AM
>>> *To:* Gerber Simon
>>> *Cc:* Achermann Reto; barrelfish-users at lists.inf.ethz.ch; Zellweger Gerd
>>> *Subject:* Re: [Barrelfish-users] barrelfish help!
>>>
>>>
>>>
>>> Hi Simon,
>>>
>>> first of all, thank you very much! I am now successfully running FT and
>>> CG! The first patch solved the allocation problem, I am successfully
>>> running up to 48 cores. However I tried for 64 cores and I get the
>>> following error (for FT):
>>>
>>>  Size                : 256x256x128
>>>  Iterations          :           6
>>> ERROR: bomp_benchmark_.24 in slab_alloc() ../lib/barrelfish/slab.c:100
>>> ERROR: slab refill_func failed
>>> Failure: (  libbarrelfish) Failure in vspace_mmu_aware_map() function
>>> [LIB_ERR_VSPACE_MMU_AWARE_MAP]
>>> Failure: (  libbarrelfish) Out of space in vspace_mmu_aware_map()
>>> function [LIB_ERR_VSPACE_MMU_AWARE_NO_SPACE]
>>> assertion "newthread != NULL" failed: file "../lib/barrelfish/domain.c",
>>> line 174, function: create_thread_request
>>> Aborted
>>> ERROR: bomp_benchmark_.60 in slab_alloc() ../lib/barrelfish/slab.c:100
>>> ERROR: slab refill_func failed
>>> Aborted
>>> ERROR: bomp_benchmark_.63 in slab_alloc() ../lib/barrelfish/slab.c:100
>>> ERROR: slab refill_func failed
>>> Aborted
>>> ERROR: bomp_benchmark_.62 in slab_alloc() ../lib/barrelfish/slab.c:100
>>> ERROR: slab refill_func failed
>>> Aborted
>>>
>>> However CG does not work, I am getting the following error:
>>>
>>>
>>> > bomp_benchmark_cg 1
>>> cap_copy failed for src_slot = 21, dest_slot = 33
>>> ERROR: spawnd.0 in spawn_with_caps_handler() ../usr/spawnd/service.c:352
>>> ERROR: spawn
>>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>> Failure: (         libelf) Nested failure in allocator function
>>> [ELF_ERR_ALLOCATE]
>>> Failure: (  libbarrelfish) Failure in cap_copy() [LIB_ERR_CAP_COPY]
>>> Failure: (         kernel) Destination capability slots occupied
>>> [SYS_ERR_SLOT_IN_USE]
>>> bomp_benchmark_cg: error spawning: Failure while loading
>>> ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>> ERROR: Spawning Error
>>>
>>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>> Failure: (         libelf) Nested failure in allocator function
>>> [ELF_ERR_ALLOCATE]
>>> Failure: (  libbarrelfish) Failure in cap_copy() [LIB_ERR_CAP_COPY]
>>> Failure: (         kernel) Destination capability slots occupied
>>> [SYS_ERR_SLOT_IN_USE]
>>>
>>> please advice,
>>> thanks for you great help,
>>>
>>> Antonio
>>>
>>>
>>>
>>> PS I am subscribed to the Barrelfish list!!
>>>
>>>
>>>
>>>  On Mon, Nov 10, 2014 at 10:00 AM, Simon Gerber <
>>> simon.gerber at inf.ethz.ch> wrote:
>>>
>>> Hi Antonio,
>>>
>>> [@list: sorry for the spam, I'm not sure if Antonio is subscribed and
>>> mistakenly replied only to the list...]
>>>
>>> I've investigated a bit and have produced two patches that make the FT
>>> benchmark work.
>>>
>>> patch 1 fixes some confusion when creating different cnodes and
>>> increases the size of the page cnode by a factor of two. This fixes your
>>> immediate problem of not being able to run the FT benchmark. Additionally,
>>> changing the page cnode size should now be as easy as modifying
>>> PAGE_CNODE_BITS in include/barrelfish_kpi/init.h.
>>>
>>> patch 2 fixes the FT benchmark itself which was not working because the
>>> default stack size on Barrelfish (64kB) is too small for the fft
>>> implementation which creates rather large arrays on the stack. This patch
>>> is not necessary if you're using a release older than release2014-08-29.
>>>
>>> Best,
>>> -- Simon
>>>
>>> On 08.11.2014 18:43, Antonio Barbalace wrote:
>>>
>>>  All,
>>>
>>> Clearly I need a way to make larger memory allocations. Please advise.
>>>
>>> thank you very much,
>>> Antonio
>>>
>>> ---------------------------------------------------------------- LOG:
>>>
>>>  > bomp_benchmark_ft 1
>>> spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a .alloc:
>>> 0x492f80 .free: 0x492d80 .nslot: 128 .space: 128
>>> spawnd.0: single_slot_alloc_init_raw: ret->head: 0x17692c8 ret->head
>>> ->slot: 0 ->space: 128 ->next: 0x0
>>> spawnd.0: spawn_arch_load: ROOTCN_SLOT_SEGCN: 4 DEFAULT_CNODE_SLOTS: 32
>>> spawnd.0: elf_allocate: size: 888832 sz: 4096
>>> spawnd.0: single_slot_alloc_init_raw: ret: 0x8013c80018 ret->a .alloc:
>>> 0x492f80 .free: 0x492d80 .nslot: 1024 .space: 1024
>>> spawnd.0: single_slot_alloc_init_raw: ret->head: 0x8013c800a8 ret->head
>>> ->slot: 0 ->space: 1024 ->next: 0x0
>>> spawnd.0: elf_allocate: size: 439181312 sz: 8192
>>> spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f80 .free: 0x492d80
>>> .nslot: 128 .space: 0
>>> spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0 ->next: 0x0
>>> ERROR: spawnd.0 in elf_allocate()
>>> ../lib/spawndomain/arch/x86/spawn_arch.c:166
>>> ERROR: lib_err_memobj_pagefault_handler
>>> Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>> Failure: (  libbarrelfish) Failure in pmap_do_map() [LIB_ERR_PMAP_DO_MAP]
>>> Failure: (  libbarrelfish) Failure in get_mapping()
>>> [LIB_ERR_PMAP_GET_PTABLE]
>>> Failure: (  libbarrelfish) Failure in alloc_vnode()
>>> [LIB_ERR_PMAP_ALLOC_VNODE]
>>> Failure: (  libbarrelfish) Failure in slot_alloc() [LIB_ERR_SLOT_ALLOC]
>>> Failure: (  libbarrelfish) Slot allocator is out of space
>>> [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>> ERROR: spawnd.0 in spawn_with_caps_handler() ../usr/spawnd/service.c:352
>>> ERROR: spawn
>>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>> Failure: (         libelf) Nested failure in allocator function
>>> [ELF_ERR_ALLOCATE]
>>> Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>> [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>> Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>> Failure: (  libbarrelfish) Failure in pmap_do_map() [LIB_ERR_PMAP_DO_MAP]
>>> Failure: (  libbarrelfish) Failure in get_mapping()
>>> [LIB_ERR_PMAP_GET_PTABLE]
>>> bomp_benchmark_ft: error spawning: Failure while loading
>>> ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>> ERROR: Spawning Error
>>>
>>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>> Failure: (         libelf) Nested failure in allocator function
>>> [ELF_ERR_ALLOCATE]
>>> Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>> [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>> Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>> Failure: (  libbarrelfish) Failure in pmap_do_map() [LIB_ERR_PMAP_DO_MAP]
>>> Failure: (  libbarrelfish) Failure in get_mapping()
>>> [LIB_ERR_PMAP_GET_PTABLE]
>>>
>>> ---------------------------------------------------------------- READELF:
>>>
>>> barrelfish/build/x86_64/sbin$ readelf -l bomp_benchmark_ft
>>>
>>> Elf file type is EXEC (Executable file)
>>> Entry point 0x400455
>>> There are 5 program headers, starting at offset 64
>>>
>>> Program Headers:
>>>    Type           Offset             VirtAddr           PhysAddr
>>>                   FileSiz            MemSiz              Flags  Align
>>>    LOAD           0x0000000000000000 0x0000000000400000
>>> 0x0000000000400000
>>>                   0x00000000000d8e60 0x00000000000d8e60  R E    1000
>>>    LOAD           0x00000000000d90d0 0x00000000004d90d0
>>> 0x00000000004d90d0
>>>                   0x0000000000011c5c 0x000000001a2d55f8  RW     1000
>>>    GNU_EH_FRAME   0x00000000000b718c 0x00000000004b718c
>>> 0x00000000004b718c
>>>                   0x0000000000003c54 0x0000000000003c54  R      4
>>>    GNU_STACK      0x0000000000000000 0x0000000000000000
>>> 0x0000000000000000
>>>                   0x0000000000000000 0x0000000000000000  RWE    10
>>>    GNU_RELRO      0x00000000000d90d0 0x00000000004d90d0
>>> 0x00000000004d90d0
>>>                   0x0000000000000f30 0x0000000000000f30  R      1
>>>
>>>   Section to Segment mapping:
>>>    Segment Sections...
>>>     00     .text .rodata .eh_frame_hdr .eh_frame
>>>
>>>     01     .ctors .data.rel.ro <http://data.rel.ro> .got .got.plt .data
>>> .bss
>>>     02     .eh_frame_hdr
>>>     03
>>>     04     .ctors .data.rel.ro <http://data.rel.ro> .got
>>>
>>> ---------------------------------------------------------------- EOF
>>>
>>>
>>> On Fri, Nov 7, 2014 at 9:11 AM, Antonio Barbalace <antoniob at vt.edu
>>>
>>> <mailto:antoniob at vt.edu>> wrote:
>>>
>>>     Dear Reto,
>>>
>>>     hope the following will help. As a note, I tried to increase the
>>>     sizes but I was not successful in doing that, any suggestion?
>>>
>>>     many thanks,
>>>     Antonio
>>>
>>>     ----------------------------------------------------------------
>>> CODE:
>>>
>>>     @ lib/spawndomain/arch/x86/spawn_arch.c:spawn_arch_load( .. )
>>>
>>>          // XXX: this code assumes that elf_load never needs more than
>>>     32 slots for
>>>          // text frame capabilities.
>>>          err = cnode_create_raw(cnode_cap, &si->segcn,
>>>     DEFAULT_CNODE_SLOTS, NULL);
>>>     debug_printf("%s: ROOTCN_SLOT_SEGCN: %ld DEFAULT_CNODE_SLOTS: %ld\n",
>>>                      __FUNCTION__, (unsigned long)ROOTCN_SLOT_SEGCN,
>>>     (unsigned long)DEFAULT_CNODE_SLOTS);
>>>          if (err_is_fail(err)) {
>>>
>>>     ---------------------------------------------------------------- LOG:
>>>
>>>      > bomp_benchmark_ft 1
>>>     spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a .alloc:
>>>     0x492f40 .free: 0x492d40 .nslot: 128 .space: 128
>>>     spawnd.0: single_slot_alloc_init_raw: ret->head: 0x17692c8 ret->head
>>>     ->slot: 0 ->space: 128 ->next: 0x0
>>>     spawnd.0: spawn_arch_load: ROOTCN_SLOT_SEGCN: 4 DEFAULT_CNODE_SLOTS:
>>> 32
>>>     spawnd.0: single_slot_alloc_init_raw: ret: 0x8013c80018 ret->a
>>>     .alloc: 0x492f40 .free: 0x492d40 .nslot: 1024 .space: 1024
>>>     spawnd.0: single_slot_alloc_init_raw: ret->head: 0x8013c800a8
>>>     ret->head ->slot: 0 ->space: 1024 ->next: 0x0
>>>     spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f40 .free:
>>>     0x492d40 .nslot: 128 .space: 0
>>>
>>>     spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0 ->next:
>>> 0x0
>>>     ERROR: spawnd.0 in elf_allocate()
>>>     ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>     ERROR: lib_err_memobj_pagefault_handler
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>     [LIB_ERR_PMAP_ALLOC_VNODE]
>>>     Failure: (  libbarrelfish) Failure in slot_alloc()
>>> [LIB_ERR_SLOT_ALLOC]
>>>     Failure: (  libbarrelfish) Slot allocator is out of space
>>>     [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>     ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>     ERROR: spawn
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     bomp_benchmark_ft: error spawning: Failure while loading
>>>     ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>     ERROR: Spawning Error
>>>
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>      > bomp_benchmark_ft 2
>>>     spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a .alloc:
>>>     0x492f40 .free: 0x492d40 .nslot: 128 .space: 128
>>>     spawnd.0: single_slot_alloc_init_raw: ret->head: 0x68f468 ret->head
>>>     ->slot: 0 ->space: 128 ->next: 0x0
>>>     spawnd.0: spawn_arch_load: ROOTCN_SLOT_SEGCN: 4 DEFAULT_CNODE_SLOTS:
>>> 32
>>>     spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f40 .free:
>>>     0x492d40 .nslot: 128 .space: 0
>>>
>>>     spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0 ->next:
>>> 0x0
>>>     ERROR: spawnd.0 in elf_allocate()
>>>     ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>     ERROR: lib_err_memobj_pagefault_handler
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>     [LIB_ERR_PMAP_ALLOC_VNODE]
>>>     Failure: (  libbarrelfish) Failure in slot_alloc()
>>> [LIB_ERR_SLOT_ALLOC]
>>>     Failure: (  libbarrelfish) Slot allocator is out of space
>>>     [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>     ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>     ERROR: spawn
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     bomp_benchmark_ft: error spawning: Failure while loading
>>>     ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>     ERROR: Spawning Error
>>>
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>
>>>
>>>     On Fri, Nov 7, 2014 at 4:20 AM, Achermann Reto
>>>     <retoachermann at student.ethz.ch
>>>
>>>     <mailto:retoachermann at student.ethz.ch>> wrote:
>>>
>>>         Hi Antonio,____
>>>
>>>         __ __
>>>
>>>         Just another thought. I am not sure if the problem at hand is
>>>         related to a hard limit on the maximum number of slots in the
>>>         SEGCN:____
>>>
>>>         __ __
>>>
>>>         /* lib/spawndomain/arch/x86/spawn_arch.c */____
>>>
>>>         261     // XXX: this code assumes that elf_load never needs more
>>>         than 32 slots for____
>>>
>>>         262     // text frame capabilities.____
>>>
>>>         __ __
>>>
>>>         The mapping is done with the caps in the SEGCN of the ELF. Can
>>>         you verify how many slots you use when loading the ELF?____
>>>
>>>         __ __
>>>
>>>         -- Reto____
>>>
>>>         __ __
>>>
>>>         *From:*Antonio Barbalace [mailto:antoniob at vt.edu
>>>         <mailto:antoniob at vt.edu>]
>>>         *Sent:* Friday, November 7, 2014 3:24 AM
>>>         *To:* Kornilios Kourtis; Antonio Barbalace; Zellweger Gerd;
>>>         barrelfish-users at lists.inf.ethz.ch
>>>         <mailto:barrelfish-users at lists.inf.ethz.ch>
>>>         *Subject:* Re: [Barrelfish-users] barrelfish help!____
>>>
>>>         __ __
>>>
>>>         I added some more printfs ... if it can help solve the
>>> problem.____
>>>
>>>
>>>
>>>
>>>         > bomp_benchmark_ft 1
>>>         spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a
>>>         .alloc: 0x492f10 .free: 0x492d10 .nslot: 128 .space: 128
>>>         spawnd.0: single_slot_alloc_init_raw: ret->head: 0x76c8f8
>>>         ret->head ->slot: 0 ->space: 128 ->next: 0x0
>>>         spawnd.0: single_slot_alloc_init_raw: ret: 0x8013c80018 ret->a
>>>         .alloc: 0x492f10 .free: 0x492d10 .nslot: 1024 .space: 1024
>>>         spawnd.0: single_slot_alloc_init_raw: ret->head: 0x8013c800a8
>>>         ret->head ->slot: 0 ->space: 1024 ->next: 0x0
>>>         spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f10 .free:
>>>         0x492d10 .nslot: 128 .space: 0
>>>         spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0
>>>         ->next: 0x0
>>>         ERROR: spawnd.0 in elf_allocate()
>>>         ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>         ERROR: lib_err_memobj_pagefault_handler
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>         [LIB_ERR_PMAP_ALLOC_VNODE]
>>>         Failure: (  libbarrelfish) Failure in slot_alloc()
>>>         [LIB_ERR_SLOT_ALLOC]
>>>         Failure: (  libbarrelfish) Slot allocator is out of space
>>>         [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>         ERROR: spawnd.0 in spawn_with_caps_handler()
>>>         ../usr/spawnd/service.c:352
>>>         ERROR: spawn
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         bomp_benchmark_ft: error spawning: Failure while loading
>>>         ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>         ERROR: Spawning Error
>>>
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         > bomp_benchmark_ft 2
>>>         spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a
>>>         .alloc: 0x492f10 .free: 0x492d10 .nslot: 128 .space: 128
>>>         spawnd.0: single_slot_alloc_init_raw: ret->head: 0x76a148
>>>         ret->head ->slot: 0 ->space: 128 ->next: 0x0
>>>         spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f10 .free:
>>>         0x492d10 .nslot: 128 .space: 0
>>>         spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0
>>>         ->next: 0x0
>>>         ERROR: spawnd.0 in elf_allocate()
>>>         ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>         ERROR: lib_err_memobj_pagefault_handler
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>         [LIB_ERR_PMAP_ALLOC_VNODE]
>>>         Failure: (  libbarrelfish) Failure in slot_alloc()
>>>         [LIB_ERR_SLOT_ALLOC]
>>>         Failure: (  libbarrelfish) Slot allocator is out of space
>>>         [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>         ERROR: spawnd.0 in spawn_with_caps_handler()
>>>         ../usr/spawnd/service.c:352
>>>         ERROR: spawn
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         bomp_benchmark_ft: error spawning: Failure while loading
>>>         ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>         ERROR: Spawning Error
>>>
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>
>>>         Antonio____
>>>
>>>         __ __
>>>
>>>         __ __
>>>
>>>         On Thu, Nov 6, 2014 at 1:17 PM, Antonio Barbalace
>>>         <antoniob at vt.edu <mailto:antoniob at vt.edu>> wrote:____
>>>
>>>             Kornilios,____
>>>
>>>             I think the CAP error was due to the fact that before
>>>             launching the application successfully I mistyped it (after
>>>             you launch an application that is not existent is giving the
>>>             CAP error problem). I added few printfs in the single slot
>>>             allocator code (salloc) and this is the error report right
>>> now.
>>>
>>>             > bomp_benchmark_ft 1
>>>             spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f10
>>>             .free: 0x492d10 .nslot: 128 .space: 0
>>>             spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0
>>>             ->next: 0x0____
>>>
>>>
>>>
>>>
>>>             ERROR: spawnd.0 in elf_allocate()
>>>             ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>             ERROR: lib_err_memobj_pagefault_handler
>>>             Failure: (  libbarrelfish) Failure in pmap_map()
>>>             [LIB_ERR_PMAP_MAP]
>>>             Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>             [LIB_ERR_PMAP_DO_MAP]
>>>             Failure: (  libbarrelfish) Failure in get_mapping()
>>>             [LIB_ERR_PMAP_GET_PTABLE]
>>>             Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>             [LIB_ERR_PMAP_ALLOC_VNODE]
>>>             Failure: (  libbarrelfish) Failure in slot_alloc()
>>>             [LIB_ERR_SLOT_ALLOC]
>>>             Failure: (  libbarrelfish) Slot allocator is out of space
>>>             [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>             ERROR: spawnd.0 in spawn_with_caps_handler()
>>>             ../usr/spawnd/service.c:352
>>>             ERROR: spawn
>>>             Failure: (          spawn) Failure while loading
>>>             [SPAWN_ERR_LOAD]
>>>             Failure: (         libelf) Nested failure in allocator
>>>             function [ELF_ERR_ALLOCATE]
>>>             Failure: (  libbarrelfish) Failure in
>>>             memobj_pagefault_handler() [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>             Failure: (  libbarrelfish) Failure in pmap_map()
>>>             [LIB_ERR_PMAP_MAP]
>>>             Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>             [LIB_ERR_PMAP_DO_MAP]
>>>             Failure: (  libbarrelfish) Failure in get_mapping()
>>>             [LIB_ERR_PMAP_GET_PTABLE]
>>>             bomp_benchmark_ft: error spawning: Failure while loading
>>>             ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>             ERROR: Spawning Error
>>>
>>>             Failure: (          spawn) Failure while loading
>>>             [SPAWN_ERR_LOAD]
>>>             Failure: (         libelf) Nested failure in allocator
>>>             function [ELF_ERR_ALLOCATE]
>>>             Failure: (  libbarrelfish) Failure in
>>>             memobj_pagefault_handler() [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>             Failure: (  libbarrelfish) Failure in pmap_map()
>>>             [LIB_ERR_PMAP_MAP]
>>>             Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>             [LIB_ERR_PMAP_DO_MAP]
>>>             Failure: (  libbarrelfish) Failure in get_mapping()
>>>
>>>             [LIB_ERR_PMAP_GET_PTABLE]____
>>>
>>>             the error comes from
>>>             lib/barrelfish/slot_alloc/single_slot_alloc.c because
>>>             sca->a.space is ZERO.____
>>>
>>>             please advice!____
>>>
>>>             thanks,
>>>             Antonio____
>>>
>>>             __ __
>>>
>>>             On Wed, Nov 5, 2014 at 11:53 AM, Antonio Barbalace
>>>             <antoniob at vt.edu <mailto:antoniob at vt.edu>> wrote:____
>>>
>>>
>>>
>>>                 Let me also include this:
>>>
>>>                 bomp_benhchmark_ft 2
>>>                 ERROR: spawnd.0 in elf_allocate()
>>>                 ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>                 ERROR: lib_err_memobj_pagefault_handler
>>>                 Failure: (  libbarrelfish) Failure in pmap_map()
>>>                 [LIB_ERR_PMAP_MAP]
>>>                 Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>                 [LIB_ERR_PMAP_DO_MAP]
>>>                 Failure: (  libbarrelfish) Failure in get_mapping()
>>>                 [LIB_ERR_PMAP_GET_PTABLE]
>>>                 Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>                 [LIB_ERR_PMAP_ALLOC_VNODE]
>>>                 Failure: (  libbarrelfish) Failure in slot_alloc()
>>>                 [LIB_ERR_SLOT_ALLOC]
>>>                 Failure: (  libbarrelfish) Slot allocator is out of
>>>                 space [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>                 ERROR: spawnd.0 in spawn_with_caps_handler()
>>>                 ../usr/spawnd/service.c:352
>>>                 ERROR: spawn
>>>                 Failure: (          spawn) Failure while loading
>>>                 [SPAWN_ERR_LOAD]
>>>                 Failure: (         libelf) Nested failure in allocator
>>>                 function [ELF_ERR_ALLOCATE]
>>>                 Failure: (  libbarrelfish) Failure in
>>>                 memobj_pagefault_handler()
>>>                 [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>                 Failure: (  libbarrelfish) Failure in pmap_map()
>>>                 [LIB_ERR_PMAP_MAP]
>>>                 Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>                 [LIB_ERR_PMAP_DO_MAP]
>>>                 Failure: (  libbarrelfish) Failure in get_mapping()
>>>                 [LIB_ERR_PMAP_GET_PTABLE]
>>>                 bomp_benchmark_ft: error spawning: Failure while loading
>>>                 ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>                 ERROR: Spawning Error
>>>
>>>                 Failure: (          spawn) Failure while loading
>>>                 [SPAWN_ERR_LOAD]
>>>                 Failure: (         libelf) Nested failure in allocator
>>>                 function [ELF_ERR_ALLOCATE]
>>>                 Failure: (  libbarrelfish) Failure in
>>>                 memobj_pagefault_handler()
>>>                 [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>                 Failure: (  libbarrelfish) Failure in pmap_map()
>>>                 [LIB_ERR_PMAP_MAP]
>>>                 Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>                 [LIB_ERR_PMAP_DO_MAP]
>>>                 Failure: (  libbarrelfish) Failure in get_mapping()
>>>
>>>                 [LIB_ERR_PMAP_GET_PTABLE]____
>>>
>>>                 >>> Slot allocator is out of space____
>>>
>>>                 ab____
>>>
>>>                 __ __
>>>
>>>                 On Wed, Nov 5, 2014 at 11:47 AM, Antonio Barbalace
>>>                 <antoniob at vt.edu <mailto:antoniob at vt.edu>> wrote:____
>>>
>>>                     Attached the log and the output of print_cspace.____
>>>
>>>                     thanks again for your support,
>>>                     Antonio____
>>>
>>>                     __ __
>>>
>>>                     On Tue, Nov 4, 2014 at 7:51 AM, Kornilios Kourtis
>>>                     <kornilios.kourtis at inf.ethz.ch
>>>                     <mailto:kornilios.kourtis at inf.ethz.ch>> wrote:____
>>>
>>>
>>>
>>>                         On Mon, Nov 03, 2014 at 12:56:46PM -0500,
>>>                         Antonio Barbalace wrote:
>>>                         > Dear all,
>>>                         >
>>>                         > I am now trying to run the bomp experiments.
>>>                         >
>>>                         > Just to make some context, I am using a tftp
>>> server. bomp_benchmark_ft is
>>>                         > loaded by the menu.lst/grub (maybe is not the
>>> right way to do it). I am
>>>                         > attaching menu.lst.
>>>                         >
>>>                         > This is what happen when I am loading
>>> bomp_benchmark_ft (also without
>>>                         > arguments, the same errors are reported during
>>> boot):
>>>                         >
>>>                         > > bomp_benchmark_ft
>>>                         > cap_copy failed for src_slot = 0, dest_slot = 5
>>>                         > ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>                         > ERROR: spawn
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>
>>>                         Grepping for SYS_ERR_DEPTH_EXCEEDED results in:
>>>                         kernel/capabilities.c-618-    // If lookup
>>>                         exceeded expected depth then table is malformed
>>>                         kernel/capabilities.c-619-    if (bits_resolved
>>>                          > vbits) {
>>>                         kernel/capabilities.c-620-
>>>                         debug(SUBSYS_CAPS, "caps_lookup_slot: Lookup
>>>                         exceeded valid bits\n"
>>>                         kernel/capabilities.c-621-              "Cnode
>>>                         bits = %u, guard size = %u, valid bits = %u\n",
>>>                         kernel/capabilities.c-622-
>>>                         cnode_cap->u.cnode.bits,
>>>                         cnode_cap->u.cnode.guard_size,
>>>                         kernel/capabilities.c-623-              vbits);
>>>                         kernel/capabilities.c:624:        return
>>>                         SYS_ERR_DEPTH_EXCEEDED;
>>>                         kernel/capabilities.c-625-    }
>>>
>>>                         I'm wondering whether this has something to do
>>>                         with the patch that you
>>>                         applied... I'm guessing that using BIOS
>>>                         allocation did not help.
>>>
>>>                         It might be worth enabling the debug for the
>>>                         caps system. Can you please
>>>                         replace the corresponding line in menu.lst with:
>>>
>>>                           module  /x86_64/sbin/cpu loglevel=5
>>> logmask=0x40
>>>
>>>                         And send us the debug messages?
>>>
>>>                         cheers,
>>>
>>>                         Kornilios.____
>>>
>>>
>>>
>>>
>>>
>>>
>>>                         > bomp_benchmark_ft: error spawning: Failure
>>> while loading
>>>                         > ERROR: fish.0 in execute_program()
>>> ../usr/fish/fish.c:102
>>>                         > ERROR: Spawning Error
>>>                         >
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         > > bomp_benchmark_ft 0
>>>                         > cap_copy failed for src_slot = 0, dest_slot = 5
>>>                         > ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>                         > ERROR: spawn
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         > bomp_benchmark_ft: error spawning: Failure
>>> while loading
>>>                         > ERROR: fish.0 in execute_program()
>>> ../usr/fish/fish.c:102
>>>                         > ERROR: Spawning Error
>>>                         >
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         > > bomp_benchmark_ft 1
>>>                         > cap_copy failed for src_slot = 0, dest_slot = 5
>>>                         > ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>                         > ERROR: spawn
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         > bomp_benchmark_ft: error spawning: Failure
>>> while loading
>>>                         > ERROR: fish.0 in execute_program()
>>> ../usr/fish/fish.c:102
>>>                         > ERROR: Spawning Error
>>>                         >
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         > > bomp_benchmark_ft 4
>>>                         > cap_copy failed for src_slot = 0, dest_slot = 5
>>>                         > ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>                         > ERROR: spawn
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         > bomp_benchmark_ft: error spawning: Failure
>>> while loading
>>>                         > ERROR: fish.0 in execute_program()
>>> ../usr/fish/fish.c:102
>>>                         > ERROR: Spawning Error
>>>                         >
>>>                         > Failure: (          spawn) Failure while
>>> loading [SPAWN_ERR_LOAD]
>>>                         > Failure: (         libelf) Nested failure in
>>> allocator function
>>>                         > [ELF_ERR_ALLOCATE]
>>>                         > Failure: (  libbarrelfish) Failure in
>>> cap_copy() [LIB_ERR_CAP_COPY]
>>>                         > Failure: (         kernel) Error looking up
>>> source capability
>>>                         > [SYS_ERR_SOURCE_CAP_LOOKUP]
>>>                         > Failure: (         kernel) Exceeded depth
>>> limit of CSpace
>>>                         > [SYS_ERR_DEPTH_EXCEEDED]
>>>                         >
>>>                         > many thanks,
>>>                         > Antonio
>>>                         >
>>>                         >
>>>
>>>                         > On Mon, Nov 3, 2014 at 9:58 AM, Antonio
>>> Barbalace <antoniob at vt.edu <mailto:antoniob at vt.edu>> wrote:
>>>                         >
>>>                         >     Kornilios, Stefan, Gerd,
>>>                         >
>>>                         >     thank you very much! I am now able to
>>> interact with the terminal via the
>>>                         >     serial line. The patch was necessary, note
>>> that maxchild is 2 while busnum
>>>                         >     is 4.
>>>                         >
>>>                         >     I am attaching the boot logs as a
>>> reference.
>>>                         >
>>>                         >     appreciate your support,
>>>                         >     Antonio
>>>                         >
>>>                         >     On Fri, Oct 31, 2014 at 10:45 AM, Gerd
>>> Zellweger <
>>>                         >gerd.zellweger at inf.ethz.ch
>>>
>>>                         <mailto:gerd.zellweger at inf.ethz.ch>> wrote:
>>>                         >
>>>                         >         Hi,
>>>                         >
>>>                         >         Just in case: If changing the bridge
>>> program as suggested by Stefan is
>>>                         >         not helping, you can also try this
>>> small patch that essentially
>>>                         >         disables the assertion.
>>>                         >         AFAIK that bound check there, which is
>>> reported by ACPI seems to be (at
>>>                         >         least on our machines) not really a
>>> strict limit and can be ignored.
>>>                         >
>>>                         >         Gerd
>>>                         >
>>>                         >
>>>                         >         On 2014-10-31 14:01, Stefan Kaestle
>>> wrote:
>>>                         >
>>>                         >             Hi Antonio,
>>>                         >
>>>                         >              This could be due to a bug in the
>>> PCI bus allocation code.
>>>                         >              It is worth trying the BIOS given
>>> PCI allocation plan instead. For
>>>                         >             that, try using the following
>>> arguments to PCI in menu.lst
>>>                         >
>>>                         >              modulenounzip
>>> /harness/sbrinz2_harness/x86_64/sbin/pci auto
>>>                         >             SKB_BRIDGE_PROGRAM=BRIDGE_BIOS
>>>                         >
>>>                         >
>>>                         >              Also, can you please enable PCI
>>> debug output and send the log? For
>>>                         >             that, uncomment the following in
>>> line  17 of usr/pci/pci_debug.h
>>>                         >             and
>>>                         >             recompile:
>>>                         >
>>>                         >              #define PCI_SERVICE_DEBUG 1
>>>                         >
>>>                         >              Cheers,
>>>                         >               Stefan
>>>                         >
>>>                         >             On 10/31/2014 11:36 AM, Kornilios
>>> Kourtis wrote:
>>>                         >
>>>                         >
>>>                         >                 Hi Antonio,
>>>                         >
>>>                         >                 [CCing the list and Gerd]
>>>                         >
>>>                         >                 On Thu, Oct 30, 2014 at
>>> 11:29:16AM -0400, Antonio Barbalace
>>>                         >                 wrote:
>>>                         >
>>>                         >
>>>                         >                     Hi Kornilios,
>>>                         >
>>>                         >                     I re-started my adventure
>>> with Barrelfish this morning with
>>>                         >                     the
>>>                         >                     last mercurial
>>>                         >                     release. I am using
>>> tftpboot PXE boot (modified grub etc.).
>>>                         >                     I kept
>>>                         >                     myself from
>>>                         >                     modify the code at the
>>> moment. But I have to confess that I
>>>                         >                     added
>>>                         >                     a PCI_DEBUG()
>>>                         >                     before this error and
>>> nothing was printed even changing the
>>>                         >                     loglevel= . Let me
>>>                         >                     know if you prefer me to
>>> send this error on the forum.
>>>                         >
>>>                         >                     monitor: synchronizing
>>> clocks
>>>                         >                     Kaluga: pci_root_bridge
>>>                         >                     spawnd.0: spawning
>>> /x86_64/sbin/pci on core 0
>>>                         >                     Kaluga: pci_devices
>>>                         >                     pci: Unknown commandline
>>> option "auto" -- skipping.
>>>                         >                     startd.0: starting app
>>> /x86_64/sbin/serial on core 0
>>>                         >                     spawnd.0: spawning
>>> /x86_64/sbin/serial on core 0
>>>                         >                     startd.0: starting app
>>> /x86_64/sbin/angler on core 0
>>>                         >                     spawnd.0: spawning
>>> /x86_64/sbin/angler on core 0
>>>                         >                     No bootscript
>>>                         >                     skb.0: waiting for: pci
>>>                         >                     skb.0: waiting for:
>>> serial0.terminal
>>>                         >                     assertion "*busnum <=
>>> maxchild" failed: file "../usr/pci/
>>>                         >                     pci.c",
>>>                         >                     line 598,
>>>                         >                     function:
>>> assign_bus_numbers
>>>                         >                     Aborted
>>>                         >                     Spawnd up.
>>>                         >
>>>                         >
>>>                         >                 Sounds like a problem Gerd has
>>> been dealing with. If that's the
>>>                         >                 case, we
>>>                         >                 might have a quick-fix for it.
>>> Gerd?
>>>                         >
>>>                         >                 cheers,
>>>                         >                 Kornilios.
>>>                         >
>>>                         >
>>>                         >             --
>>>                         >             Stefan
>>>                         >http://people.inf.ethz.ch/skaestle/ [1]
>>>                         >
>>>                         >
>>>                         >             Links:
>>>                         >             ------
>>>                         >             [1]
>>> http://people.inf.ethz.ch/skaestle/
>>>                         >
>>>                         >
>>>  _______________________________________________
>>>                         >             Barrelfish-users mailing list
>>>                         >Barrelfish-users at lists.inf.ethz.ch
>>>
>>>                         <mailto:Barrelfish-users at lists.inf.ethz.ch>
>>>                         >
>>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>>                         >
>>>                         >
>>>                         >
>>>  _______________________________________________
>>>                         >         Barrelfish-users mailing list
>>>                         >Barrelfish-users at lists.inf.ethz.ch
>>>                         <mailto:Barrelfish-users at lists.inf.ethz.ch>
>>>                         >
>>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>>                         >
>>>                         >
>>>                         >
>>>                         >
>>>                         >
>>>                         >     --
>>>                         >     Dr. Eng. Antonio Barbalace, PhD
>>>                         >     Systems Software Research Group (SSRG)
>>>                         >     Bradley Department of Electrical and
>>> Computer Engineering
>>>                         >     Virginia Tech
>>>                         >     453 Durham Hall (0111)
>>>                         >     Blacksburg, VA 24061
>>>                         >     phone:+1 (540) 231-2494 <
>>> tel:%2B1%20%28540%29%20231-2494 <%2B1%20%28540%29%20231-2494>>
>>>                         >     email:antoniob at vt.edu <mailto:
>>> antoniob at vt.edu>
>>>                         >
>>>                         >
>>>                         >
>>>                         >
>>>                         > --
>>>                         > Dr. Eng. Antonio Barbalace, PhD
>>>                         > Systems Software Research Group (SSRG)
>>>                         > Bradley Department of Electrical and Computer
>>> Engineering
>>>                         > Virginia Tech
>>>                         > 453 Durham Hall (0111)
>>>                         > Blacksburg, VA 24061
>>>                         > phone:+1 (540) 231-2494 <
>>> tel:%2B1%20%28540%29%20231-2494 <%2B1%20%28540%29%20231-2494>>
>>>                         > email:antoniob at vt.edu <mailto:antoniob at vt.edu>
>>>
>>>
>>>
>>>                         > _______________________________________________
>>>                         > Barrelfish-users mailing list
>>>                         >Barrelfish-users at lists.inf.ethz.ch
>>>                         <mailto:Barrelfish-users at lists.inf.ethz.ch>
>>>                         >
>>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>>
>>>
>>>                         --____
>>>
>>>                         Kornilios Kourtis____
>>>
>>>
>>>
>>>
>>>                     -- ____
>>>
>>>                     Dr. Eng. Antonio Barbalace, PhD
>>>                     Systems Software Research Group (SSRG)
>>>                     Bradley Department of Electrical and Computer
>>>                     Engineering
>>>                     Virginia Tech
>>>                     453 Durham Hall (0111)
>>>                     Blacksburg, VA 24061
>>>                     phone: +1 (540) 231-2494
>>>                     <tel:%2B1%20%28540%29%20231-2494
>>> <%2B1%20%28540%29%20231-2494>>
>>>                     email: antoniob at vt.edu <mailto:antoniob at vt.edu>____
>>>
>>>
>>>
>>>
>>>                 -- ____
>>>
>>>                 Dr. Eng. Antonio Barbalace, PhD
>>>                 Systems Software Research Group (SSRG)
>>>                 Bradley Department of Electrical and Computer Engineering
>>>                 Virginia Tech
>>>                 453 Durham Hall (0111)
>>>                 Blacksburg, VA 24061
>>>                 phone: +1 (540) 231-2494 <
>>> tel:%2B1%20%28540%29%20231-2494 <%2B1%20%28540%29%20231-2494>>
>>>                 email: antoniob at vt.edu <mailto:antoniob at vt.edu>____
>>>
>>>
>>>
>>>
>>>             -- ____
>>>
>>>             Dr. Eng. Antonio Barbalace, PhD
>>>             Systems Software Research Group (SSRG)
>>>             Bradley Department of Electrical and Computer Engineering
>>>             Virginia Tech
>>>             453 Durham Hall (0111)
>>>             Blacksburg, VA 24061
>>>             phone: +1 (540) 231-2494 <tel:%2B1%20%28540%29%20231-2494
>>> <%2B1%20%28540%29%20231-2494>>
>>>             email: antoniob at vt.edu <mailto:antoniob at vt.edu>____
>>>
>>>
>>>
>>>
>>>         -- ____
>>>
>>>         Dr. Eng. Antonio Barbalace, PhD
>>>         Systems Software Research Group (SSRG)
>>>         Bradley Department of Electrical and Computer Engineering
>>>         Virginia Tech
>>>         453 Durham Hall (0111)
>>>         Blacksburg, VA 24061
>>>         phone: +1 (540) 231-2494 <tel:%2B1%20%28540%29%20231-2494
>>> <%2B1%20%28540%29%20231-2494>>
>>>         email: antoniob at vt.edu <mailto:antoniob at vt.edu>____
>>>
>>>
>>>
>>>
>>>     --
>>>     Dr. Eng. Antonio Barbalace, PhD
>>>     Systems Software Research Group (SSRG)
>>>     Bradley Department of Electrical and Computer Engineering
>>>     Virginia Tech
>>>     453 Durham Hall (0111)
>>>     Blacksburg, VA 24061
>>>     phone: +1 (540) 231-2494 <tel:%2B1%20%28540%29%20231-2494
>>> <%2B1%20%28540%29%20231-2494>>
>>>     email: antoniob at vt.edu <mailto:antoniob at vt.edu>
>>>
>>>
>>>
>>>
>>> --
>>> Dr. Eng. Antonio Barbalace, PhD
>>> Systems Software Research Group (SSRG)
>>> Bradley Department of Electrical and Computer Engineering
>>> Virginia Tech
>>> 453 Durham Hall (0111)
>>> Blacksburg, VA 24061
>>> phone: +1 (540) 231-2494
>>> email: antoniob at vt.edu <mailto:antoniob at vt.edu>
>>>
>>>
>>> _______________________________________________
>>> Barrelfish-users mailing list
>>> Barrelfish-users at lists.inf.ethz.ch
>>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>>
>>>
>>>
>>>
>>> --
>>>
>>> Dr. Eng. Antonio Barbalace, PhD
>>> Systems Software Research Group (SSRG)
>>> Bradley Department of Electrical and Computer Engineering
>>> Virginia Tech
>>> 453 Durham Hall (0111)
>>> Blacksburg, VA 24061
>>> phone: +1 (540) 231-2494
>>> email: antoniob at vt.edu
>>>
>>>
>>>
>>> On Mon, Nov 10, 2014 at 10:00 AM, Simon Gerber <simon.gerber at inf.ethz.ch>
>>> wrote:
>>>
>>> Hi Antonio,
>>>
>>> [@list: sorry for the spam, I'm not sure if Antonio is subscribed and
>>> mistakenly replied only to the list...]
>>>
>>> I've investigated a bit and have produced two patches that make the FT
>>> benchmark work.
>>>
>>> patch 1 fixes some confusion when creating different cnodes and
>>> increases the size of the page cnode by a factor of two. This fixes your
>>> immediate problem of not being able to run the FT benchmark. Additionally,
>>> changing the page cnode size should now be as easy as modifying
>>> PAGE_CNODE_BITS in include/barrelfish_kpi/init.h.
>>>
>>> patch 2 fixes the FT benchmark itself which was not working because the
>>> default stack size on Barrelfish (64kB) is too small for the fft
>>> implementation which creates rather large arrays on the stack. This patch
>>> is not necessary if you're using a release older than release2014-08-29.
>>>
>>> Best,
>>> -- Simon
>>>
>>> On 08.11.2014 18:43, Antonio Barbalace wrote:
>>>
>>>  All,
>>>
>>> Clearly I need a way to make larger memory allocations. Please advise.
>>>
>>> thank you very much,
>>> Antonio
>>>
>>> ---------------------------------------------------------------- LOG:
>>>
>>>  > bomp_benchmark_ft 1
>>> spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a .alloc:
>>> 0x492f80 .free: 0x492d80 .nslot: 128 .space: 128
>>> spawnd.0: single_slot_alloc_init_raw: ret->head: 0x17692c8 ret->head
>>> ->slot: 0 ->space: 128 ->next: 0x0
>>> spawnd.0: spawn_arch_load: ROOTCN_SLOT_SEGCN: 4 DEFAULT_CNODE_SLOTS: 32
>>> spawnd.0: elf_allocate: size: 888832 sz: 4096
>>> spawnd.0: single_slot_alloc_init_raw: ret: 0x8013c80018 ret->a .alloc:
>>> 0x492f80 .free: 0x492d80 .nslot: 1024 .space: 1024
>>> spawnd.0: single_slot_alloc_init_raw: ret->head: 0x8013c800a8 ret->head
>>> ->slot: 0 ->space: 1024 ->next: 0x0
>>> spawnd.0: elf_allocate: size: 439181312 sz: 8192
>>> spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f80 .free: 0x492d80
>>> .nslot: 128 .space: 0
>>> spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0 ->next: 0x0
>>> ERROR: spawnd.0 in elf_allocate()
>>> ../lib/spawndomain/arch/x86/spawn_arch.c:166
>>> ERROR: lib_err_memobj_pagefault_handler
>>> Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>> Failure: (  libbarrelfish) Failure in pmap_do_map() [LIB_ERR_PMAP_DO_MAP]
>>> Failure: (  libbarrelfish) Failure in get_mapping()
>>> [LIB_ERR_PMAP_GET_PTABLE]
>>> Failure: (  libbarrelfish) Failure in alloc_vnode()
>>> [LIB_ERR_PMAP_ALLOC_VNODE]
>>> Failure: (  libbarrelfish) Failure in slot_alloc() [LIB_ERR_SLOT_ALLOC]
>>> Failure: (  libbarrelfish) Slot allocator is out of space
>>> [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>> ERROR: spawnd.0 in spawn_with_caps_handler() ../usr/spawnd/service.c:352
>>> ERROR: spawn
>>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>> Failure: (         libelf) Nested failure in allocator function
>>> [ELF_ERR_ALLOCATE]
>>> Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>> [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>> Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>> Failure: (  libbarrelfish) Failure in pmap_do_map() [LIB_ERR_PMAP_DO_MAP]
>>> Failure: (  libbarrelfish) Failure in get_mapping()
>>> [LIB_ERR_PMAP_GET_PTABLE]
>>> bomp_benchmark_ft: error spawning: Failure while loading
>>> ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>> ERROR: Spawning Error
>>>
>>> Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>> Failure: (         libelf) Nested failure in allocator function
>>> [ELF_ERR_ALLOCATE]
>>> Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>> [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>> Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>> Failure: (  libbarrelfish) Failure in pmap_do_map() [LIB_ERR_PMAP_DO_MAP]
>>> Failure: (  libbarrelfish) Failure in get_mapping()
>>> [LIB_ERR_PMAP_GET_PTABLE]
>>>
>>> ---------------------------------------------------------------- READELF:
>>>
>>> barrelfish/build/x86_64/sbin$ readelf -l bomp_benchmark_ft
>>>
>>> Elf file type is EXEC (Executable file)
>>> Entry point 0x400455
>>> There are 5 program headers, starting at offset 64
>>>
>>> Program Headers:
>>>    Type           Offset             VirtAddr           PhysAddr
>>>                   FileSiz            MemSiz              Flags  Align
>>>    LOAD           0x0000000000000000 0x0000000000400000
>>> 0x0000000000400000
>>>                   0x00000000000d8e60 0x00000000000d8e60  R E    1000
>>>    LOAD           0x00000000000d90d0 0x00000000004d90d0
>>> 0x00000000004d90d0
>>>                   0x0000000000011c5c 0x000000001a2d55f8  RW     1000
>>>    GNU_EH_FRAME   0x00000000000b718c 0x00000000004b718c
>>> 0x00000000004b718c
>>>                   0x0000000000003c54 0x0000000000003c54  R      4
>>>    GNU_STACK      0x0000000000000000 0x0000000000000000
>>> 0x0000000000000000
>>>                   0x0000000000000000 0x0000000000000000  RWE    10
>>>    GNU_RELRO      0x00000000000d90d0 0x00000000004d90d0
>>> 0x00000000004d90d0
>>>                   0x0000000000000f30 0x0000000000000f30  R      1
>>>
>>>   Section to Segment mapping:
>>>    Segment Sections...
>>>     00     .text .rodata .eh_frame_hdr .eh_frame
>>>
>>>     01     .ctors .data.rel.ro <http://data.rel.ro> .got .got.plt .data
>>> .bss
>>>     02     .eh_frame_hdr
>>>     03
>>>     04     .ctors .data.rel.ro <http://data.rel.ro> .got
>>>
>>> ---------------------------------------------------------------- EOF
>>>
>>>
>>> On Fri, Nov 7, 2014 at 9:11 AM, Antonio Barbalace <antoniob at vt.edu
>>>
>>> <mailto:antoniob at vt.edu>> wrote:
>>>
>>>     Dear Reto,
>>>
>>>     hope the following will help. As a note, I tried to increase the
>>>     sizes but I was not successful in doing that, any suggestion?
>>>
>>>     many thanks,
>>>     Antonio
>>>
>>>     ----------------------------------------------------------------
>>> CODE:
>>>
>>>     @ lib/spawndomain/arch/x86/spawn_arch.c:spawn_arch_load( .. )
>>>
>>>          // XXX: this code assumes that elf_load never needs more than
>>>     32 slots for
>>>          // text frame capabilities.
>>>          err = cnode_create_raw(cnode_cap, &si->segcn,
>>>     DEFAULT_CNODE_SLOTS, NULL);
>>>     debug_printf("%s: ROOTCN_SLOT_SEGCN: %ld DEFAULT_CNODE_SLOTS: %ld\n",
>>>                      __FUNCTION__, (unsigned long)ROOTCN_SLOT_SEGCN,
>>>     (unsigned long)DEFAULT_CNODE_SLOTS);
>>>          if (err_is_fail(err)) {
>>>
>>>     ---------------------------------------------------------------- LOG:
>>>
>>>      > bomp_benchmark_ft 1
>>>     spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a .alloc:
>>>     0x492f40 .free: 0x492d40 .nslot: 128 .space: 128
>>>     spawnd.0: single_slot_alloc_init_raw: ret->head: 0x17692c8 ret->head
>>>     ->slot: 0 ->space: 128 ->next: 0x0
>>>     spawnd.0: spawn_arch_load: ROOTCN_SLOT_SEGCN: 4 DEFAULT_CNODE_SLOTS:
>>> 32
>>>     spawnd.0: single_slot_alloc_init_raw: ret: 0x8013c80018 ret->a
>>>     .alloc: 0x492f40 .free: 0x492d40 .nslot: 1024 .space: 1024
>>>     spawnd.0: single_slot_alloc_init_raw: ret->head: 0x8013c800a8
>>>     ret->head ->slot: 0 ->space: 1024 ->next: 0x0
>>>     spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f40 .free:
>>>     0x492d40 .nslot: 128 .space: 0
>>>
>>>     spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0 ->next:
>>> 0x0
>>>     ERROR: spawnd.0 in elf_allocate()
>>>     ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>     ERROR: lib_err_memobj_pagefault_handler
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>     [LIB_ERR_PMAP_ALLOC_VNODE]
>>>     Failure: (  libbarrelfish) Failure in slot_alloc()
>>> [LIB_ERR_SLOT_ALLOC]
>>>     Failure: (  libbarrelfish) Slot allocator is out of space
>>>     [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>     ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>     ERROR: spawn
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     bomp_benchmark_ft: error spawning: Failure while loading
>>>     ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>     ERROR: Spawning Error
>>>
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>      > bomp_benchmark_ft 2
>>>     spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a .alloc:
>>>     0x492f40 .free: 0x492d40 .nslot: 128 .space: 128
>>>     spawnd.0: single_slot_alloc_init_raw: ret->head: 0x68f468 ret->head
>>>     ->slot: 0 ->space: 128 ->next: 0x0
>>>     spawnd.0: spawn_arch_load: ROOTCN_SLOT_SEGCN: 4 DEFAULT_CNODE_SLOTS:
>>> 32
>>>     spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f40 .free:
>>>     0x492d40 .nslot: 128 .space: 0
>>>
>>>     spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0 ->next:
>>> 0x0
>>>     ERROR: spawnd.0 in elf_allocate()
>>>     ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>     ERROR: lib_err_memobj_pagefault_handler
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>     [LIB_ERR_PMAP_ALLOC_VNODE]
>>>     Failure: (  libbarrelfish) Failure in slot_alloc()
>>> [LIB_ERR_SLOT_ALLOC]
>>>     Failure: (  libbarrelfish) Slot allocator is out of space
>>>     [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>     ERROR: spawnd.0 in spawn_with_caps_handler()
>>> ../usr/spawnd/service.c:352
>>>     ERROR: spawn
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>     bomp_benchmark_ft: error spawning: Failure while loading
>>>     ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>     ERROR: Spawning Error
>>>
>>>     Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>     Failure: (         libelf) Nested failure in allocator function
>>>     [ELF_ERR_ALLOCATE]
>>>     Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>     [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>     Failure: (  libbarrelfish) Failure in pmap_map() [LIB_ERR_PMAP_MAP]
>>>     Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>     [LIB_ERR_PMAP_DO_MAP]
>>>     Failure: (  libbarrelfish) Failure in get_mapping()
>>>     [LIB_ERR_PMAP_GET_PTABLE]
>>>
>>>
>>>     On Fri, Nov 7, 2014 at 4:20 AM, Achermann Reto
>>>     <retoachermann at student.ethz.ch
>>>
>>>     <mailto:retoachermann at student.ethz.ch>> wrote:
>>>
>>>         Hi Antonio,____
>>>
>>>         __ __
>>>
>>>         Just another thought. I am not sure if the problem at hand is
>>>         related to a hard limit on the maximum number of slots in the
>>>         SEGCN:____
>>>
>>>         __ __
>>>
>>>         /* lib/spawndomain/arch/x86/spawn_arch.c */____
>>>
>>>         261     // XXX: this code assumes that elf_load never needs more
>>>         than 32 slots for____
>>>
>>>         262     // text frame capabilities.____
>>>
>>>         __ __
>>>
>>>         The mapping is done with the caps in the SEGCN of the ELF. Can
>>>         you verify how many slots you use when loading the ELF?____
>>>
>>>         __ __
>>>
>>>         -- Reto____
>>>
>>>         __ __
>>>
>>>         *From:*Antonio Barbalace [mailto:antoniob at vt.edu
>>>         <mailto:antoniob at vt.edu>]
>>>         *Sent:* Friday, November 7, 2014 3:24 AM
>>>         *To:* Kornilios Kourtis; Antonio Barbalace; Zellweger Gerd;
>>>         barrelfish-users at lists.inf.ethz.ch
>>>         <mailto:barrelfish-users at lists.inf.ethz.ch>
>>>         *Subject:* Re: [Barrelfish-users] barrelfish help!____
>>>
>>>         __ __
>>>
>>>         I added some more printfs ... if it can help solve the
>>> problem.____
>>>
>>>
>>>
>>>
>>>         > bomp_benchmark_ft 1
>>>         spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a
>>>         .alloc: 0x492f10 .free: 0x492d10 .nslot: 128 .space: 128
>>>         spawnd.0: single_slot_alloc_init_raw: ret->head: 0x76c8f8
>>>         ret->head ->slot: 0 ->space: 128 ->next: 0x0
>>>         spawnd.0: single_slot_alloc_init_raw: ret: 0x8013c80018 ret->a
>>>         .alloc: 0x492f10 .free: 0x492d10 .nslot: 1024 .space: 1024
>>>         spawnd.0: single_slot_alloc_init_raw: ret->head: 0x8013c800a8
>>>         ret->head ->slot: 0 ->space: 1024 ->next: 0x0
>>>         spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f10 .free:
>>>         0x492d10 .nslot: 128 .space: 0
>>>         spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0
>>>         ->next: 0x0
>>>         ERROR: spawnd.0 in elf_allocate()
>>>         ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>         ERROR: lib_err_memobj_pagefault_handler
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>         [LIB_ERR_PMAP_ALLOC_VNODE]
>>>         Failure: (  libbarrelfish) Failure in slot_alloc()
>>>         [LIB_ERR_SLOT_ALLOC]
>>>         Failure: (  libbarrelfish) Slot allocator is out of space
>>>         [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>         ERROR: spawnd.0 in spawn_with_caps_handler()
>>>         ../usr/spawnd/service.c:352
>>>         ERROR: spawn
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         bomp_benchmark_ft: error spawning: Failure while loading
>>>         ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>         ERROR: Spawning Error
>>>
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         > bomp_benchmark_ft 2
>>>         spawnd.0: single_slot_alloc_init_raw: ret: 0x6a1528 ret->a
>>>         .alloc: 0x492f10 .free: 0x492d10 .nslot: 128 .space: 128
>>>         spawnd.0: single_slot_alloc_init_raw: ret->head: 0x76a148
>>>         ret->head ->slot: 0 ->space: 128 ->next: 0x0
>>>         spawnd.0: salloc: sca: 0x6a1528 sca->a .alloc: 0x492f10 .free:
>>>         0x492d10 .nslot: 128 .space: 0
>>>         spawnd.0: salloc:        sca->head: 0x0 ->slot: 0 ->space: 0
>>>         ->next: 0x0
>>>         ERROR: spawnd.0 in elf_allocate()
>>>         ../lib/spawndomain/arch/x86/spawn_arch.c:165
>>>         ERROR: lib_err_memobj_pagefault_handler
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         Failure: (  libbarrelfish) Failure in alloc_vnode()
>>>         [LIB_ERR_PMAP_ALLOC_VNODE]
>>>         Failure: (  libbarrelfish) Failure in slot_alloc()
>>>         [LIB_ERR_SLOT_ALLOC]
>>>         Failure: (  libbarrelfish) Slot allocator is out of space
>>>         [LIB_ERR_SLOT_ALLOC_NO_SPACE]
>>>         ERROR: spawnd.0 in spawn_with_caps_handler()
>>>         ../usr/spawnd/service.c:352
>>>         ERROR: spawn
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>         bomp_benchmark_ft: error spawning: Failure while loading
>>>         ERROR: fish.0 in execute_program() ../usr/fish/fish.c:102
>>>         ERROR: Spawning Error
>>>
>>>         Failure: (          spawn) Failure while loading [SPAWN_ERR_LOAD]
>>>         Failure: (         libelf) Nested failure in allocator function
>>>         [ELF_ERR_ALLOCATE]
>>>         Failure: (  libbarrelfish) Failure in memobj_pagefault_handler()
>>>         [LIB_ERR_MEMOBJ_PAGEFAULT_HANDLER]
>>>         Failure: (  libbarrelfish) Failure in pmap_map()
>>> [LIB_ERR_PMAP_MAP]
>>>         Failure: (  libbarrelfish) Failure in pmap_do_map()
>>>         [LIB_ERR_PMAP_DO_MAP]
>>>         Failure: (  libbarrelfish) Failure in get_mapping()
>>>         [LIB_ERR_PMAP_GET_PTABLE]
>>>
>>> ...
>
> [Message clipped]




-- 
Dr. Eng. Antonio Barbalace, PhD
Systems Software Research Group (SSRG)
Bradley Department of Electrical and Computer Engineering
Virginia Tech
453 Durham Hall (0111)
Blacksburg, VA 24061
phone: +1 (540) 231-2494
email: antoniob at vt.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20141120/9f3df359/attachment-0001.html 


More information about the Barrelfish-users mailing list