[jhc] jhc 0.8 internal error (LetFloat)

John Meacham john at repetae.net
Sun Feb 12 00:25:34 CET 2012


Hmm.. looks like an interaction of the push-case optimization combined
with a concurrent inlining is tickling a bug in the simplifier...

   John

On Sat, Feb 11, 2012 at 2:31 PM, Roman Cheplyaka <roma at ro-che.info> wrote:
> The source is here:
> https://github.com/feuerbach/regex-applicative/zipball/576df7b5be5734f66b632505d9b9e1d495b941c1
>
> Clearing the cache didn't help, so there's a good chance that you'll be
> able to reproduce this. Just in case, I also attached the flint output
> (both ordinary and verbose).
>
> * John Meacham <john at repetae.net> [2012-02-11 13:41:23-0800]
>> sure, if you could post the source, that would be useful.
>>
>> Whenever encountering a bug like this, it is good to clear your cache
>> (./jhc --purge-cache, which will delete all your .ho files) and
>> recompile with '-flint' on the command line. that will run the
>> typechecker after every transformation so will catch bugs earlier.
>> Depending on the type of bug, -fe-verbose will not pretty print the
>> output names so you will get the original mangled ones, harder to
>> read, but if you need to correlate code between two core dumps it is
>> handy.
>>
>> Ideally, we will be able to capture a before and after pair of dumps.
>>
>>     John
>>
>> On Sat, Feb 11, 2012 at 1:32 PM, Roman Cheplyaka <roma at ro-che.info> wrote:
>> > jhc --build-hl regex-applicative.yaml
>> > jhc 0.8.0 (mydniquipepo-32)
>> > Creating library from description file: "regex-applicative.yaml"
>> > Reading: "regex-applicative.yaml"
>> > Finding Dependencies...
>> > Using Ho Cache: '/home/feuerbach/.jhc/cache'
>> > Text.Regex.Applicative  [./Text/Regex/Applicative.hs]
>> > Text.Regex.Applicative.Interface [./Text/Regex/Applicative/Interface.hs]
>> > Text.Regex.Applicative.Object [./Text/Regex/Applicative/Object.hs]
>> > Text.Regex.Applicative.Compile [./Text/Regex/Applicative/Compile.hs] <~/.jhc/cache/kb3lu73uegff4f51c0lq30kqlr.ho>
>> > Text.Regex.Applicative.Types [./Text/Regex/Applicative/Types.hs] <~/.jhc/cache/kgtlpnnmdsr78aljjmcqn6s0ti.ho>
>> > Text.Regex.Applicative.StateQueue [./Text/Regex/Applicative/StateQueue.hs] <~/.jhc/cache/sp3vi8t4kqgsfurdlkpa71sjp9.ho>
>> > Fresh: <~/.jhc/cache/kgtlpnnmdsr78aljjmcqn6s0ti.ho>
>> > Fresh: <~/.jhc/cache/kb3lu73uegff4f51c0lq30kqlr.ho>
>> > Fresh: <~/.jhc/cache/sp3vi8t4kqgsfurdlkpa71sjp9.ho>
>> > Typechecking...
>> > [1 of 3] Text.Regex.Applicative.Object(.............................................)
>> > [2 of 3] Text.Regex.Applicative.Interface(.............................................)
>> > [3 of 3] Text.Regex.Applicative(.............................................)
>> > Compiling...
>> > [1 of 3] Text.Regex.Applicative.Object<.....................
>> >>>> Exception thrown
>> > Writing: hs.out_lint-before-FloatOutward-Init.jhc_core
>> > LetFloat: could not find x38630396::Unknown
>> > Internal Error
>> >
>> > I attached the generated core file. I can also publish the source code that
>> > triggered the bug, if it helps.
>> >
>> > --
>> > Roman I. Cheplyaka :: http://ro-che.info/
>> >
>> > _______________________________________________
>> > jhc mailing list
>> > jhc at haskell.org
>> > http://www.haskell.org/mailman/listinfo/jhc
>> >
>
> --
> Roman I. Cheplyaka :: http://ro-che.info/



More information about the jhc mailing list