guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Any known problems with 1.4, (read-enable 'positions) and debugging?


From: Dirk Herrmann
Subject: Re: Any known problems with 1.4, (read-enable 'positions) and debugging?
Date: Sat, 16 Mar 2002 09:17:58 +0100 (MET)

On Wed, 13 Mar 2002, Rob Browning wrote:

> 
> I was trying to track down a problem in some code using 1.4, so I
> turned on
> 
>         --with-threads \
>         --enable-debug-freelist \
>         --enable-debug-malloc \
>         --enable-guile-debug
> 
> and I edited configure.in to add
> 
>   CFLAGS="$CFLAGS -DSCM_DEBUG_CELL_ACCESSES=1"
> 
> I also added to the code I was trying to test:
> 
>   (debug-enable 'backtrace)
>   (debug-enable 'debug)
>   (read-enable 'positions)
> 
> Then with this debugging 1.4, I ran in to a new failure (not the one I
> was originally trying to diagnose) that looked like this
> 
>   3 segments total (2:6006, 1:46023, 1:24012)
>       996 2-cells in segment 0
>   3 segments total (2:6006, 1:46023, 1:24012)
>       996 2-cells in segment 0
>   Bad cell in freelist on newcell 321632: 0'th elt
> 
> After some experimentation, I found that if I commented out the
> (read-enable 'positions) command, the newcell problem vanished.
> 
> Any idea why?  Is this a known issue, or is 'positions not likely to
> be related to the problem.

Just to let you know, you can get (hopefully) much closer to the source of
such heap problems if you compile guile using
  make CFLAGS="-g -O2 -Wall -W -DSCM_DEBUG=1"
and then run your examples.  This enables a lot of checks, one of which is
to check every cell that is accessed for being valid.

BTW, I always run the test suite with that setting.

Best regards
Dirk Herrmann




reply via email to

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