From: Joe Marzot <gmarzot@nortelnetworks.com>
To: Jeff Dike <jdike@addtoit.com>
Cc: user-mode-linux-devel@lists.sourceforge.net
Subject: Re: [uml-devel] handle_trap - failed to wait at end of syscall
Date: Mon, 13 Sep 2004 11:39:43 -0400 [thread overview]
Message-ID: <4145BF3F.3090502@nortelnetworks.com> (raw)
In-Reply-To: 411CE23C.4070903@nortelnetworks.com
remeber this one?...the latest take on this is that because we launch
UMLs from a perl script (using fork/exec) when the perl script exits a
SIGHUP is transmitted to the UML proc which sometimes interrupts a
waitpid()...if that interruption occurs during the nullification of a
syscall (now that I know what that means:) then you get a kernel panic
like below.
I made a small fix that seems to be working for me and looks like what's
going on in CATCH_EINTR
do {
CATCH_EINTR(err = waitpid(pid, &status, WUNTRACED));
} while (WIFSTOPPED(status) && (STOPSIG(status) == SIGHUP))
can't do this globally in CATCH_EINTR since some waitpids don't check
status...maybe they should...maybe there is a more correct way to do
this altogether...
thoughts?
regards, Giovanni
Marzot, Joe [BL60:NP72:EXCH] wrote:
> Joe Marzot wrote:
>
>> here is a better one produced under similar conditions - this time the
>> core is readable (I do get the unreadable cores quite often though).
>>
>> this is host RH8 + skas3 patch
>>
>> guest is 2.4.2x + 2.4.24-1um
>
>
> so looking deeper in this core in handle_trap I see the call to waitpid
> fails with a status of 383 and an err of 13456
>
> (gdb) p err
> $6 = 13456 (the pid of the child who exitted)
> (gdb) p status
> $7 = 383
>
> WSTOPSIG(err) = SIGHUP
>
> does this give any clues...any ideas of what else to look at?
>
> thanks, GSM
>
>>
>> [root@wbl6y227 plankton]# /usr/local/builds/gdb-6.2/gdb/gdb -c
>> ~szhimin/tmp/joe/core.13456
>> /view/build_neptune_dev_int144.resp3/vob/neptune/plankton/celp/linux.celp
>> GNU gdb 6.2
>> 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 "i686-pc-linux-gnu"...Using host
>> libthread_db library "/lib/libthread_db.so.1".
>>
>> Core was generated by `/vob/neptune/plankton/celp/linux.celp
>> (DSC-0-0-0) [nameServer] '.
>> Program terminated with signal 6, Aborted.
>> #0 0xa01643e1 in kill ()
>> at
>> /localdisk/builds/3pc/2.4.22-i686sim/2.4.22/include/asm/arch/string.h:486
>> 486 case 1: COMMON("\n\tstosb"); return s;
>> (gdb) where
>> #0 0xa01643e1 in kill ()
>> at
>> /localdisk/builds/3pc/2.4.22-i686sim/2.4.22/include/asm/arch/string.h:486
>> #1 0xa018cbdb in raise ()
>> at
>> /localdisk/builds/3pc/2.4.22-i686sim/2.4.22/include/asm/arch/string.h:486
>> #2 0xa01646cd in abort ()
>> at
>> /localdisk/builds/3pc/2.4.22-i686sim/2.4.22/include/asm/arch/string.h:486
>> #3 0xa00d01e4 in handle_trap (pid=13461, regs=0xa5f7827c) at
>> process.c:90
>> #4 0xa00d0438 in userspace (regs=0xa5f7827c) at process.c:168
>> #5 0xa00d0bfa in fork_handler (sig=10) at process_kern.c:102
>> #6 <signal handler called>
>> #7 0xa01643e1 in kill ()
>> at
>> /localdisk/builds/3pc/2.4.22-i686sim/2.4.22/include/asm/arch/string.h:486
>> #8 0xa00d4734 in os_usr1_process (pid=13456) at process.c:95
>> #9 0xa00d04ce in new_thread (stack=Cannot access memory at address 0x8
>> ) at process.c:205
>> Previous frame inner to this frame (corrupt stack?)
>> (gdb) info thr
>> * 1 process 13456 0xa01643e1 in kill ()
>> at
>> /localdisk/builds/3pc/2.4.22-i686sim/2.4.22/include/asm/arch/string.h:486
>> (gdb)
>>
>>
>>
>
>
>
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
> 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
> Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
> http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
> _______________________________________________
> User-mode-linux-devel mailing list
> User-mode-linux-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
>
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2004-09-13 15:40 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-11 15:32 [uml-devel] debugging UML cores Joe Marzot
2004-08-12 5:41 ` Jeff Dike
2004-08-12 15:21 ` Joe Marzot
2004-08-12 16:56 ` Jeff Dike
2004-08-12 16:16 ` Joe Marzot
2004-08-12 15:36 ` Joe Marzot
2004-08-12 15:47 ` Joe Marzot
2004-08-13 15:46 ` [uml-devel] handle_trap - failed to wait at end of syscall [was Re: [uml-devel] debugging UML cores] Joe Marzot
2004-08-13 18:01 ` Joe Marzot
2004-08-13 21:47 ` Jeff Dike
2004-08-16 17:47 ` [uml-devel] Re: handle_trap - failed to wait at end of syscall [was Re: [uml- devel] " Joe Marzot
2004-08-16 19:25 ` Joe Marzot
2004-08-16 19:53 ` D. Bahi
2004-08-17 5:26 ` Jeff Dike
2004-08-20 11:46 ` handle_trap - failed to wait at end of syscall [was Re: [uml-devel] " BlaisorBlade
2004-09-13 15:39 ` Joe Marzot [this message]
2004-09-13 19:39 ` [uml-devel] handle_trap - failed to wait at end of syscall BlaisorBlade
2004-09-13 22:14 ` Jeff Dike
2004-09-14 10:41 ` BlaisorBlade
2004-09-14 16:09 ` Joe Marzot
2004-09-14 21:23 ` Jeff Dike
2004-09-15 5:00 ` Richard Potter
2004-09-15 19:35 ` Joe Marzot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4145BF3F.3090502@nortelnetworks.com \
--to=gmarzot@nortelnetworks.com \
--cc=jdike@addtoit.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.