Re: DDD 3.3.11 (i686-apple-darwin9.1.0) gets `Bus error' signal

Roger Mc Murtrie <[email protected]> Thu, 27 Dec 2007 11:32:26 +1100
Newsgroups gmane.comp.debugging.ddd.bugs
Message-ID <[email protected]>
Problem appears to be caused by GetFileDatabase of file ddd.C being  
called with the filename of a non-existent file.
filename of non-existant file: /Users/Roger/.ddd/init
(/Users/Roger/.ddd contains init#, log, sessions and themes all dated  
three days ago)
Result is null for the GetFileDatabase instruction:
std::ifstream is(filename.chars());

When attempt is made to access is, crash  occurs (particularly for  
is.close).
I suggest that GetFileDatabase should check for filename of a non- 
existent file and take appropriate action.

I will now try and find out why GetFileDatabase is being called for a  
non-existent file, or why /Users/Roger/.ddd/init doesn't exist.

Roger

On 25/12/2007, at 12:37 AM, Roger Mc Murtrie wrote:

>> Backtrace for gdb result of setting breakpoint at malloc_error_break:
>>
>> (gdb) b malloc_error_break
>> Breakpoint 1 at 0xe69ee
>> (gdb) run
>> Starting program: /Users/Roger/Downloads/ddd-3.3.11/ddd/ddd
>> Reading symbols for shared libraries +++++++++++++++++++++ 
>> +.................................................... done
>> Breakpoint 1 at 0x939099f1
>> ddd(97245) malloc: *** error for object 0xfffffe: Non-aligned  
>> pointer being freed
>> *** set a breakpoint in malloc_error_break to debug
>>
>> Breakpoint 1, 0x939099f1 in malloc_error_break ()
>> (gdb) bt
>> #0  0x939099f1 in malloc_error_break ()
>> #1  0x939049df in szone_error ()
>> #2  0x93829b83 in szone_free ()
>> #3  0x938299ed in free ()
>> #4  0x9385bc7a in fclose ()
>> #5  0x00a0b635 in std::__basic_file<char>::close ()
>> #6  0x009b9086 in std::basic_filebuf<char, std::char_traits<char>  
>> >::close ()
>> #7  0x00009892 in GetFileDatabase (filename=@0xbffff5a4) at ddd.C: 
>> 3440
>> #8  0x0001fbb6 in pre_main_loop (argc=1, argv=<value temporarily  
>> unavailable, due to optimizations>) at ddd.C:2115
>> #9  0x00027aa8 in main (argc=0, argv=0x0) at ddd.C:3172
>> (gdb)
>>
>>
>>
>> On 24/12/2007, at 6:58 PM, Roger Mc Murtrie wrote:
>>> Further to my previous message, I tried running ddd with the  
>>> following result:
>>>
>>> :~/Downloads/ddd-3.3.11 Roger$ddd/ddd
>>> ddd(79830) malloc: *** error for object 0xfffffe: Non-aligned  
>>> pointer being freed
>>> *** set a breakpoint in malloc_error_break to debug
>>>
>>> I'm not too familiar with gdb; but if I can find time, I'l try  
>>> running under gdb with the recommended breakpoint to see what  
>>> happens.
>>>
>>> Regards
>>> Roger
>>>
>>>
>>> On 24/12/2007, at 4:48 PM, Roger Mc Murtrie wrote:
>>>> Intel Mac-mini
>>>> OS X 10.5.1 (leopard)
>>>> Xcode version 3.0
>>>>
>>>> After make of DDD
>>>> Running make check produced
>>>> Making check in ddd
>>>> cat Ddd | cat | \
>>>>       /usr/bin/sed -n -f ./ad2c.sed > Ddd.ad.h~ && mv Ddd.ad.h~  
>>>> Ddd.ad.h
>>>> if g++ -DHAVE_CONFIG_H -I. -I. -I.  -I./.. -isystem /usr/X11/ 
>>>> include   -O2 -g -Wall -W -Wwrite-strings -trigraphs  -MT  
>>>> resources.o -MD -MP -MF ".deps/resources.Tpo" -c -o resources.o  
>>>> resources.C; \
>>>>       then mv -f ".deps/resources.Tpo" ".deps/resources.Po"; else  
>>>> rm -f ".deps/resources.Tpo"; exit 1; fi
>>>> /bin/sh ../libtool --mode=link --tag=CXX g++  -O2 -g -Wall -W - 
>>>> Wwrite-strings -trigraphs    -o ddd ..............
>>>>
>>>> MALLOC_CHECK_=2 \
>>>>       DDD_HOME=./.. \
>>>>       XUSERFILESEARCHPATH=%N XAPPLRESDIR=. \
>>>>       ./ddd  cxxtest
>>>>
>>>> Internal error (Bus error).
>>>>
>>>> Oops!  You have found a bug in DDD.
>>>>
>>>> Running ddd --configuration also produced Bus error.
>>>>
>>>> Compiler:
>>>> i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)
>>>>
>>>> Debugger:
>>>> GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct  2  
>>>> 04:07:49 UTC 2007)
>>>> This GDB was configured as "i386-apple-darwin".
>>>>
>>>> cat ~/.ddd/log
>>>> GNU DDD 3.3.11 (i686-apple-darwin9.1.0)
>>>> 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.0.1 (Apple Inc. build 5465)
>>>> Requires X11R6, Xt11R6, Motif 2.1 (GNU/LessTif Version 2.1  
>>>> Release 0.95.0)
>>>> Includes XPM 3.4.11, Athena Panner (7000002L), DDD core
>>>> Built 2007-12-24 by Roger Mc Murtrie <[email protected]>.
>>>> $  ./ddd cxxtest
>>>> !  Bus error
>>>

_______________________________________________
bug-ddd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-ddd