Opened 10 years ago

Closed 9 years ago

#3891 closed bug (invalid)

evacuate: strange closure types THUNK_STATIC and CONSTR_NOCAF_STATIC on ia64

Reported by: kaol Owned by:
Priority: normal Milestone:
Component: Compiler Version: 6.12.1
Keywords: Cc:
Operating System: Linux Architecture: ia64
Type of failure: Compile-time crash Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


I've been trying to get GHC to build on ia64 for a while now, bootstrapping it with 6.8.2. I never succeeded at that with 6.10, but with 6.12.1 I thought I did. I found linker flags that apparently made the build succeed and even got the stage 3 compiler compiled so I thought that it would be ok.

But now that I try to bootstrap 6.12.1 with 6.12.1, I run into trouble.

The build fails when it tries to compile utils/ghc-pwd/ghc-pwd with

ghc: internal error: evacuate: strange closure type 8
    (GHC version 6.12.1 for ia64_unknown_linux)
    Please report this as a GHC bug:
./configure: line 2666: 28415 Aborted                 "$WithGhc" -v0 --make ghc-pwd -o ghc-pwd
./configure: line 2668: utils/ghc-pwd/ghc-pwd: No such file or directory

On another try on another computer, I saw type 15 in there. These values correspond to THUNK_STATIC and CONSTR_NOCAF_STATIC and I can see that there's no cases for those in Evac.c.

Any idea about what's going on with this?

Change History (2)

comment:1 Changed 10 years ago by kaol

I did some more testing on this. Looks like LC_CTYPE triggers this bug. LC_CTYPE=C inplace/bin/ghc-stage2 fails with the above error but LC_CTYPE=fi_FI inplace/bin/ghc-stage2 works. I don't even need to give any arguments to it to trigger this. Using --info worked, with both.

This is the output of -v9:

Glasgow Haskell Compiler, Version 6.12.1, for Haskell 98, stage 2 booted by GHC version 6.8.2
Using binary package databaseghc-stage2: internal error: evacuate: strange closure type 15
    (GHC version 6.12.1 for ia64_unknown_linux)
    Please report this as a GHC bug:

comment:2 Changed 9 years ago by kaol

patch: 0
Resolution: invalid
Status: newclosed

From what I heard on IRC, this is some memory corruption issue with ia64. The RTS throws errors like this when that happens. I'm not sure what all is going on with this. I'll close this bug for now, since getting this fixed for real seems to involve resolving some deeper issues by someone who's more familiar with ia64's idiosyncrasies.

Note: See TracTickets for help on using tickets.