Discussion:
Segmentation fault need help
(too old to reply)
Marcia Hon
2004-02-15 18:40:08 UTC
Permalink
Hi,

I am trying to run a program except I get the following segmentation fault.
I don't know how to solve it. Please if you know could you please help.

Thanks, Marcia



Program received signal SIGSEGV, Segmentation fault.

0x0a6e6962 in ?? ()

(gdb) bt

#0 0x0a6e6962 in ?? ()

Cannot access memory at address 0xa6d6461

(gdb)
Måns Rullgård
2004-02-15 23:38:35 UTC
Permalink
Post by Marcia Hon
Hi,
I am trying to run a program except I get the following segmentation fault.
I don't know how to solve it. Please if you know could you please help.
Thanks, Marcia
Program received signal SIGSEGV, Segmentation fault.
0x0a6e6962 in ?? ()
(gdb) bt
#0 0x0a6e6962 in ?? ()
Cannot access memory at address 0xa6d6461
You have a corrupted stack. Look for buffer overflows in
automatically allocated memory. Another typical cause is freeing
automatic memory. It could also be caused by using an uninitialized
pointer. A memory debugger like Electric Fence or (for PC) valgrind
is useful for finding such bugs.
--
Måns Rullgård
***@kth.se
Paul Pluzhnikov
2004-02-16 02:20:31 UTC
Permalink
Post by Måns Rullgård
Post by Marcia Hon
(gdb) bt
#0 0x0a6e6962 in ?? ()
Note that this is ASCII: "\nnib", doing "x/s $esp" may reveal the
rest of the string which overflowed its buffer.
Post by Måns Rullgård
You have a corrupted stack.
Most definitely.
Post by Måns Rullgård
Look for buffer overflows in automatically allocated memory.
Yes. I would bet 10:1 that this is a simple strcpy() into an
automatic char array that is too small.
Post by Måns Rullgård
Another typical cause is freeing automatic memory.
That would cause a SIGSEGV *in* malloc/free, not a jump to ASCII.
Post by Måns Rullgård
It could also be caused by using an uninitialized pointer.
Or it could be that.
Post by Måns Rullgård
A memory debugger like Electric Fence or (for PC) valgrind
is useful for finding such bugs.
EFence will not help with this kind of bug at all, valgrind might
(if this is an uninitialized pointer, but not otherwize).

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
Marcia Hon
2004-02-15 23:46:57 UTC
Permalink
Thanks.

I don't know how to solve it your way. I would like to learn. I, however,
solved it by sequentially putting printfs throughout the program!

Thanks again for your help.
Marcia

CBFalconer
2004-02-16 20:13:26 UTC
Permalink
Post by Marcia Hon
I am trying to run a program except I get the following segmentation fault.
I don't know how to solve it. Please if you know could you please help.
You are getting out of hand. Please STOP the excessive
cross-posting, and STOP posting OT matter, and START posting
cut-down compilable complete programs not exceeding 100 lines when
you need help. Failing this I suggest wholesale PLONKING, after
which you will not be able to get help anywhere.

For you, anything over one newsgroup is excessive crossposting.
--
Chuck F (***@yahoo.com) (***@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
Loading...