Opened 5 years ago

Closed 4 years ago

#4408 closed bug (fixed)

dph-words-opt fails to compile

Reported by: daniel.is.fischer Owned by: benl
Priority: normal Milestone: 7.4.1
Component: Test Suite Version: 7.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description

=====> dph-words-opt(normal) 1313 of 2608 [0, 29, 0]
cd ./dph/words && '/home/dafis/Haskell/Hacking/ratstuff/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -optl-lz --make -o dph-words-opt Main  -Odph -funbox-strict-fields -fcpr-off -package dph-par -package dph-prim-par  >dph-words-opt.comp.stderr 2>&1
Compile failed (status 25344) errors were:
[1 of 2] Compiling WordsVect        ( WordsVect.hs, WordsVect.o )

*** unexpected failure for dph-words-opt(normal)

Haven't yet found out why.

Change History (10)

comment:1 Changed 5 years ago by benl

  • Owner set to benl

comment:2 Changed 5 years ago by benl

This one seems to work for me. The current build logs in cvs-ghc show it's working on their x86_64 machine but not on the i386 one. I've tried it on OSX and an i386 Ubuntu VM and can't get it to fail.

Can you run the compile directly and post the error message?
What platform are you on?

comment:3 Changed 5 years ago by daniel.is.fischer

I'm on i686, linux. I'm just building a new HEAD to test some of my code, will see whether it works then. In the meantime I'll try the last one again, will be a few minutes.

comment:4 Changed 5 years ago by daniel.is.fischer

Aha.

<command line>: the dph-par package is not installed.

That is from the make install'ed ghc, the inplace stage2 is unhappily compiling at ~60% memory at the moment, might be necessary to kill it soon.

comment:5 Changed 5 years ago by daniel.is.fischer

Yup, had to kill it. Used more than 1G of virtual memory (~600M resident), my poor HD loudly complained about swapping and the whole computer almost ground to a halt.

Compiling WordsVect was at about three and a half minutes CPU time and more than twenty wall clock time. I suppose the test driver got impatient and killed it too.

comment:6 Changed 5 years ago by daniel.is.fischer

On an otherwise relatively idle box, with the additional +RTS -M700M -RTS command line flag, the compile went through, but it took about six minutes. timeout-killed in the testsuite, I bet.

Btw, the executable weighs in at 34.3MB. Compiling with -O instead of -Odph is a bit more benign, but stil abysmal.

comment:7 Changed 5 years ago by rl

Optimisation of DPH programs is currently a bit broken but we are working on it. It is well possible that fixing that particular problem will also fix the test.

As to the code size, that's almost certainly caused by #4387.

comment:8 Changed 5 years ago by daniel.is.fischer

For the record, without +RTS -M:

$ ~/Haskell/Hacking/ratstuff/inplace/bin/ghc-stage2 -fforce-recomp +RTS -sstderr -RTS
 -dcore-lint -dcmm-lint -no-user-package-conf -rtsopts --make -o dph-words-opt Main
 -Odph -funbox-strict-fields -fcpr-off -package dph-par -package dph-prim-par
/home/dafis/Haskell/Hacking/ratstuff/inplace/lib/ghc-stage2
 -B/home/dafis/Haskell/Hacking/ratstuff/inplace/lib -pgmc /usr/bin/gcc
 -pgma /usr/bin/gcc -pgml /usr/bin/gcc -pgmP /usr/bin/gcc -E -undef -traditional
 -fforce-recomp -dcore-lint -dcmm-lint -no-user-package-conf -rtsopts --make
 -o dph-words-opt Main -Odph -funbox-strict-fields -fcpr-off -package dph-par
 -package dph-prim-par +RTS -sstderr                                
[1 of 2] Compiling WordsVect        ( WordsVect.hs, WordsVect.o )                     
[2 of 2] Compiling Main             ( Main.hs, Main.o )                               
Linking dph-words-opt ...                                                             
  82,219,034,696 bytes allocated in the heap                                          
   8,574,044,752 bytes copied during GC                                               
     524,376,864 bytes maximum residency (20 sample(s))                               
       5,794,616 bytes maximum slop                                                   
            1271 MB total memory in use (0 MB lost due to fragmentation)              

  Generation 0: 156754 collections,     0 parallel, 69.93s, 388.20s elapsed
  Generation 1:    20 collections,     0 parallel, 42.00s, 1426.47s elapsed

  Parallel GC work balance: nan (0 / 0, ideal 1)

                        MUT time (elapsed)       GC time  (elapsed)
  Task  0 (worker) :    0.00s    (279.11s)       2.69s    (185.01s)
  Task  1 (worker) :    0.00s    (279.54s)       0.00s    (  0.00s)
  Task  2 (bound)  :  200.22s    (279.54s)     109.23s    (1629.66s)

  SPARKS: 0 (0 converted, 0 pruned)

  INIT  time    0.01s  (  0.00s elapsed)
  MUT   time  200.15s  (279.54s elapsed)
  GC    time  111.92s  (1814.67s elapsed)
  EXIT  time    0.00s  (  0.00s elapsed)
  Total time  312.08s  (2094.21s elapsed)

  %GC time      35.9%  (86.7% elapsed)

  Alloc rate    410,769,856 bytes per MUT second

  Productivity  64.1% of total user, 9.6% of total elapsed

gc_alloc_block_sync: 0
whitehole_spin: 0
gen[0].sync_large_objects: 0
gen[1].sync_large_objects: 0

Look at elapsed time.

comment:9 Changed 5 years ago by igloo

  • Milestone set to 7.2.1

comment:10 Changed 4 years ago by daniel.is.fischer

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

Hadn't any timeouts for dph-words-opt in a long time. Though DPH optimisation is still slow and takes a lot of memory, it's gotten better. I think this one can be closed for now.

Note: See TracTickets for help on using tickets.