how to debug gdb?
Alexander Tormasov
a.tormasov at innopolis.ru
Thu Apr 8 19:42:58 CEST 2021
I have an application which run somehow normally.
I try to run it via gdb, using the following run file attached below (which works in the past).
And now I have a problem with quota (see log below), after this message it just hangs, and my attempts to update figures in run file lead to nothing, same err.
I found that in general it try to upgrade session quota as a result of rpc call return, but why?
what particular parameter responsible for it?
How I can find the reason? e.g. print current cap used/etc?
Booting from Hard Disk...
Boot failed: could not read the boot disk
Booting from DVD/CD...
Bender: Hello World. NOVA'
NOVA Microhypervisor v8-98b501b (x86_64): Apr 7 2021 23:34:52 [gcc 8.3.0] [MBI2]
[ 0] TSC:2011222 kHz BUS:1007275 kHz (measured)
[ 0] CORE:0:0:0 6:f:b:0 [0] Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
[ 1] CORE:1:0:0 6:f:b:0 [0] Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
Hypervisor NOVA (API v8)
core image [0000000000100000,0000000000cef000)
binaries region [000000000029d000,0000000000cef000) free for reuse
detected physical memory: 0x0000000000000000 - size: 0x000000000009fc00
use physical memory: 0x0000000000000000 - size: 0x000000000009f000
detected physical memory: 0x0000000000100000 - size: 0x00000000242df000
use physical memory: 0x0000000000100000 - size: 0x00000000242df000
reserved memory: 0x237ee000 - size: 0xbf02f0 type=-2
reserved memory: 0x9fc00 - size: 0x400 type=2
reserved memory: 0xf0000 - size: 0x10000 type=2
reserved memory: 0x243df000 - size: 0x21000 type=2
reserved memory: 0xb0000000 - size: 0x10000000 type=2
reserved memory: 0xfed1c000 - size: 0x4000 type=2
reserved memory: 0xfffc0000 - size: 0x40000 type=2
reserved memory: 0xfd000000 - size: 0x300000 type=-5
reserved memory: 0x1000000 - size: 0x800000 type=-1
reserved memory: 0x1800000 - size: 0x1c00000 type=-1
reserved memory: 0x243e2152 - size: 0x0 type=-3
Hypervisor reports 2x1 CPUs
Warning: CPU has no invariant TSC.
mapping: affinity space -> kernel cpu id - package:core:thread
remap (0x0) -> 0 - 0:0:0) boot cpu
remap (1x0) -> 1 - 1:0:0)
ROM modules:
ROM: [000000002398c000,000000002398c5e1) config
ROM: [000000000000f000,0000000000013000) core_log
ROM: [00000000242f5000,00000000243b88e0) gdb_monitor
ROM: [00000000243b9000,00000000243dd0c8) gdbserver_platform.lib.so
ROM: [000000002398d000,00000000239ed940) init
ROM: [0000000023a0d000,0000000023b0b3a8) ld.lib.so
ROM: [0000000023b0c000,0000000023ce88e8) libc.lib.so
ROM: [0000000023ce9000,0000000023d23d40) libm.lib.so
ROM: [00000000242b4000,00000000242d4a20) pc_uart_drv
ROM: [000000000000d000,000000000000e000) platform_info
ROM: [0000000023d24000,0000000023d34fb0) posix.lib.so
ROM: [0000000023d35000,0000000023eea148) stdcxx.lib.so
ROM: [0000000023f87000,00000000242b3ac0) test-go
ROM: [00000000239ee000,0000000023a0c240) timer
ROM: [0000000023eeb000,0000000023f86628) vfs.lib.so
ROM: [00000000242d5000,00000000242f4b18) vfs_pipe.lib.so
36M kernel memory
Genode 20.11-203-g9c8a05c12 <local changes>
530 MiB RAM and 63253 caps assigned to init
[init] 0x1000000 .. 0x10ffffff: linker area
[init] 0x40000000 .. 0x4fffffff: stack area
[init] 0x30000 .. 0x161fff: ld.lib.so
[init] parent provides
[init] service "ROM"
[init] service "LOG"
[init] service "RM"
[init] service "CPU"
[init] service "PD"
[init] service "IRQ"
[init] service "IO_MEM"
[init] service "IO_PORT"
[init] child "timer"
[init] RAM quota: 1800K
[init] cap quota: 66
[init] ELF binary: timer
[init] priority: 0
[init] provides service Timer
[init] child "pc_uart_drv"
[init] RAM quota: 1800K
[init] cap quota: 66
[init] ELF binary: pc_uart_drv
[init] priority: 0
[init] provides service Uart
[init] provides service Terminal
[init] child "gdb_monitor"
[init] RAM quota: 255752K
[init] cap quota: 466
[init] ELF binary: gdb_monitor
[init] priority: 0
[init] provides service test-go
[init -> timer] 0x1000000 .. 0x10ffffff: linker area
[init -> gdb_monitor] 0x1000000 .. 0x10ffffff: linker area
[init -> pc_uart_drv] --- UART driver started ---
[init -> timer] 0x40000000 .. 0x4fffffff: stack area
[init -> timer] 0x30000 .. 0x161fff: ld.lib.so
[init] child "pc_uart_drv" announces service "Uart"
[init] child "pc_uart_drv" announces service "Terminal"
[init] child "timer" announces service "Timer"
[init -> gdb_monitor] 0x40000000 .. 0x4fffffff: stack area
[init -> gdb_monitor] 0x30000 .. 0x161fff: ld.lib.so
[init -> gdb_monitor] 0x10c7000 .. 0x10e9fff: gdbserver_platform.lib.so
[init -> gdb_monitor] 0x10e0c000 .. 0x10ffffff: libc.lib.so
[init -> gdb_monitor] 0x10d70000 .. 0x10e0bfff: vfs.lib.so
[init -> gdb_monitor] 0x10d36000 .. 0x10d6ffff: libm.lib.so
[init -> gdb_monitor] 0x10ea000 .. 0x12a1fff: stdcxx.lib.so
[init -> pc_uart_drv] open IRQ 3
[init -> pc_uart_drv]
[init -> pc_uart_drv] Warning: baud_rate 0 not supported, set to default
[init -> pc_uart_drv]
[init -> gdb_monitor] 0x10d0f000 .. 0x10d2dfff: vfs_pipe.lib.so
…
[init -> gdb_monitor] Warning: unsupported ioctl (request=0x40047477)
[init -> gdb_monitor] Warning: unsupported ioctl (request=0x80047476)
[init -> gdb_monitor] Process target created; pid = 1
[init -> gdb_monitor] Remote debugging using /dev/terminal
[init -> gdb_monitor] Error: fcntl(): command 6 not supported - vfs
…
[init -> gdb_monitor] Warning: Pd_session::transfer_quota not implemented
[init -> gdb_monitor] upgrading quota donation for PD session (0 bytes, 4 caps)
[init] child "gdb_monitor" requests resources: ram_quota=0, cap_quota=4
run file:
<config verbose="yes" ld_verbose="yes">
<parent-provides>
<service name="ROM" />
<service name="LOG" />
<service name="RM" />
<service name="CPU" />
<service name="PD" />
<service name="IRQ" />
<service name="IO_MEM" />
<service name="IO_PORT" />
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="250" />
<start name="timer" caps="100">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="pc_uart_drv" caps="100">
<resource name="RAM" quantum="2M" />
<provides>
<service name="Uart"/>
<service name="Terminal"/>
</provides>
<config>
<policy label_prefix="gdb_monitor" uart="1" />
</config>
</start>
<start name="gdb_monitor" caps="500">
<resource name="RAM" quantum="250M" />
<provides> <service name="test-go" /> </provides>
<config verbose="yes" ld_verbose="yes">
<target name="test-go" >
<config verbose="yes" ld_verbose="yes">
<vfs> <dir name="dev"> <log /> </dir>
<dir name="proc">
<dir name="self">
<rom name="exe" label="test-go"/>
</dir>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" />
</config>
</target>
<preserve name="RAM" quantum="50M" />
<vfs>
<dir name="dev"> <log/> <terminal/> </dir>
<dir name="pipe"> <pipe/> </dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" pipe="/pipe"/>
</config>
</start>
</config>
More information about the users
mailing list