* [uml-devel] UML startup -- segfault with no mm
@ 2005-02-24 4:36 D. Bahi
2005-02-24 17:36 ` Jeff Dike
0 siblings, 1 reply; 6+ messages in thread
From: D. Bahi @ 2005-02-24 4:36 UTC (permalink / raw)
To: uml devel
[-- Attachment #1.1: Type: text/plain, Size: 663 bytes --]
hello wonderful umlers,
here's a wonderfully infrequent but nagging startup
failure that usually has a useless (no stack depth,
or just corrupt) backtrace...
Here's all the user sees:
Checking for the skas3 patch in the host...found
Checking for /proc/mm...found
Enterasys Node Driver v0.1 (4, 15, 0)
Kernel panic: Segfault with no mm
In idle task - not syncing
and then it dumps core - that, this once, had a
(possibly informative) backtrace (attached).
host is 2.4.20-31 redhat9 + skas - nptl
guest is 2.4.26-3um + core_on_panic and other
local mods that are *not* in this trace.
thank you for any insight.
(please, no suggestions to update :-)
--
db
[-- Attachment #1.2: segfault_with_nomm_bt.txt --]
[-- Type: text/plain, Size: 9697 bytes --]
(gdb) bt
#0 0x0815dfc1 in kill ()
#1 0x0817a2d2 in raise ()
#2 0x0815e2ad in abort ()
#3 0x080dac3e in panic_coreonpanic (self=0x81f6c3c, unused1=0, unused2=0x820ed60) at um_arch.c:425
#4 0x0805e46a in notifier_call_chain (n=0x0, val=0, v=0x820ed60) at sys.c:148
#5 0x080533d9 in panic (fmt=0x81ba50f "Segfault with no mm") at panic.c:77
#6 0x080da339 in segv (address=3221194032, ip=0, is_write=0, is_user=0, sc=0xbfff8270) at trap_kern.c:149
#7 0x080da67d in segv_handler (sig=11, regs=0xbfff8270) at trap_user.c:74
#8 0x080dcad1 in sig_handler_common_skas (sig=11, sc_ptr=0x58) at trap_user.c:35
#9 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221197508, esp = 3221197484, ebx = 3221197552, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221197484, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#10 <signal handler called>
#11 sig_handler_common_skas (sig=11, sc_ptr=0xbfff92f0) at trap_user.c:25
#12 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221198300, esp = 3221198276, ebx = 3221198344, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221198276, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#13 <signal handler called>
#14 sig_handler_common_skas (sig=11, sc_ptr=0xbfff9608) at trap_user.c:25
#15 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221199092, esp = 3221199068, ebx = 3221199136, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221199068, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#16 <signal handler called>
#17 sig_handler_common_skas (sig=11, sc_ptr=0xbfff9920) at trap_user.c:25
#18 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221199884, esp = 3221199860, ebx = 3221199928, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221199860, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#19 <signal handler called>
#20 sig_handler_common_skas (sig=11, sc_ptr=0xbfff9c38) at trap_user.c:25
#21 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221200676, esp = 3221200652, ebx = 3221200720, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221200652, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#22 <signal handler called>
#23 sig_handler_common_skas (sig=11, sc_ptr=0xbfff9f50) at trap_user.c:25
#24 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221201468, esp = 3221201444, ebx = 3221201512, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221201444, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#25 <signal handler called>
#26 sig_handler_common_skas (sig=11, sc_ptr=0xbfffa268) at trap_user.c:25
#27 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221202260, esp = 3221202236, ebx = 3221202304, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221202236, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#28 <signal handler called>
#29 sig_handler_common_skas (sig=11, sc_ptr=0xbfffa580) at trap_user.c:25
#30 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221203052, esp = 3221203028, ebx = 3221203096, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221203028, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#31 <signal handler called>
#32 sig_handler_common_skas (sig=11, sc_ptr=0xbfffa898) at trap_user.c:25
#33 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221203844, esp = 3221203820, ebx = 3221203888, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221203820, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#34 <signal handler called>
#35 sig_handler_common_skas (sig=11, sc_ptr=0xbfffabb0) at trap_user.c:25
#36 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221204636, esp = 3221204612, ebx = 3221204680, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221204612, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#37 <signal handler called>
#38 sig_handler_common_skas (sig=11, sc_ptr=0xbfffaec8) at trap_user.c:25
#39 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221205428, esp = 3221205404, ebx = 3221205472, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221205404, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#40 <signal handler called>
#41 sig_handler_common_skas (sig=11, sc_ptr=0xbfffb1e0) at trap_user.c:25
#42 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221206220, esp = 3221206196, ebx = 3221206264, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221206196, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#43 <signal handler called>
#44 sig_handler_common_skas (sig=11, sc_ptr=0xbfffb4f8) at trap_user.c:25
#45 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221207012, esp = 3221206988, ebx = 3221207056, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221206988, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#46 <signal handler called>
#47 sig_handler_common_skas (sig=11, sc_ptr=0xbfffb810) at trap_user.c:25
#48 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 136676108, esi = 3221193328, ebp = 3221207804, esp = 3221207780, ebx = 3221207848, edx = 1, ecx = 2147767344, eax = 3221192704, trapno = 14, err = 4, eip = 135121527, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221207780, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436216320, cr2 = 3221194032}) at trap_user.c:109
#49 <signal handler called>
#50 sig_handler_common_skas (sig=11, sc_ptr=0xbfffbb28) at trap_user.c:25
#51 0x080da69e in sig_handler (sig=11, sc={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 0, esi = 3221192704, ebp = 3221208596, esp = 3221208572, ebx = 0, edx = 1, ecx = 2147767344, eax = 0, trapno = 14, err = 6, eip = 134594293, cs = 35, __csh = 0, eflags = 66198, esp_at_signal = 3221208572, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 436207616, cr2 = 3221192972}) at trap_user.c:109
#52 <signal handler called>
#53 update_one_process (p=0xbfff8000, user=0, system=136277052, cpu=0) at timer.c:585
#54 0x0805bff0 in update_process_times (user_tick=0) at timer.c:600
#55 0x0805c1b2 in do_timer (regs=0x0) at timer.c:705
#56 0x080d9ce4 in boot_timer_handler (sig=26) at time_kern.c:92
#57 <signal handler called>
#58 0x0816d224 in ioctl ()
#59 0x0825830c in buf.2 ()
#60 0x0816e383 in pts_name ()
#61 0x0816dff9 in grantpt ()
#62 0x0815ce92 in openpty ()
#63 0x080d7631 in openpty_cb (arg=0x81efa64) at sigio_user.c:47
#64 0x080dbde1 in start_idle_thread (stack=0x81e8000, switch_buf_ptr=0x81e8578, fork_buf_ptr=0x0) at process.c:292
#65 0x080dc48a in start_uml_skas () at process_kern.c:193
#66 0x080daae3 in linux_main (argc=19, argv=0x30000000) at um_arch.c:393
#67 0x08050286 in main (argc=19, argv=0xbfffe994, envp=0xbfffe9e4) at arch/um/main.c:149
#68 0x0815d97b in __libc_start_main ()
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [uml-devel] UML startup -- segfault with no mm
2005-02-24 17:36 ` Jeff Dike
@ 2005-02-24 16:09 ` D. Bahi
2005-02-24 18:38 ` D. Bahi
1 sibling, 0 replies; 6+ messages in thread
From: D. Bahi @ 2005-02-24 16:09 UTC (permalink / raw)
To: Jeff Dike; +Cc: uml devel
[-- Attachment #1: Type: text/plain, Size: 585 bytes --]
thank you very very much jeff.
i'll apply and let you know.
very much looking forward to the 'update/moderinization' of the 2.4 series.
Jeff Dike wrote:
>dbahi@enterasys.com said:
>
>
>>here's a wonderfully infrequent but nagging startup failure that
>>usually has a useless (no stack depth, or just corrupt) backtrace...
>>
>>
>
>You need the uml-enable-the-timer-after-the-timer-handler.patch patch:
>
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/broken-out/uml-enable-the-timer-after-the-timer-handler.patch
>
> Jeff
>
>
>
--
db
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [uml-devel] UML startup -- segfault with no mm
2005-02-24 4:36 [uml-devel] UML startup -- segfault with no mm D. Bahi
@ 2005-02-24 17:36 ` Jeff Dike
2005-02-24 16:09 ` D. Bahi
2005-02-24 18:38 ` D. Bahi
0 siblings, 2 replies; 6+ messages in thread
From: Jeff Dike @ 2005-02-24 17:36 UTC (permalink / raw)
To: D. Bahi; +Cc: uml devel
dbahi@enterasys.com said:
> here's a wonderfully infrequent but nagging startup failure that
> usually has a useless (no stack depth, or just corrupt) backtrace...
You need the uml-enable-the-timer-after-the-timer-handler.patch patch:
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/broken-out/uml-enable-the-timer-after-the-timer-handler.patch
Jeff
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [uml-devel] UML startup -- segfault with no mm
2005-02-24 17:36 ` Jeff Dike
2005-02-24 16:09 ` D. Bahi
@ 2005-02-24 18:38 ` D. Bahi
2005-02-28 19:34 ` Jeff Dike
1 sibling, 1 reply; 6+ messages in thread
From: D. Bahi @ 2005-02-24 18:38 UTC (permalink / raw)
To: Jeff Dike; +Cc: uml devel
[-- Attachment #1: Type: text/plain, Size: 1243 bytes --]
actually - 2.4.26-3um looks like this already.
int start_uml_skas(void)
{
start_userspace(0);
capture_signal_stack();
init_new_thread_signals(1);
idle_timer();
init_task.thread.request.u.thread.proc = start_kernel_proc;
init_task.thread.request.u.thread.arg = NULL;
so this doesn't play into it as it just put the
idle_timer in 2.6 back where it was in 2.4:
***************
*** 224,232 ****
{
start_userspace(0);
capture_signal_stack();
- uml_idle_timer();
init_new_thread_signals(1);
init_task.thread.request.u.thread.proc = start_kernel_proc;
init_task.thread.request.u.thread.arg = NULL;
--- 224,232 ----
{
start_userspace(0);
capture_signal_stack();
init_new_thread_signals(1);
+ uml_idle_timer();
Jeff Dike wrote:
>dbahi@enterasys.com said:
>
>
>>here's a wonderfully infrequent but nagging startup failure that
>>usually has a useless (no stack depth, or just corrupt) backtrace...
>>
>>
>
>You need the uml-enable-the-timer-after-the-timer-handler.patch patch:
>
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/broken-out/uml-enable-the-timer-after-the-timer-handler.patch
>
> Jeff
>
>
>
--
db
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [uml-devel] UML startup -- segfault with no mm
2005-02-28 19:34 ` Jeff Dike
@ 2005-02-28 18:48 ` D. Bahi
0 siblings, 0 replies; 6+ messages in thread
From: D. Bahi @ 2005-02-28 18:48 UTC (permalink / raw)
To: Jeff Dike; +Cc: uml devel
[-- Attachment #1: Type: text/plain, Size: 990 bytes --]
yep. have exactly that:
void initial_thread_cb_skas(void (*proc)(void *), void *arg)
{
sigjmp_buf here;
cb_proc = proc;
cb_arg = arg;
cb_back = &here;
block_signals();
if(sigsetjmp(here, 1) == 0)
siglongjmp(initial_jmpbuf, 2);
unblock_signals();
cb_proc = NULL;
cb_arg = NULL;
cb_back = NULL;
}
Jeff Dike wrote:
>dbahi@enterasys.com said:
>
>
>>actually - 2.4.26-3um looks like this already.
>>
>>
>
>Yeah, if I had spent a bit more time looking at the stack, I would have noticed
>that the symptom was wrong for that patch. What's happening is that you are
>taking a timer interrupt while on the initial process stack, which can't be
>allowed because interrupts should only happen on a kernel stack.
>
>Make sure your initial_thread_cb_skas (in arch/um/kernel/skas/process.c)
>blocks signals like so:
>
> block_signals();
> if(sigsetjmp(here, 1) == 0)
> siglongjmp(initial_jmpbuf, 2);
> unblock_signals();
>
> Jeff
>
>
>
--
db
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [uml-devel] UML startup -- segfault with no mm
2005-02-24 18:38 ` D. Bahi
@ 2005-02-28 19:34 ` Jeff Dike
2005-02-28 18:48 ` D. Bahi
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Dike @ 2005-02-28 19:34 UTC (permalink / raw)
To: D. Bahi; +Cc: uml devel
dbahi@enterasys.com said:
> actually - 2.4.26-3um looks like this already.
Yeah, if I had spent a bit more time looking at the stack, I would have noticed
that the symptom was wrong for that patch. What's happening is that you are
taking a timer interrupt while on the initial process stack, which can't be
allowed because interrupts should only happen on a kernel stack.
Make sure your initial_thread_cb_skas (in arch/um/kernel/skas/process.c)
blocks signals like so:
block_signals();
if(sigsetjmp(here, 1) == 0)
siglongjmp(initial_jmpbuf, 2);
unblock_signals();
Jeff
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-02-28 18:48 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-24 4:36 [uml-devel] UML startup -- segfault with no mm D. Bahi
2005-02-24 17:36 ` Jeff Dike
2005-02-24 16:09 ` D. Bahi
2005-02-24 18:38 ` D. Bahi
2005-02-28 19:34 ` Jeff Dike
2005-02-28 18:48 ` D. Bahi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.