Hi, looks like the UML got SIGSEGV when running without a control terminal (via 
a daemon).

Any idea on how to avoid this?

# cat /etc/init.d/uml 
start() {
  chmod 755 /mnt/tests/kernel/misc/uml/kernel32-2.6.31.5
  /mnt/tests/kernel/misc/uml/kernel32-2.6.31.5 
ubda=/mnt/tests/kernel/misc/uml/Fedora10-x86-root_fs mem=128M
}
...

# See how we were called.
case "$1" in
    start)
        start
        ;;
...

# service uml start
Locating the bottom of the address space ... 0x10000
Locating the top of the address space ... 0xffffd000
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
Adding 28393472 bytes to physical memory to account for exec-shield gap
Terminated

Adding a strace show the following,

open("/dev/ptmx", O_RDWR)               = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(4, TIOCGPTN, [4])                 = 0
stat64("/dev/pts/4", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0
statfs("/dev/pts/4", {f_type="DEVPTS_SUPER_MAGIC", f_bsize=0, f_blocks=0, 
f_bfree=0, f_bavail=1095216660480, f_files=4096, f_ffree=0, f_fsid={0, 0}, 
f_namelen=599752140905815076, f_frsize=17319714480}) = 0
ioctl(4, TIOCSPTLCK, [0])               = 0
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(4, TIOCGPTN, [4])                 = 0
stat64("/dev/pts/4", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0
open("/dev/pts/4", O_RDWR|O_NOCTTY)     = 5
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(4, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK|O_ASYNC) = 0
getpid()                                = 31182
fcntl64(4, F_SETOWN, 31182)             = 0
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
rt_sigaction(SIGIO, NULL, {0x180000000806e2e4, [], 0}, 8) = 0
rt_sigaction(SIGIO, {0x180000000804bccc, [], SA_NOCLDSTOP|SA_NOCLDWAIT|0x5400}, 
NULL, 8) = 0
close(5)                                = 0
close(4)                                = 0
close(5)                                = -1 EBADF (Bad file descriptor)
rt_sigaction(SIGIO, {0x180000000806e2e4, [], SA_STACK|0x52bdb0}, NULL, 8) = 0
io_setup(256, {4151672832})             = 0
clone(child_stack=0x10467fd4, flags=CLONE_VM|CLONE_FILES) = 31189
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
rt_sigaction(SIGSEGV, {0x1000000000000000, [], SA_STACK|0x2d19c8}, 
{0x480000000806e2e4, ~[], 0}, 8) = 0
rt_sigaction(SIGTERM, {0x1000000000000001, [], 0}, {0xc00000000806bae4, [RT_2 
RT_4], SA_STACK|SA_SIGINFO|SA_NOCLDSTOP|SA_NOCLDWAIT|0x4ae8e8}, 8) = 0
kill(0, SIGTERM <unfinished ...>
Terminated

Thanks,
CAI Qian

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to