[Top][All Lists]
[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