[GHC] #9346: AtomicPrimOps tests failing on 32-bit x86

GHC ghc-devs at haskell.org
Tue Jul 22 20:30:10 UTC 2014


#9346: AtomicPrimOps tests failing on 32-bit x86
-------------------------------------+-------------------------------------
              Reporter:  niklasl     |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Compiler    |           Version:  7.9
            Resolution:              |          Keywords:
Differential Revisions:              |  Operating System:  Unknown/Multiple
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |         Test Case:
            Difficulty:  Unknown     |          Blocking:
            Blocked By:              |
       Related Tickets:              |
-------------------------------------+-------------------------------------

Comment (by pgj):

 The first one is that:

 {{{
 $ make TEST=AtomicPrimops WAY=ghci
 ...
 =====> AtomicPrimops(ghci) 41 of 93 [0, 0, 0]
 cd . && inplace/bin/ghc-stage2 -fforce-recomp -dcore-lint -dcmm-lint -dno-
 debug-output -no-user-package-db -rtsopts -fno-ghci-history
 AtomicPrimops.hs --interactive -v0 -ignore-dot-ghci +RTS -I0.1 -RTS
 <AtomicPrimops.genscript 1>AtomicPrimops.interp.stdout
 2>AtomicPrimops.interp.stderr
 Wrong exit code (expected 0 , actual 132 )
 Stdout:
 fetchAddSubTest: OK

 Stderr:

 *** unexpected failure for AtomicPrimops(ghci)
 ...
 }}}

 That is, GHCi cannot run {{{AtomicPrimops}}}.  Perhaps that is due to the
 byte code generation, I could not really find the exact reason.

 The other one is that:

 {{{
 $ make TEST=AtomicPrimops WAY=threaded2
 ...
 =====> AtomicPrimops(threaded2) 41 of 93 [0, 0, 0]
 cd . && inplace/bin/ghc-stage2 -fforce-recomp -dcore-lint -dcmm-lint -dno-
 debug-output -no-user-package-db -rtsopts -fno-ghci-history -o
 AtomicPrimops AtomicPrimops.hs -O -threaded -eventlog
 >AtomicPrimops.comp.stderr 2>&1
 cd . && ./AtomicPrimops  +RTS -N2 -ls -RTS  </dev/null
 >AtomicPrimops.run.stdout 2>AtomicPrimops.run.stderr
 Actual stdout output differs from expected:
 --- ./AtomicPrimops.stdout      2014-07-22 01:03:55.843169393 +0000
 +++ ./AtomicPrimops.run.stdout  2014-07-22 20:26:04.769552990 +0000
 @@ -1,6 +1,8 @@
  fetchAddSubTest: OK
  fetchAndTest: OK
 -fetchNandTest: OK
 +fetchNandTest: FAIL
 +Expected: 1717991287
 +  Actual: -1431651397
  fetchOrTest: OK
  fetchXorTest: OK
  casTest: OK
 *** unexpected failure for AtomicPrimops(threaded2)
 ...
 }}}

 That is, the NAND atomic does not work properly when {{{AtomicPrimops}}}
 is run with multiple threads.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9346#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list