[Barrelfish-users] barrelfish help!

Simon Peter speter at inf.ethz.ch
Thu Nov 20 22:42:12 CET 2014


Oh, that's right! The NPB benchmarks keep all data in gigantic arrays 
that are statically defined, instead of using malloc. That's why you're 
seeing the error in spawnd and not in the benchmarks themselves.

On 14-11-20 01:28 PM, Antonio Barbalace wrote:
> 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 
> <mailto: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 <mailto: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
>         <mailto: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
>             <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
>             <mailto: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
>             <mailto: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>
>                     <http://data.rel.ro> .got .got.plt .data
>                     .bss
>                         02  .eh_frame_hdr
>                         03
>                         04     .ctors .data.rel.ro
>                     <http://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>
>
>                     <mailto: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>
>
>                       <mailto: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>
>                             <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>
>                             <mailto: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>
>                     <mailto: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> <mailto: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> <mailto: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>
>                     <mailto: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> <mailto: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>
>
>                                            
>                     <mailto: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>
>
>                     <mailto: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>
>                       <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                       > email:antoniob at vt.edu
>                     <mailto:email%3Aantoniob at vt.edu>
>                     <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                       > email:antoniob at vt.edu
>                     <mailto:email%3Aantoniob at vt.edu>
>                     <mailto: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>
>                       <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                     email: antoniob at vt.edu <mailto:antoniob at vt.edu>
>                     <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                                     email: antoniob at vt.edu
>                     <mailto:antoniob at vt.edu> <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                                 email: antoniob at vt.edu
>                     <mailto:antoniob at vt.edu> <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                             email: antoniob at vt.edu
>                     <mailto:antoniob at vt.edu> <mailto: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>
>                     <tel:%2B1%20%28540%29%20231-2494>
>                         email: antoniob at vt.edu
>                     <mailto:antoniob at vt.edu> <mailto: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>
>                     email: antoniob at vt.edu <mailto:antoniob at vt.edu>
>                     <mailto: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
>
>
>
>
>             -- 
>
>             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>
>             email: antoniob at vt.edu <mailto:antoniob at vt.edu>
>
>             On Mon, Nov 10, 2014 at 10:00 AM, Simon Gerber
>             <simon.gerber at inf.ethz.ch
>             <mailto: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>
>                     <http://data.rel.ro> .got .got.plt .data
>                     .bss
>                         02     .eh_frame_hdr
>                         03
>                         04     .ctors .data.rel.ro
>                     <http://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>
>
>                     <mailto: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>
>
>                     <mailto: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>
>                             <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>
>                             <mailto: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 <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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20141120/a697d48a/attachment-0001.html 


More information about the Barrelfish-users mailing list