Re: stack corruption?

Louis LeBlanc
2005-06-14T21:31:51Z

On 06/14/05 11:24 PM, Mark Kettenis sat at the `puter and typed:
> Date: Tue, 14 Jun 2005 16:52:12 -0400
> From: Louis LeBlanc <leblanc@keyslapper.net>
> BTW, I've seen problems in several applications while performing
> network lookups, not just my code, and not just C programs. I got a
> couple created by Perl scripts a couple weeks ago and they were also
> in the middle of network lookups. This makes me skeptical of the
> system libs, not my code and not gcc. The real problem is that gdb
> tells me nothing useful in these cases, unless the corrupt stack
> message is a real issue with my code.
>
> But unless you're going to send us a transcript of your debug session
> with the *exact* messages, we won't be able to help you.

Ok, here we go.

$ gdb myprog cores/myprog.core.22367.1117114569
GNU gdb 6.3.0.20050516-cvs
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 "sparc-sun-solaris2.8"...
Core was generated by `myprog -c /opt/progHome/conf/myprog.conf'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /opt/oracle/8.1.7/lib/libclntsh.so.8.0...done.
Loaded symbols for /opt/oracle/8.1.7/lib/libclntsh.so.8.0
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/lwp/libthread.so.1...done.
Loaded symbols for /usr/lib/lwp/libthread.so.1
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/libresolv.so.2...done.
Loaded symbols for /usr/lib/libresolv.so.2
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /opt/oracle/8.1.7/lib/libwtc8.so...done.
Loaded symbols for /opt/oracle/8.1.7/lib/libwtc8.so
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/libsched.so.1...done.
Loaded symbols for /usr/lib/libsched.so.1
Reading symbols from /usr/lib/libaio.so.1...done.
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /usr/lib/libm.so.1...done.
Loaded symbols for /usr/lib/libm.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/platform/sun4u/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,UltraSPARC-IIi-cEngine/lib/libc_psr.so.1
Reading symbols from /usr/lib/nss_files.so.1...done.
Loaded symbols for /usr/lib/nss_files.so.1
Reading symbols from /usr/lib/nss_dns.so.1...done.
Loaded symbols for /usr/lib/nss_dns.so.1
#0 0xff024044 in ttcpip () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
(gdb) bt
#0 0xff024044 in ttcpip () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#1 0xff000470 in ttcdrv () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#2 0xfeeb81e0 in nioqwa () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#3 0xfed3b5cc in upirtrc () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#4 0xfed8b64c in kpurcsc () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#5 0xfed5b104 in kpuexecv8 () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#6 0xfed5d2d4 in kpuexec () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#7 0xfed9a318 in OCIStmtExecute () from /opt/oracle/8.1.7/lib/libclntsh.so.8.0
#8 0x000e5234 in execute_statement (connID=1649752, stmntID=1, args=0xf827a650, dbTimingRec=0xf8279b80, inOpCode=19541) at dbase.c:873
#9 0x0002e9f4 in handle_check (thread=0x759b70) at myprog.c:904
#10 0x000e3134 in spawn (arg=0x759b70) at mythread.c:195
#11 0xff354978 in _lwp_start () from /usr/lib/lwp/libthread.so.1
#12 0xff354978 in _lwp_start () from /usr/lib/lwp/libthread.so.1
Previous frame identical to this frame (corrupt stack?)
(gdb)

I have changed identifying names to protect the guilty, but this is
pretty much typical.

Thank you
Lou
--
Louis LeBlanc dev@keyslapper.net
Fully Funded Hobbyist, KeySlapper Extrordinaire :þ
http://www.keyslapper.net Ô¿Ô¬
Key fingerprint = C5E7 4762 F071 CE3B ED51 4FB8 AF85 A2FE 80C8 D9A2

If they can make penicillin out of moldy bread, they can sure make
something out of you.
-- Muhammad Ali