[Haskell-cafe] Trouble finding exception source

Denis Bueno dbueno at gmail.com
Tue Feb 26 23:13:59 EST 2008

Hi all,

I've got some code crashing with "Prelude.foldr1: empty list".  In
GHCi, the code uses too much memory (I kill it after it consumes 1GB)
to be able to use :trace and :history, but I just found out about the
-xc RTS option.  I tried that, and I get the following:

    <GHC.List.CAF>dsat: Prelude.foldr1: empty list

Now, manually going through GHC.List
I only found one CAF, namely prel_list_str, at the bottom of the file.
 However, it is late and I quite possibly missed something.  This CAF,
of course, doesn't seem a likely culprit.  I also stumbled on some
discussion of the explicit call stack
which exemplifies the behavior I've found, but doesn't seem to suggest
a way to fix it.

I'm developing on GHC 6.8.2.  I've attached my code, the output of a
cabal sdist, which requires parse-dimacs [0] and bitset [1] (both
cabalised) to build.  If you build the executable (with profiling),
you should see my behavior by running:

    ./dist/build/dsat/dsat -verify +RTS -xc

I know that the problem is somewhere in the "Backtracking" section, in
the backJump function.  But I don't know where.

Any help is appreciated.


[0] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parse-dimacs-1.0.1
[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bitset-0.5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DPLLSat-0.1.tar.gz
Type: application/x-gzip
Size: 4108 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20080226/504fefc2/DPLLSat-0.1.tar.bin

More information about the Haskell-Cafe mailing list