bug-ddd
[Top][All Lists]
Advanced

[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!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]