Opened 9 years ago

Closed 8 years ago

#5163 closed bug (fixed)

LLVM: profthreaded failures when GHC built with llvm

Reported by: dterei Owned by: dterei
Priority: normal Milestone: 7.4.1
Component: Compiler (LLVM) Version: 7.0.3
Keywords: Cc:
Operating System: Linux Architecture: x86_64 (amd64)
Type of failure: Runtime crash Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description (last modified by dterei)

When GHC is built with LLVM there are a large number of testsuite failures, all in the 'profthreaded' way. Otherwise things work great. The failures are segfault failures.

testsuite run attach of GHC built on 64bit linux with ghc-7.0.3 with the llvm backend (llvm-2.8)

Can't attach full log as too big but summary is

OVERALL SUMMARY for test run started at Wed Apr 27 00:43:07 PDT 2011
    2727 total tests, which gave rise to
   12743 test cases, of which
       0 caused framework failures
    2377 were skipped

   10003 expected passes
     292 expected failures
       1 unexpected passes
      70 unexpected failures

Unexpected passes:
   conc016(threaded2)

Unexpected failures:
   1185(threaded1)
   2783(profthreaded)
   4808(profthreaded)
   T3016(optllvm)
   T3807(normal)
   T3822(hpc,ghci)
   annrun01(normal,hpc,optasm,ghci,threaded1,threaded2,optllvm)
   arr003(profthreaded)
   arr004(profthreaded)
   arr007(profthreaded)
   arr008(profthreaded)
   cgrun016(profthreaded)
   cgrun045(profthreaded)
   cgrun051(profthreaded)
   cgrun059(profthreaded)
   cgrun064(normal,hpc,optasm,profasm,ghci,threaded1,threaded2,profthreaded,optllvm)
   conc009(profthreaded)
   conc021(profthreaded)
   conc040(profthreaded)
   conc064(profthreaded)
   conc068(profthreaded)
   dph-diophantine-opt(normal,threaded1,threaded2)
   dsrun005(profthreaded)
   dsrun007(profthreaded)
   dsrun008(profthreaded)
   dynamic001(normal,hpc,optasm,profasm,ghci,threaded1,threaded2,profthreaded,optllvm)
   exceptions001(profthreaded)
   exitWith001(profthreaded)
   ffi007(profthreaded)
   ffi008(profthreaded)
   forkprocess01(threaded1)
   fptrfail01(profthreaded)
   getDirContents002(profthreaded)
   getGroupEntryForName(profthreaded)
   getUserEntryForName(profthreaded)
   hpc_markup_multi_001(normal)
   hpc_markup_multi_002(normal)
   hpc_markup_multi_003(normal)
   openFile002(profthreaded)
   spec001(normal,hpc,optasm,profasm,optllvm)
   system001(profthreaded)

Change History (5)

comment:1 Changed 9 years ago by dterei

Description: modified (diff)

comment:2 Changed 9 years ago by dterei

Architecture: Unknown/Multiplex86_64 (amd64)
Operating System: Unknown/MultipleLinux

Issue seems to be restricted to 64bit. Results for llvm built 32bit GHC on linux is below:

OVERALL SUMMARY for test run started at Sat Apr 30 02:43:00 PDT 2011
    2727 total tests, which gave rise to
   12374 test cases, of which
       0 caused framework failures
    2233 were skipped

    9812 expected passes
     293 expected failures
       1 unexpected passes
      35 unexpected failures

Unexpected passes:
   conc016(threaded2)

Unexpected failures:
   2910(dyn)
   CPUTime001(threaded2)
   T3294(normal)
   T3822(hpc,ghci)
   T4801(normal)
   T5113(normal)
   annrun01(normal,hpc,optasm,ghci,threaded1,threaded2,optllvm)
   dph-diophantine-opt(normal,threaded1,threaded2)
   dynamic001(normal,hpc,optasm,profasm,ghci,threaded1,threaded2,dyn,profthreaded,optllvm)
   heapprof001(prof_hc_hb)
   hpc_markup_multi_001(normal)
   hpc_markup_multi_002(normal)
   hpc_markup_multi_003(normal)
   spec001(normal,hpc,optasm,profasm)

Only difference here from -fasm built ghc is:

   2910 (dyn)
   heapprof001(prof_hc_hb)

Not sure if issue is restricted to Linux yet. More likely 64bit regardless of platform but hard to confirm given experimental nature of 64bit on other platforms.

comment:3 Changed 9 years ago by igloo

Milestone: 7.4.1

comment:4 Changed 8 years ago by dterei

So I solved a mangler issue on x64 recently that only seemed to trigger with profiling mode. Hopefully this solved the problem, testing now.

comment:5 Changed 8 years ago by dterei

Resolution: fixed
Status: newclosed

GHC built with LLVM using llvm 3.0 and GHC 7.2.2 works perfectly! Must have been #4211 or llvm itself.

Note: See TracTickets for help on using tickets.