[Barrelfish-users] Kernel.0: Waiting for GDB connection!!

Kornilios Kourtis kornilios.kourtis at inf.ethz.ch
Fri Feb 21 13:55:40 CET 2014

Hi Jiban,

On Tue, Feb 18, 2014 at 11:20:16PM -0800, jiban sarma wrote:
> Hi All,
> We are trying to boot Barrelfish on few HP-Proliant servers over tftp/pxe.
> Initially we are getting the below exception for all the machines:
> Faulting instruction pointer (or next instruction): 0xffffff800757805d
> =>i.e unrelocated kernel address 0x10f05d
> And finally, the boot process stuck with the below message:
> kernel.0 waiting for GDB connection...
> To resolve the issue we have commented out few assert statements in the
> "startup_arch.c",  after that  two machines are able to bypass that error. But
> still we are getting the same error for  one machine.
> ===================================================================
> assert(vbase + size - X86_64_INIT_VBASE < X86_64_INIT_SPACE_LIMIT);
> //assert(err_is_ok(err));
> assert(glbl_core_data->mmap_length < BOOTINFO_SIZE);
> assert(curmmap->size == 20); // FIXME: The multiboot specification does not
> require this size
> assert(nextmmap->size == 20);
> //assert((clean_mmap_length + tmpmmap.length + 4) < BOOTINFO_SIZE);
> //assert(err_is_ok(err));
> //assert(err_is_ok(err));
> assert(mmap->base_addr > local_phys_to_gen_phys(init_alloc_addr));
> // assert(err_is_ok(err));
> assert(last_end_addr != 0);
> // assert(err_is_ok(err));
> // assert(err_is_ok(err));
> assert(apic_is_bsp());
> //assert(err_is_ok(err));
> =========================================================
> Can anyone give us a pointer why we are getting this ? and how can we
> deal with the  unrelocated kernel address error.

So, from what I understand, removing the assertions resulted in the 
above faulting instruction error going away?

Have you checked if the assertions removed are actually triggered? You
can probably check that by replacing the assertion code with an if
statement and a printf.

> Also, kernel.0 waiting for GDB connection implies for remote
> debugging(remote gdb stub) option in barrelfish?
> We have checked remote debugging in QEMU, but not sure how can we do it in a
> tftp/pxe setup. Please provide some pointers.

There is a tools/debug.gdb script in the Barrelfish source code. I'm
afraid, however, that I've never personally used it so I do not know to
what extent it works. It might worth a try ...

>From a quick look, there seem to be two commands:
 - debug_hw for debugging the kernel via serial port used for the console
 - debug_kernel_at for debugging the kernel kernel at an arbitrary location


> Thanks,
> Jiban

> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users

Kornilios Kourtis

More information about the Barrelfish-users mailing list