Not compiled SMP. Running under host 2.6.3. Supermount patch applied to original kernel. gcc 2.95.4 . glibc 2.1.3.
(uml 2.4.24 runs just fine).
% /usr/local/src/linux-2.6.8.1-uml/linux
Checking for the skas3 patch in the host...not found
Checking for /proc/mm...not found
tracing thread pid = 27922
Linux version 2.6.8.1-UML-1um (root@betty.it.uc3m.es) (gcc version 2.95.4 20011002 (Debian prerelease)) #16 Mon Oct 11 12:30:50 CEST 2004
Built 1 zonelists
Kernel command line: root=98:0
PID hash table entries: 16 (order 4: 128 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 28872k available
Calibrating delay loop... 1209.13 BogoMIPS
Security Scaffold v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking for host processor cmov support...Yes
Checking for host processor xmm support...No
Checking that ptrace can change system call numbers...OK
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Checking for /dev/anon on the host...Not available (open failed with errno 6)
NET: Registered protocol family 16
sleeping process 27940 got unexpected signal : 11
I'm trying 2.6.8.1 now because I gave up on trying to keep 2.6.7 stable - it either died with
read of switch_pipe failed, errno = 0
(yes zero) I think after pasting into console into a process piping into another process saving on the hostfs, or gave
up with a similar signal error. This happened reliably on loading loop.ko. Seemingly in about the 4th add_disk()
in its init routine (I debugged by hand). I confirmed by
calling add_disk several times by itself on consecutive ranges
of minors in a simle test of my own. It dies after about 4-10
gos.
BTW - gcc 2.95.4 complained about the assembler it generated in kernel/posix-timers.c for 2.6.8.1. Fixed by adding a extra and spurious t = *tsave; in do_clock_nanosleep.
OK - after much effort, I eliminated compiler and glibc as the problem (by trying many, systematically) and found it to be due to the .config options chosen. I have now narrowed down the config options at fault to just one:
(diff .config.good .config.bad)
72c72
< # CONFIG_KMOD is not set
---
> CONFIG_KMOD=y
Details on request. debug just gives a hanging confused
xterm. Note that I have SKAS enabled on the client but not on the host, so it is using TT.
Mail me for more.
Peter ptb@it.uc3m.es
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Not compiled SMP. Running under host 2.6.3. Supermount patch applied to original kernel. gcc 2.95.4 . glibc 2.1.3.
(uml 2.4.24 runs just fine).
% /usr/local/src/linux-2.6.8.1-uml/linux
Checking for the skas3 patch in the host...not found
Checking for /proc/mm...not found
tracing thread pid = 27922
Linux version 2.6.8.1-UML-1um (root@betty.it.uc3m.es) (gcc version 2.95.4 20011002 (Debian prerelease)) #16 Mon Oct 11 12:30:50 CEST 2004
Built 1 zonelists
Kernel command line: root=98:0
PID hash table entries: 16 (order 4: 128 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 28872k available
Calibrating delay loop... 1209.13 BogoMIPS
Security Scaffold v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking for host processor cmov support...Yes
Checking for host processor xmm support...No
Checking that ptrace can change system call numbers...OK
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Checking for /dev/anon on the host...Not available (open failed with errno 6)
NET: Registered protocol family 16
sleeping process 27940 got unexpected signal : 11
I'm trying 2.6.8.1 now because I gave up on trying to keep 2.6.7 stable - it either died with
read of switch_pipe failed, errno = 0
(yes zero) I think after pasting into console into a process piping into another process saving on the hostfs, or gave
up with a similar signal error. This happened reliably on loading loop.ko. Seemingly in about the 4th add_disk()
in its init routine (I debugged by hand). I confirmed by
calling add_disk several times by itself on consecutive ranges
of minors in a simle test of my own. It dies after about 4-10
gos.
BTW - gcc 2.95.4 complained about the assembler it generated in kernel/posix-timers.c for 2.6.8.1. Fixed by adding a extra and spurious t = *tsave; in do_clock_nanosleep.
strace is not showing anything interesting.
--- SIGCHLD (Child exited) ---
ptrace(PTRACE_CONT, 27754, 0, SIG_0) = 0
ptrace(PTRACE_CONT, 27744, 0, SIG_0) = 0
wait4(-1, [WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV], WUNTRACED, NULL) = 27754
--- SIGCHLD (Child exited) ---
gettimeofday({1097492246, 583630}, NULL) = 0
ptrace(PTRACE_PEEKUSER, 27754, 4*EIP, [0x5a5a5a5a]) = 0
write(1, "sleeping process 27754 got unexp"..., 50sleeping process 27754 got unexpected signal : 11
) = 50
write(1, "\n", 1
Peter (ptb@it.uc3m.es)
I have now recompiled under gcc 3.4. Same result. I have also switched to running under kernel2.4.25 (preemptible). Same result.
I have tried using debug as a param but my gdb can't handle it.
It says
Dwarf Error: Cannot handle DW_FORM_strp in DWARF reader.
I'll work on gdb ...
Peter
OK - after much effort, I eliminated compiler and glibc as the problem (by trying many, systematically) and found it to be due to the .config options chosen. I have now narrowed down the config options at fault to just one:
(diff .config.good .config.bad)
72c72
< # CONFIG_KMOD is not set
---
> CONFIG_KMOD=y
Details on request. debug just gives a hanging confused
xterm. Note that I have SKAS enabled on the client but not on the host, so it is using TT.
Mail me for more.
Peter ptb@it.uc3m.es