On Sun, Dec 29, 2013 at 2:14 PM,  <st...@nixia.no> wrote:
>>> #6  0x08421d02 in rest_init () at init/main.c:401
>>>         pid = -516
>>> #7  0x080487e1 in start_kernel () at init/main.c:655
>>>         command_line = 0x85b6400 <command_line> "earlyprintk
>>> ubda=/home/tfoerste/virtual/uml/trinity ubdb=/mnt/ramdisk/trinity_swap
>>> eth0=tuntap,tap0,72:ef:3d:9f:c3:5a mem=1025M con0=fd:0,fd:1 con=pts
>>> rootfstype=ext4  root=98:0"
>>> #8  0x08049e09 in start_kernel_proc (unused=0x0) at
>>> arch/um/kernel/skas/process.c:46
>>>         pid = -516
>>> #9  0x0805f7cb in new_thread_handler () at
>>> arch/um/kernel/process.c:129
>>>         fn = 0x0
>>> #10 0x00000000 in ?? ()
>>> No symbol table info available.
>>>
>>>
>>> Is this a valid number ?
>> I'm asking b/c there's no process group id 516, and -516 always
>> happens in the back traces.
>> And furthermore after a while the UML system does no longer serve any
>> ssh login attempts.
>
> 516 ==  -ERESTART_RESTARTBLOCK  ??

Yeah, maybe.

Toralf, where exactly comes this back trace from? "gives for a guest"
is not a good error description.
Did it crash and you took it from the core dump?
Did it panic() and you attached to it?
Did it hang...?
IOW don't throw random back traces to us without much details. ;-)

The number -516 is a bit odd because you see it in
arch/um/kernel/skas/process.c.
In that function it comes from os_getpid() which indicates that the
host kernel reports that number.
...very strange.

init/main.c makes a bit more sense. Maybe a kthread creation within
UML returned that internal error.

Can you try the attached debug patch?
If the BUG_ON() trigger, please show us panic from UML, not just the
gdb back trace.

-- 
Thanks,
//richard
diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c
index 4da11b3..71a5828 100644
--- a/arch/um/kernel/skas/process.c
+++ b/arch/um/kernel/skas/process.c
@@ -38,6 +38,8 @@ static int __init start_kernel_proc(void *unused)
        block_signals();
        pid = os_getpid();
 
+       BUG_ON(pid == -516);
+
        cpu_tasks[0].pid = pid;
        cpu_tasks[0].task = current;
 #ifdef CONFIG_SMP
diff --git a/init/main.c b/init/main.c
index febc511..9ad68ab 100644
--- a/init/main.c
+++ b/init/main.c
@@ -386,6 +386,7 @@ static noinline void __init_refok rest_init(void)
        kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
        numa_default_policy();
        pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
+       BUG_ON(pid == -516);
        rcu_read_lock();
        kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
        rcu_read_unlock();
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to