[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DDD 3.3 (i386-portbld-freebsd4.3) gets `Segmentation fault' signal
From: |
Robert Gravsjo |
Subject: |
DDD 3.3 (i386-portbld-freebsd4.3) gets `Segmentation fault' signal |
Date: |
Wed, 16 Jan 2002 08:02:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.5) Gecko/20011123 |
After a report of this bug on SecurityFocus mailing lists, reported for
a Red Hat 7.1 system, I tried to reproduce it on my FreeBSD 4.3-STABLE
system.
To reproduce this bug I set $HOME to 10235 A's and then run ddd without
any arguments:
# export HOME=`perl -e'print "A" x 10235'`
# ddd
Attached are the ~/.ddd/log file.
/robertG
--
Robert Gravsjö robert.gravsjo@servicefactory.se
Systemdeveloper Phone: +46 (0)730 58 49 13
Service Factory www.servicefactory.se
GNU DDD 3.3 (i386-portbld-freebsd4.3)
Copyright (C) 1995-1999 Technische Universität Braunschweig, Germany.
Copyright (C) 1999-2001 Universität Passau, Germany.
Compiled with GCC 2.95.3 [FreeBSD] 20010315 (release), libstdc++ 3.0.0
Requires X11R6, Xt11R6, Motif 2.1.30 (Motif Version 2.1.30)
Includes XPM 3.4.11, Athena Panner, DDD core
Built 2001-05-21 by Charlie <root@juggler.exmandato.se>.
$ ddd ./linked_list
+ /bin/sh -c 'exec gdb -q -fullname '\''./linked_list'\'''
# Hello, world!
# Starting GDB...
# Running GDB (pid 19772, tty /dev/ttyp7)...
# Current language: C/C++
# Searching "vsllib/ddd.vsl"...
# Trying "/home/robertg/.ddd/vsllib/ddd.vsl"
# Trying "/usr/local/share/ddd-3.3/vsllib/ddd.vsl"
# Searching "vsllib/ddd.vsl"..."/usr/local/share/ddd-3.3/vsllib/ddd.vsl".
<- "(gdb) "
-> "set prompt (gdb) \n"
<- "(gdb) "
-> "set height 0\n"
<- "(gdb) "
-> "set width 0\n"
<- "(gdb) "
-> "set annotate 1\n"
<- "(gdb) "
-> " set verbose off\n"
<- "(gdb) "
-> "info line\n"
<- "No line number information available.\n"
<- "(gdb) "
-> "list\n"
<- "36\t else {\n"
<- "37\t return NULL;\n"
<- "38\t }\n"
<- "39\t}\n"
<- "40\t\n"
<- "41\tint\n"
<- "42\tmain()\n"
<- "43\t{\n"
<- "44\t llist *my_list;\n"
<- "45\t char *my_value = \"my_value\";\n"
<- "(gdb) "
-> "info line\n"
<- "Line 45 of \"linked_list.c\" starts at address 0x80485c6 <main+6> and ends
at 0x80485cd <main+13>.\n"
<- "\032\032/usr/home/robertg/prog/test/linked_list.c:45:613:beg:0x80485c6\n"
<- "(gdb) "
-> "output 4711\n"
<- "4711(gdb) "
-> "show language\n"
<- "The current source language is \"auto; currently c\".\n"
<- "(gdb) "
-> "show version\n"
<- "GNU gdb 4.18\n"
<- "Copyright 1998 Free Software Foundation, Inc.\n"
<- "GDB is free software, covered by the GNU General Public License, and you
are\n"
<- "welcome to change it and/or distribute copies of it under certain
conditions.\n"
<- "Type \"show copying\" to see the conditions.\n"
<- "There is absolutely no warranty for GDB. Type \"show warranty\" for
details.\n"
<- "This GDB was configured as \"i386-unknown-freebsd\".\n"
<- "(gdb) "
-> "pwd\n"
<- "Working directory /usr/home/robertg/prog/test.\n"
<- "(gdb) "
-> "info breakpoints\n"
<- "No breakpoints or watchpoints.\n"
<- "(gdb) "
-> "show history filename\n"
<- "The filename in which to record the command history is
\"/usr/home/robertg/prog/test/.gdb_history\".\n"
<- "(gdb) "
-> "show history size\n"
<- "The size of the command history is 256.\n"
<- "(gdb) "
# Reading file "/usr/home/robertg/prog/test/linked_list.c"...
# Reading file "/usr/home/robertg/prog/test/linked_list.c"...done.
# File "/usr/home/robertg/prog/test/linked_list.c" 53 lines, 822 characters
# Setting buttons...
# Setting buttons...done.
-> "info source\n"
<- "Current source file is linked_list.c\n"
<- "Compilation directory is /usr/home/robertg/prog/test/\n"
<- "Located in /usr/home/robertg/prog/test/linked_list.c\n"
<- "Contains 53 lines.\n"
<- "Source language is c.\n"
<- "Compiled with stabs debugging format.\n"
<- "(gdb) "
-> "info files\n"
<- "Symbols from \"/usr/home/robertg/prog/test/./linked_list\".\n"
<- "Local exec file:\n"
<- "\t`/usr/home/robertg/prog/test/./linked_list\', file type elf32-i386.\n"
<- "\tEntry point: 0x8048440\n"
<- "\t0x080480f4 - 0x0804810d is .interp\n"
<- "\t0x08048110 - 0x08048128 is .note.ABI-tag\n"
<- "\t0x08048128 - 0x080481c0 is .hash\n"
<- "\t0x080481c0 - 0x080482f0 is .dynsym\n"
<- "\t0x080482f0 - 0x080483ab is .dynstr\n"
<- "\t0x080483ac - 0x080483d4 is .rel.plt\n"
<- "\t0x080483d4 - 0x080483df is .init\n"
<- "\t0x080483e0 - 0x08048440 is .plt\n"
<- "\t0x08048440 - 0x0804864c is .text\n"
<- "\t0x0804864c - 0x08048652 is .fini\n"
<- "\t0x08048652 - 0x08048671 is .rodata\n"
<- "\t0x08049674 - 0x08049680 is .data\n"
<- "\t0x08049680 - 0x08049684 is .eh_frame\n"
<- "\t0x08049684 - 0x0804968c is .ctors\n"
<- "\t0x0804968c - 0x08049694 is .dtors\n"
<- "\t0x08049694 - 0x080496b4 is .got\n"
<- "\t0x080496b4 - 0x08049724 is .dynamic\n"
<- "\t0x08049724 - 0x08049740 is .bss\n"
<- "(gdb) "
-> "info program\n"
<- "The program being debugged is not being run.\n"
<- "(gdb) "
-> "set confirm off\n"
<- "(gdb) "
-> "source /var/tmp/tmp.0.BypTI2\n"
<- "(gdb) "
-> "info breakpoints\n"
<- "No breakpoints or watchpoints.\n"
<- "(gdb) "
-> "# reset\n"
<- "(gdb) "
-> "info breakpoints\n"
<- "No breakpoints or watchpoints.\n"
<- "(gdb) "
-> "display\n"
<- "(gdb) "
-> "info display\n"
<- "There are no auto-display expressions now.\n"
<- "(gdb) "
-> "set environment TERM dumb\n"
<- "(gdb) "
-> "info files\n"
<- "Symbols from \"/usr/home/robertg/prog/test/./linked_list\".\n"
<- "Local exec file:\n"
<- "\t`/usr/home/robertg/prog/test/./linked_list\', file type elf32-i386.\n"
<- "\tEntry point: 0x8048440\n"
<- "\t0x080480f4 - 0x0804810d is .interp\n"
<- "\t0x08048110 - 0x08048128 is .note.ABI-tag\n"
<- "\t0x08048128 - 0x080481c0 is .hash\n"
<- "\t0x080481c0 - 0x080482f0 is .dynsym\n"
<- "\t0x080482f0 - 0x080483ab is .dynstr\n"
<- "\t0x080483ac - 0x080483d4 is .rel.plt\n"
<- "\t0x080483d4 - 0x080483df is .init\n"
<- "\t0x080483e0 - 0x08048440 is .plt\n"
<- "\t0x08048440 - 0x0804864c is .text\n"
<- "\t0x0804864c - 0x08048652 is .fini\n"
<- "\t0x08048652 - 0x08048671 is .rodata\n"
<- "\t0x08049674 - 0x08049680 is .data\n"
<- "\t0x08049680 - 0x08049684 is .eh_frame\n"
<- "\t0x08049684 - 0x0804968c is .ctors\n"
<- "\t0x0804968c - 0x08049694 is .dtors\n"
<- "\t0x08049694 - 0x080496b4 is .got\n"
<- "\t0x080496b4 - 0x08049724 is .dynamic\n"
<- "\t0x08049724 - 0x08049740 is .bss\n"
<- "(gdb) "
-> "info program\n"
<- "The program being debugged is not being run.\n"
<- "(gdb) "
-> "help detach\n"
<- "Detach a process or file previously attached.\n"
<- "If a process, it is no longer traced, and it continues its execution. If\n"
<- "you were debugging a file, the file is closed and gdb no longer accesses
it.\n"
<- "(gdb) "
-> "help run\n"
<- "Start debugged program. You may specify arguments to give it.\n"
<- "Args may include \"*\", or \"[...]\"; they are expanded using \"sh\".\n"
<- "Input and output redirection with \">\", \"<\", or \">>\" are also
allowed.\n"
<- "\n"
<- "With no arguments, uses arguments last specified (with \"run\" or \"set
args\").\n"
<- "To cancel previous arguments and run with no arguments,\n"
<- "use \"set args\" without arguments.\n"
<- "(gdb) "
# Starting GDB...done.
# Welcome to DDD 3.3 "Blues by Night" (i386-portbld-freebsd4.3)
-> "help step\n"
<- "Step program until it reaches a different source line.\n"
<- "Argument N means do this N times (or till program stops for another
reason).\n"
<- "(gdb) "
-> "help stepi\n"
<- "Step one instruction exactly.\n"
<- "Argument N means do this N times (or till program stops for another
reason).\n"
<- "(gdb) "
-> "help next\n"
<- "Step program, proceeding through subroutine calls.\n"
<- "Like the \"step\" command as long as subroutine calls do not happen;\n"
<- "when they do, the call is treated as one instruction.\n"
<- "Argument N means do this N times (or till program stops for another
reason).\n"
<- "(gdb) "
-> "help nexti\n"
<- "Step one instruction, but proceed through subroutine calls.\n"
<- "Argument N means do this N times (or till program stops for another
reason).\n"
<- "(gdb) "
-> "help until\n"
<- "Execute until the program reaches a source line greater than the current\n"
<- "or a specified line or address or function (same args as break command).\n"
<- "Execution will also stop upon exit from the current stack frame.\n"
<- "(gdb) "
-> "help finish\n"
<- "Execute until selected stack frame returns.\n"
<- "Upon return, the value returned is printed and put in the value history.\n"
<- "(gdb) "
-> "help cont\n"
<- "Continue program being debugged, after signal or breakpoint.\n"
<- "If proceeding from breakpoint, a number N may be used as an argument,\n"
<- "which means to set the ignore count of that breakpoint to N - 1 (so that\n"
<- "the breakpoint won\'t break until the Nth time it is reached).\n"
<- "(gdb) "
-> "help signal\n"
<- "Continue program giving it signal specified by the argument.\n"
<- "An argument of \"0\" means continue program without giving it a signal.\n"
<- "(gdb) "
-> "help kill\n"
<- "Kill execution of program being debugged.\n"
<- "(gdb) "
-> "help up\n"
<- "Select and print stack frame that called this one.\n"
<- "An argument says how many frames up to go.\n"
<- "(gdb) "
-> "help down\n"
<- "Select and print stack frame called by this one.\n"
<- "An argument says how many frames down to go.\n"
<- "(gdb) "
-> "quit\n"
# Running GDB (pid 19772, tty /dev/ttyp7)...Exit 0.
# Saving history in "/home/robertg/.ddd/history"...
# Saving history in "/home/robertg/.ddd/history"...done.
# Thanks for using DDD 3.3!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- DDD 3.3 (i386-portbld-freebsd4.3) gets `Segmentation fault' signal,
Robert Gravsjo <=