Re: Interpreting program core dump in mdb
- From: Noob <root@localhost>
- Date: Thu, 27 Mar 2008 18:05:33 +0100
Mr. Uh Clem wrote:
At $DAY_JOB, we've got a customer who has installed our product on a
Solaris 10 Sparc system and is getting a mysterious segment violation in
one of our background processes. Of course, this problem does not occur
on any of our inhouse systems.
We did get the customer to send us a core file, but aren't very handy
with the debug tools on Solaris.
# mdb prog core
Loading modules: [ libc.so.1 ld.so.1 ]
> ::stack
strncpy+0x5d0(20, 7182f4, 1b, 726f6f74, 0, 20)
secure+0x1b8(2e4088, b1978, c6068, 1f, 717298, 0)
process_request+0x41c(2e7d8, 1, c60e4, 1, 5750bc, 0)
open_socket+0x310(0, c8bf0, 5, 7efefeff, 81010100, ffbff9bc)
main+0x664(1, ffbffc1c, ffbffc24, c6000, c80fc, 3)
_start+0x108(0, 0, 0, 0, 0, 0)
I've googled up countless articles telling me that ::stack gets a
stack dump, but have yet to find one which tells me what the
values in the display **ARE**.
Some specifics on this one: It's a daemon process which accepts
a connection and forks off a worker process to handle the connection.
Early on, it calls secure() which is linked from a different .o file:
char user_name[USER_LENGTH + 1]; /* global in .c containing secure */
secure(host)
char *host;
{
...
struct passwd *pw;
...
pw = getpwuid(getuid());
if (pw != NULL)
strncpy(user_name, pw->pw_name, sizeof(user_name)-1);
Is it possible for pw->pw_name to be NULL?
.
- Follow-Ups:
- Re: Interpreting program core dump in mdb
- From: Mr. Uh Clem
- Re: Interpreting program core dump in mdb
- References:
- Interpreting program core dump in mdb
- From: Mr. Uh Clem
- Interpreting program core dump in mdb
- Prev by Date: Re: System Calls and I/O Parameter Reinitialization
- Next by Date: Re: Interpreting program core dump in mdb
- Previous by thread: Interpreting program core dump in mdb
- Next by thread: Re: Interpreting program core dump in mdb
- Index(es):
Relevant Pages
|