Opened 9 years ago

Closed 9 years ago

#752 closed bug (fixed)

ghc-6.4.2 not running under solaris

Reported by: maeder@… Owned by:
Priority: normal Milestone: 6.4.3
Component: Compiler Version: 6.4.2
Keywords: Cc:
Operating System: Solaris Architecture: sparc
Type of failure: Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description (last modified by simonmar)

ghc-6.4.2 created under solaris goes to sleep and does not terminate even for the simplest hs-file.

-bash-3.00$ ghc -v --make hello.hs
Glasgow Haskell Compiler, Version 6.4.2, for Haskell 98, compiled by GHC version 6.4.2
Using package config file: /local/home/maeder/ghc-6.4.2/lib/ghc-6.4.2/package.conf
Using package config file: /home/maeder/.ghc/sparc-solaris2-6.4.2/package.conf
Hsc static flags: -static
*** Chasing dependencies:
Chasing modules from: hello.hs
Stable modules:
*** Compiling Main             ( hello.hs, interpreted ):
compile: input file hello.hs
*** Checking old interface for Main:
Compiling Main             ( hello.hs, hello.o )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
    Result size = 10
*** Simplify:
    Result size = 10
    Result size = 8
    Result size = 8
*** Tidy Core:
    Result size = 8
*** CorePrep:
    Result size = 10
*** Stg2Stg:
*** CodeGen:
*** CodeOutput:
*** C Compiler
gcc -x c /tmp/ghc5623.hc -o /tmp/ghc5623.raw_s -w -fno-strict-aliasing -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=604 -I . -I /local/home/maeder/ghc-6.4.2/lib/ghc-6.4.2/include
Reading specs from /export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.4/specs
Configured with: ../gcc-3.4.4/configure --prefix=/usr/local/lang -program-suffix=_3.4.4 --with-gnu-as --with-as=/usr/local/bin/gnu-as --with-ld=/usr/ccs/bin/ld --enable-version-specific-runtime-libs --enable-languages=c,c++,f77 : (reconfigured) ../gcc-3.4.4/configure --prefix=/usr/local/lang -program-suffix=_3.4.4_s10 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-version-specific-runtime-libs --enable-languages=c,c++,f77 : (reconfigured) ../gcc-3.4.4/configure --prefix=/usr/local/lang -program-suffix=_3.4.4 --with-gnu-as --with-as=/usr/local/bin/gnu-as --with-gnu-ld --with-ld=/usr/local/bin/gnu-ld --enable-version-specific-runtime-libs --enable-languages=c,c++,f77 : (reconfigured) ../gcc-3.4.4/configure --prefix=/usr/local/lang -program-suffix=_3.4.4_s10 --with-gnu-as --with-as=/usr/local/bin/gnu-as --with-gnu-ld --with-ld=/usr/local/bin/gnu-ld --enable-version-specific-runtime-libs --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.4
 /export/local/mirror/sparc-solaris/lang/bin/../libexec/gcc/sparc-sun-solaris2.10/3.4.4/cc1 -quiet -v -I . -I /local/home/maeder/ghc-6.4.2/lib/ghc-6.4.2/include -iprefix /export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.4/ -D__GLASGOW_HASKELL__=604 /tmp/ghc5623.hc -quiet -dumpbase ghc5623.hc -mcpu=v7 -auxbase-strip /tmp/ghc5623.raw_s -O -Wimplicit -w -version -fno-strict-aliasing -o /tmp/ghc5623.raw_s
ignoring nonexistent directory "/export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.4/../../../../sparc-sun-solaris2.10/include"
ignoring duplicate directory "/usr/local/lang/lib/gcc/sparc-sun-solaris2.10/3.4.4/include"
ignoring nonexistent directory "/usr/local/lang/lib/gcc/sparc-sun-solaris2.10/3.4.4/../../../../sparc-sun-solaris2.10/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 /local/home/maeder/ghc-6.4.2/lib/ghc-6.4.2/include
 /export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.4/include
 /usr/local/include
 /usr/local/lang/include
 /usr/include
End of search list.
GNU C version 3.4.4 (sparc-sun-solaris2.10)
        compiled by GNU C version 3.4.4.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

Attachments (5)

ghc-regress.log (18.5 KB) - added by maeder@… 9 years ago.
output of "gmake" in testsuite/tests/ghc-regress
ghc-regress.log2.gz (11.9 KB) - added by maeder@… 9 years ago.
gezipped output using timeout made by ghc-6.4.1
ghc-regress.log3.gz (81.7 KB) - added by maeder@… 9 years ago.
ghc-regress-result of ghc-6.4.1
ghc-regress.log4.gz (99.8 KB) - added by maeder@… 9 years ago.
full ghc-regress results of ghc-6.4.1 (delete ghc-regress.log3.gz)
ghc-regress-6.4.2.log.gz (61.6 KB) - added by maeder@… 9 years ago.
full ghc-regress results of ghc-6.4.2

Download all attachments as: .zip

Change History (9)

Changed 9 years ago by maeder@…

output of "gmake" in testsuite/tests/ghc-regress

Changed 9 years ago by maeder@…

gezipped output using timeout made by ghc-6.4.1

comment:1 Changed 9 years ago by simonmar

  • Description modified (diff)

Changed 9 years ago by maeder@…

ghc-regress-result of ghc-6.4.1

Changed 9 years ago by maeder@…

full ghc-regress results of ghc-6.4.1 (delete ghc-regress.log3.gz)

comment:2 Changed 9 years ago by maeder@…

I've created ghc-6.4.2 by removing 'SRC_HC_OPTS += -threaded' in 'ghc/compiler/Makefile'. This compiler works for me. (It may be used as solaris binary distribution, but OpenGL is not included)

http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/solaris/versions/ghc-6.4.2-sparc-sun-solaris2.tar.bz2

Running the ghc regression tests reveals a couple of problems. I've compiled the 'timout' program also without '-threaded'.

I had to terminate the threaded versions of conc018, conc020, conc023, conc026 and net001 by hand. (I'm not sure if their behaviour is deterministic.)

cc04 (and ffi012) reported:
'calling convention not supported on this architecture: stdcall'

ffi004 (arr016, ffi009 and maessen-hashtab) produced 'Segmentation Fault'

I'll attach my log file having the summary below. I think, my previously attached files and also my initial verbose output of a non-working ghc can be removed, Simon M.

Cheers Christian

OVERALL SUMMARY for test run started at Tue May  9 14:39:46 CEST 2006
    1365 total tests, which gave rise to
    4157 test cases, of which
       0 caused framework failures
     580 were skipped

    3457 expected passes
      51 expected failures
       0 unexpected passes
      69 unexpected failures

Unexpected failures:
   IOError001(normal,opt,prof,threaded)
   TH_class1(normal)
   TH_dupdecl(normal)
   TH_fail(normal)
   TH_reifyDecl1(normal)
   TH_repGuard(normal)
   TH_repPatSig(normal)
   TH_repPrim(normal)
   TH_spliceE3(normal)
   TH_spliceInst(normal)
   TH_tuple1(normal)
   arr016(normal,opt,ghci,threaded)
   barton-mangler-bug(normal,opt,prof,ghci,threaded)
   conc018(threaded)
   conc020(threaded)
   conc023(threaded)
   conc026(threaded)
   conc056(threaded)
   ffi004(normal,opt,prof,threaded)
   ffi009(normal,opt,prof,threaded)
   galois_raytrace(prof)
   ghciprog004(normal)
   hGetBuf001(threaded)
   hGetLine002(normal,opt,prof,ghci,threaded)
   hGetPosn001(normal,opt,prof,ghci,threaded)
   hSeek004(normal,opt,prof,ghci,threaded)
   maessen_hashtab(opt,prof)
   net001(threaded)
   net002(threaded)
   openFile003(normal,opt,prof,ghci,threaded)
   readFile001(normal,opt,prof,ghci,threaded)
   rnfail043(normal)

Changed 9 years ago by maeder@…

full ghc-regress results of ghc-6.4.2

comment:3 Changed 9 years ago by simonmar

  • Milestone changed from 6.4.2 to 6.4.3

comment:4 Changed 9 years ago by simonmar

  • Resolution set to fixed
  • Status changed from new to closed

I believe I have now fixed this, both in the HEAD and the 6-4-branch.

It's a long story, but boils down to the fact that we weren't #defining _REENTRANT, which is necessary to get the right thread-safe version of errno defined on Solaris.

Note: See TracTickets for help on using tickets.