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
(http://haskell.org/ghc/docs/latest/html/libraries/base/src/GHC-List.html)
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
(http://hackage.haskell.org/trac/ghc/wiki/ExplicitCallStack/StackTraceExperience)
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.

-- 
                              Denis

[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

Attachment: DPLLSat-0.1.tar.gz
Description: GNU Zip compressed data

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to