[prev in list] [next in list] [prev in thread] [next in thread] 

List:       user-mode-linux-user
Subject:    [uml-user] Getting Abort while running UML-2.6.38 on host kernel also 2.6.38
From:       Prashant Batra <prashant0100 () gmail ! com>
Date:       2013-01-16 6:32:44
Message-ID: CAG+XuE6eThMsphTSSWJ2t978mLQM2PpwXLUQyap9p+HyJDe0Aw () mail ! gmail ! com
[Download RAW message or body]

Hello,

I am trying to run UML after compiling it from source.

I have taken defconfig for UM and my compiled it over mu host kernel
which is 2.6.38 32 bit.

Th compilation succeeds after couple of fixes, but I run into strange
problem on running the linux binary.

This is what I get on running-
# ./linux  "stderr=1"
Locating the bottom of the address space ... 0x0
Locating the top of the address space ... 0xc0000000
Core dump limits :
        soft - 0
        hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode
Aborted

Running this in gdb shows-

# gdb linux
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-linux"...Using host libthread_db
library "/lib/tls/libthread_db.so.1".

(gdb) r
Starting program: /localdisk/prashant/SVN/trunk/linux26/linux
Locating the bottom of the address space ...
Program received signal SIGSEGV, Segmentation fault.
0x080695b0 in page_ok (page=0) at arch/um/os-Linux/sys-i386/task_size.c:31
31                      n = *address;
(gdb) bt
#0  0x080695b0 in page_ok (page=0) at arch/um/os-Linux/sys-i386/task_size.c:31
#1  0x080696b2 in os_get_top_address () at
arch/um/os-Linux/sys-i386/task_size.c:100
#2  0x0804a429 in linux_main (argc=1, argv=0xbf984014) at
arch/um/kernel/um_arch.c:277
#3  0x0804adf7 in main (argc=1, argv=0xbf984014, envp=0xbf98401c) at
arch/um/os-Linux/main.c:150
(gdb) p address
$1 = (long unsigned int *) 0x0


Address is NULL, which results in NULL deference and hence abort. I
went to the code to understand a bit on the root cause, but was not
able to deduce much.

Any help is much appreciated.

Thanks,
Prashant






gdb als

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic