mystique error during app load

Christian Helmuth christian.helmuth at genode-labs.com
Mon Aug 5 11:59:51 CEST 2019


Hello Alexander,

On Mon, Aug 05, 2019 at 01:10:57 CEST, Alexander Tormasov via users wrote:
> I write some sample application to run inside Genode over seL4 inside VM with 4Gb.
> and, I see a problem with LD, saying something with memory (in the end of log):
> [init -> test-go] Error: LD: exception during program load: 'Genode::Region_map::Region_conflict'

The loader is not able to load the binary because it cannot fulfill
the memory-region requirements of the application.

> any ideas what cause and how to get mode info?
> I suspect again incorrect config in runscript, while similar test-cache app runs ok

First we need to know how your sample application looks like. Please
investigate the binary with the following command.

  genode-x86-objdump -p <binary>

For example the output with the log test looks like follows.

  genode-x86-objdump -p bin/test-log

  bin/test-log:     file format elf64-x86-64

  Program Header:
      PHDR off    0x0000000000000040 vaddr 0x0000000000200040 paddr 0x0000000000000000 align 2**3
           filesz 0x0000000000000150 memsz 0x0000000000000150 flags r--
    INTERP off    0x000000000000430b vaddr 0x000000000100330b paddr 0x000000000100330b align 2**0
           filesz 0x000000000000000a memsz 0x000000000000000a flags r--
      LOAD off    0x0000000000001000 vaddr 0x0000000001000000 paddr 0x0000000001000000 align 2**12
           filesz 0x0000000000004a44 memsz 0x0000000000004a44 flags r-x
      LOAD off    0x0000000000006000 vaddr 0x0000000001005000 paddr 0x0000000001005000 align 2**12
           filesz 0x0000000000000de4 memsz 0x0000000000000fd0 flags rw-
   DYNAMIC off    0x0000000000006b38 vaddr 0x0000000001005b38 paddr 0x0000000001005b38 align 2**5
           filesz 0x00000000000002ac memsz 0x00000000000002ac flags rw-
  EH_FRAME off    0x0000000000005920 vaddr 0x0000000001004920 paddr 0x0000000001004920 align 2**2
           filesz 0x0000000000000124 memsz 0x0000000000000124 flags r--

  Dynamic Section:
    NEEDED               ld.lib.so
    HASH                 0x0000000001003318
    STRTAB               0x0000000001003930
    SYMTAB               0x0000000001003480
    STRSZ                0x0000000000000516
    SYMENT               0x0000000000000018
    DEBUG                0x0000000000000000
    PLTGOT               0x0000000001005c78
    PLTRELSZ             0x00000000000002a0
    PLTREL               0x0000000000000007
    JMPREL               0x0000000001004070
    RELA                 0x0000000001003e48
    RELASZ               0x0000000000000228
    RELAENT              0x0000000000000018

This tells us which RAM regions are used

  LOAD off    0x0000000000001000 vaddr 0x0000000001000000 paddr 0x0000000001000000 align 2**12
       filesz 0x0000000000004a44 memsz 0x0000000000004a44 flags r-x          
  LOAD off    0x0000000000006000 vaddr 0x0000000001005000 paddr 0x0000000001005000 align 2**12
       filesz 0x0000000000000de4 memsz 0x0000000000000fd0 flags rw-          

and that the binary is indeed dynamically linked.

  NEEDED               ld.lib.so

Also may I ask if test-go is a custom application (and if it uses Go
as the binary name hints)?

Greets
-- 
Christian Helmuth
Genode Labs

https://www.genode-labs.com/ · https://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



More information about the users mailing list