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
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