rts: Fix Arena blocks accounting for MBlock sized allocations

When requesting more than BLOCKS_PER_MBLOCK blocks allocGroup can return a
different number of blocks than requested. Here we use the number of
requested blocks, however arenaFree will subtract the actual number of
blocks we got from arena_blocks (possibly) resulting in a negative value
and triggering ASSERT(arena_blocks >= 0).
22 jobs for master in 687 minutes and 26 seconds (queued for 4 seconds)
Status Job ID Name Coverage
  Lint
passed #257344
lint
lint-linters

00:00:14

passed #257347
lint
lint-submods-branch

00:00:16

passed #257345
lint
lint-testsuite

00:00:18

passed #257346
lint
typecheck-testsuite

00:00:15

 
  Quick Build
passed #257348
x86_64-linux
hadrian-ghc-in-ghci

00:19:13

 
  Build
passed #257349
x86_64-linux
validate-x86_64-linux-deb9-hadrian

03:11:22

 
  Full Build
failed #257352
aarch64-linux allowed to fail
validate-aarch64-linux-deb9

03:19:59

passed #257353
armv7-linux
validate-armv7-linux-deb9

03:41:19

passed #257354
x86_64-linux
validate-i386-linux-deb9

01:45:02

passed #257351
x86_64-darwin
validate-x86_64-darwin

01:13:03

passed #257355
x86_64-linux
validate-x86_64-linux-deb9-debug

03:53:46

passed #257357
x86_64-linux
validate-x86_64-linux-deb9-dwarf

02:25:18

passed #257356
x86_64-linux
validate-x86_64-linux-deb9-integer-simple

02:09:31

passed #257350
x86_64-linux
validate-x86_64-linux-deb9-unreg-hadrian

04:26:57

passed #257358
x86_64-linux
validate-x86_64-linux-fedora27

01:21:29

failed #257360
x86_64-windows allowed to fail
validate-x86_64-windows

failed #257359
x86_64-windows allowed to fail
validate-x86_64-windows-hadrian

 
  Cleanup
passed #257361
x86_64-darwin
cleanup-darwin

00:00:06

 
  Packaging
failed #257362
x86_64-linux allowed to fail
doc-tarball

00:00:24

 
  Testing
manual #257363
x86_64-linux allowed to fail manual
hackage
passed #257364
x86_64-linux
perf-nofib

00:37:50

 
  Deploy
failed #257365
x86_64-linux allowed to fail
pages

00:00:13

 
Name Stage Failure
failed
pages Deploy
$ git checkout .gitmodules
$ git fetch https://gitlab.haskell.org/ghc/ghc-performance-notes.git refs/notes/perf:refs/notes/perf || true
From https://gitlab.haskell.org/ghc/ghc-performance-notes
ae3dddcaec..64bdbf0fbd refs/notes/perf -> refs/notes/perf
$ mkdir -p public/doc
$ tar -xf haddock.html.tar.xz -C public/doc
tar: haddock.html.tar.xz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
ERROR: Job failed: exit code 1
failed
validate-x86_64-windows Full Build There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log
failed
validate-x86_64-windows-hadrian Full Build There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log
failed
validate-aarch64-linux-deb9 Full Build
Uploading artifacts...
ghc-aarch64-linux-deb9.tar.xz: found 1 matching files
junit.xml: found 1 matching files

performance-metrics.tsv: found 1 matching files

Uploading artifacts to coordinator... ok
id=257352 responseStatus=201 Created token=m-RtQiqj
Uploading artifacts...
junit.xml: found 1 matching files

Uploading artifacts to coordinator... ok
id=257352 responseStatus=201 Created token=m-RtQiqj
ERROR: Job failed: exit code 1
failed
doc-tarball Packaging
Synchronizing submodule url for 'utils/hsc2hs'
$ git submodule update --init --recursive
$ git checkout .gitmodules
$ git fetch https://gitlab.haskell.org/ghc/ghc-performance-notes.git refs/notes/perf:refs/notes/perf || true
From https://gitlab.haskell.org/ghc/ghc-performance-notes
6cb17942c6..96f7cee4ff refs/notes/perf -> refs/notes/perf
$ if [ ! -f "$LINUX_BINDIST" ]; then # collapsed multi-line command
Error: ghc-x86_64-mingw32.tar.xz does not exist. Did the 64-bit Windows job fail?
ERROR: Job failed: exit code 1