Re: Re: Crash at startup of DDD for Fortran programs
GUEZ Lionel <[email protected]>
| Newsgroups | gmane.comp.debugging.ddd.general |
|---|---|
| Organization | LMD |
| Message-ID | <[email protected]> |
> On Wed, 2008-12-17 at 14:40 +0100, GUEZ Lionel wrote:
> > Hello. DDD displays an error at startup when I use it on any Fortran
> > program. Here is a test on a two-line program :
> >
> > $ cat plouf.f
> > print *, "plouf"
> > end
> >
> > $ gfortran -g -O0 plouf.f
> >
> > $ ddd a.out
> >
> > The DDD console opens with the following message :
> >
> > "GNU DDD 3.3.11 (i586-mandriva-linux-gnu), by Dorothea LÃtkehaus and
> > Andreas Zeller.
> > Copyright  1995-1999 Technische UniversitÃt Braunschweig, Germany.
> > Copyright  1999-2001 UniversitÃt Passau, Germany.
> > Copyright  2001 UniversitÃt des Saarlandes, Germany.
> > Copyright  2001-2004 Free Software Foundation, Inc.
> > Using host libthread_db library "/lib/i686/libthread_db.so.1".
> > (gdb)
> > Segmentation fault"
> >
> > and two dialog boxes appear saying :
> >
> > "GDB terminated abnormally (Segmentation fault)"
>
> ^
> This line says that GDB (the line-oriented debugger underneath DDD)
> terminated abnormally, which it should not do. It may be that DDD has
> told it do do something silly (using too much memory for example), but
> in an ideal world no program should ever crash on any input. You can
> find out what commands have been sent to GDB by examining ~/.ddd/log and
> looking for the lines which begin with "->". If I were you I would try
> debugging your program with gdb directly. By repeating these commands in
> GDB you may be able to replicate the crash, and then you can send a bug
> report to the GDB maintainers.
>
> Peter Wainwright
>
> > "/libgfortran/fmain.c: No such file or directory"
> >
> > Does anyone have a suggestion?
> > Sincerely,
> > Lionel GUEZ
Hello. Thank you for your answer. Again, the test Fortran program I am using
has the following two lines:
print *, "plouf"
end
That is all and that is enough to crash DDD. This Fortran program does not
require much memory!
Please find enclosed the file ".ddd/log" created after the crash. I do not
understand the error messages in that file.
Finally, I have tried running GDB directly on the same program. It works fine:
---------------------------------
$ gdb a.out
GNU gdb 6.3-8mdv2007.0 (Mandriva Linux release 2007.0)
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 "i586-mandriva-linux-gnu"...Using host libthread_db
library "/lib/i686/libthread_db.so.1".
(gdb) run
Starting program: /usr/local/guez/a.out
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xbfffe000
plouf
Program exited normally.
(gdb) quit
---------------------------------
So the problem really lies with DDD.
Can you not reproduce the crash with my two-line program?
Sincerely,
Lionel GUEZ
_______________________________________________
ddd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/ddd
log
(text/plain, 6.2 KB)
GNU DDD 3.3.11 (i586-mandriva-linux-gnu) Copyright (C) 1995-1999 Technische Universität Braunschweig, Germany. Copyright (C) 1999-2001 Universität Passau, Germany. Copyright (C) 2001 Universität des Saarlandes, Germany. Copyright (C) 2001-2004 Free Software Foundation, Inc. Compiled with GCC 4.1.1 20060724 (prerelease) (4.1.1-3mdk), GNU libc 2.4 Requires X11R6, Xt11R6, Motif 2.1 (GNU/LessTif Version 2.1 Release 0.93.94) Includes XPM 3.4.11, Athena Panner (7000002L), DDD core Built 2006-08-29 by Goetz Waschk <[email protected]>. $ ddd a.out + /bin/sh -c 'exec gdb -q -fullname '\''a.out'\''' # Hello, world! # Opening session "10e4ce6572000122959995000000102570022"... # Enabling core dumps... # Enabling core dumps...done. # Running GDB (pid 10620, tty /dev/pts/2)... # Current language: C/C++ # Searching "vsllib/ddd.vsl"... # Trying "/user/guez/.ddd/vsllib/ddd.vsl" # Trying "/usr/share/ddd-3.3.11/vsllib/ddd.vsl" # Searching "vsllib/ddd.vsl"..."/usr/share/ddd-3.3.11/vsllib/ddd.vsl". # Creating "/user/guez/.ddd/"... # Creating "/user/guez/.ddd/"...done. # Creating "/user/guez/.ddd/sessions/"... # Creating "/user/guez/.ddd/sessions/"...done. # Creating "/user/guez/.ddd/themes/"... # Creating "/user/guez/.ddd/themes/"...done. 2008.12.18 12:32:30 <- "Using host libthread_db library \"/lib/i686/libthread_db.so.1\".\n" # Creating "/user/guez/.ddd/sessions/10e4ce6572000122959995000000102570022/"... # Creating "/user/guez/.ddd/sessions/10e4ce6572000122959995000000102570022/"...done. # Saving session in "/user/guez/.ddd/sessions/10e4ce6572000122959995000000102570022/init"... # Saving session in "/user/guez/.ddd/sessions/10e4ce6572000122959995000000102570022/init"...done. 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "set prompt (gdb) \n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "set height 0\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "set width 0\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "set annotate 1\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> " set verbose off\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "info line\n" 2008.12.18 12:32:30 <- "No line number information available.\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "list\n" 2008.12.18 12:32:30 <- "3\t../../../libgfortran/fmain.c: No such file or directory.\n" "\tin ../../../libgfortran/fmain.c\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "info line\n" 2008.12.18 12:32:30 <- "Line number 0 is out of range for \"../../../libgfortran/fmain.c\".\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "output 4711\n" 2008.12.18 12:32:30 <- "4711" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "show language\n" 2008.12.18 12:32:30 <- "The current source language is \"auto; currently c\".\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "show version\n" 2008.12.18 12:32:30 <- "GNU gdb 6.3-8mdv2007.0 (Mandriva Linux release 2007.0)\n" "Copyright 2004 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 \"i586-mandriva-linux-gnu\".\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "pwd\n" 2008.12.18 12:32:30 <- "Working directory /usr/local/guez.\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "info breakpoints\n" 2008.12.18 12:32:30 <- "No breakpoints or watchpoints.\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "show history filename\n" 2008.12.18 12:32:30 <- "The filename in which to record the command history is \"/usr/local/guez/.gdb_history\".\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "show history size\n" 2008.12.18 12:32:30 <- "The size of the command history is 1000.\n" 2008.12.18 12:32:30 <- "(gdb) " # Reading file "/libgfortran/fmain.c"... # Reading file "/libgfortran/fmain.c"...No such file or directory. 2008.12.18 12:32:30 -> "info source\n" 2008.12.18 12:32:30 <- "Current source file is ../../../libgfortran/fmain.c\n" "Compilation directory is /home/qateam/build/gcc/BUILD/gcc-4.1.2/obj-i586-mandriva-linux-gnu/i586-mandriva-linux-gnu/libgfortran\n" "Source language is c.\n" "Compiled with DWARF 2 debugging format.\n" "Does not include preprocessor macro info.\n" 2008.12.18 12:32:30 <- "(gdb) " # Reading file "../../../libgfortran/fmain.c" from GDB... 2008.12.18 12:32:30 -> "list ../../../libgfortran/fmain.c:1,1000000\n" 2008.12.18 12:32:30 <- "1\tin ../../../libgfortran/fmain.c\n" 2008.12.18 12:32:30 <- "(gdb) " # Reading file "../../../libgfortran/fmain.c" from GDB...failed. # Reading file "/libgfortran/fmain.c"... ! /libgfortran/fmain.c: No such file or directory # Reading file "/libgfortran/fmain.c"...No such file or directory. 2008.12.18 12:32:30 -> "info source\n" 2008.12.18 12:32:30 <- "Current source file is ../../../libgfortran/fmain.c\n" "Compilation directory is /home/qateam/build/gcc/BUILD/gcc-4.1.2/obj-i586-mandriva-linux-gnu/i586-mandriva-linux-gnu/libgfortran\n" "Source language is c.\n" "Compiled with DWARF 2 debugging format.\n" "Does not include preprocessor macro info.\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "info sources\n" 2008.12.18 12:32:30 <- "Source files for which symbols have been read in:\n" "\n" "../../../libgfortran/fmain.c\n" "\n" "Source files for which symbols will be read in on demand:\n" "\n" "crtn.S, /home/gb/rpm/BUILD/glibc-2.4.90/build-i586-linux/csu/crtn.S, fmain.c, /usr/local/guez/plouf.f, crti.S, /home/gb/rpm/BUILD/glibc-2.4.90/build-i586-linux/csu/crti.S, init.c\n" 2008.12.18 12:32:30 <- "(gdb) " 2008.12.18 12:32:30 -> "info line main\n" # Running GDB (pid 10620, tty /dev/pts/2)...Segmentation fault. # Saving options in "/user/guez/.ddd/init"... # Saving options in "/user/guez/.ddd/init"...done. # Deleting session "10e4ce6572000122959995000000102570022"... # Current session is [none]. # Deleting session "10e4ce6572000122959995000000102570022"...done. # Saving history in "/user/guez/.ddd/history"... # Saving history in "/user/guez/.ddd/history"...done. # Thanks for using DDD 3.3.11!