[Barrelfish-users] barrelfish help!

Antonio Barbalace antoniob at vt.edu
Thu Nov 6 19:17:15 CET 2014


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> 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>
> 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> 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>
>>> 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> 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
>>> >
>>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>> >
>>> >
>>> >         _______________________________________________
>>> >         Barrelfish-users mailing list
>>> >         Barrelfish-users at lists.inf.ethz.ch
>>> >         https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >     --
>>> >     Dr. Eng. Antonio Barbalace, PhD
>>> >     Systems Software Research Group (SSRG)
>>> >     Bradley Department of Electrical and Computer Engineering
>>> >     Virginia Tech
>>> >     453 Durham Hall (0111)
>>> >     Blacksburg, VA 24061
>>> >     phone: +1 (540) 231-2494
>>> >     email: antoniob at vt.edu
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> > 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
>>>
>>>
>>>
>>> > _______________________________________________
>>> > Barrelfish-users mailing list
>>> > 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
>> email: antoniob at vt.edu
>>
>
>
>
> --
> Dr. Eng. Antonio Barbalace, PhD
> Systems Software Research Group (SSRG)
> Bradley Department of Electrical and Computer Engineering
> Virginia Tech
> 453 Durham Hall (0111)
> Blacksburg, VA 24061
> phone: +1 (540) 231-2494
> email: antoniob at vt.edu
>



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


More information about the Barrelfish-users mailing list