Cap fault in send phase while spawning processes
Hi folks, I'm currently porting over a project from the Kbuild/Kconfig build system to the new CMake based build system and am having some issues. I'm trying trying to spawn additional processes (2+) and I am encountering an error when I attempt to call 'process_config_default_simple'. The message reads: Caught cap fault in send phase at address 0x0 while trying to handle: vm fault on data at address 0x0 with status 0x4 in thread 0xffffff801ffb5400 "PRIMARY" at address 0x4252ba I loaded the executables which I am trying to spawn into the new processes into the cpio using a variation of the call MakeCPIO(archive.o $<TARGET_FILE:SECONDARY>;$<TARGET_FILE:TERTIARY>;...) where SECONDARY and TERTIARY are the executables which I am using later to spawn the new processes. The source code in question worked previously when using Kbuild, so I'm wondering if I'm doing something wrong with the CMake. Does anyone have any ideas? I've gone through the tutorials, but I'm still fairly new to seL4, so any help would be very much appreciated.
The MakeCPIO call does have quotations around the generator expressions list, I just failed to transcribe the call properly in my email. On Thu, Aug 16, 2018 at 11:01 AM, Noah Kennedy < noah.kennedy@rockwellcollins.com> wrote:
Hi folks,
I'm currently porting over a project from the Kbuild/Kconfig build system to the new CMake based build system and am having some issues.
I'm trying trying to spawn additional processes (2+) and I am encountering an error when I attempt to call 'process_config_default_simple'. The message reads:
Caught cap fault in send phase at address 0x0 while trying to handle: vm fault on data at address 0x0 with status 0x4 in thread 0xffffff801ffb5400 "PRIMARY" at address 0x4252ba
I loaded the executables which I am trying to spawn into the new processes into the cpio using a variation of the call MakeCPIO(archive.o $<TARGET_FILE:SECONDARY>;$<TARGET_FILE:TERTIARY>;...) where SECONDARY and TERTIARY are the executables which I am using later to spawn the new processes.
The source code in question worked previously when using Kbuild, so I'm wondering if I'm doing something wrong with the CMake.
Does anyone have any ideas? I've gone through the tutorials, but I'm still fairly new to seL4, so any help would be very much appreciated.
Hi Noah, Assuming that the issue is related to the new build scripts, have you checked that archive.o contains the other programs that you are trying to load? Is archive.o being included in the call to add_executable? Processes started by libsel4utils are expected to have the __vsyscall_ptr? symbol defined. Do the processes that you are loading contain a __vsyscall_ptr? symbol? Are you able to use objdump on the PRIMARY elf file to see what instruction is at address 0x4252ba? that is causing the fault? Kent ________________________________ From: Devel <devel-bounces@sel4.systems> on behalf of Noah Kennedy <noah.kennedy@rockwellcollins.com> Sent: Friday, August 17, 2018 2:01 AM To: devel@sel4.systems Subject: [seL4] Cap fault in send phase while spawning processes Hi folks, I'm currently porting over a project from the Kbuild/Kconfig build system to the new CMake based build system and am having some issues. I'm trying trying to spawn additional processes (2+) and I am encountering an error when I attempt to call 'process_config_default_simple'. The message reads: Caught cap fault in send phase at address 0x0 while trying to handle: vm fault on data at address 0x0 with status 0x4 in thread 0xffffff801ffb5400 "PRIMARY" at address 0x4252ba I loaded the executables which I am trying to spawn into the new processes into the cpio using a variation of the call MakeCPIO(archive.o $<TARGET_FILE:SECONDARY>;$<TARGET_FILE:TERTIARY>;...) where SECONDARY and TERTIARY are the executables which I am using later to spawn the new processes. The source code in question worked previously when using Kbuild, so I'm wondering if I'm doing something wrong with the CMake. Does anyone have any ideas? I've gone through the tutorials, but I'm still fairly new to seL4, so any help would be very much appreciated.
participants (2)
-
Kent.Mcleod@data61.csiro.au
-
Noah Kennedy