aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_gc.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-05-30 20:44:10 +0200
committerSverker Eriksson <[email protected]>2016-05-30 20:44:10 +0200
commit728b48254bf4e3979a2e4c6cd667ace5cd020d12 (patch)
tree53a5a438f024264224f6cbb71fc27da5a6f8abbc /erts/emulator/beam/erl_gc.c
parentbf46ff0561ee64cc99f30da30a52ca5268af134e (diff)
downloadotp-728b48254bf4e3979a2e4c6cd667ace5cd020d12.tar.gz
otp-728b48254bf4e3979a2e4c6cd667ace5cd020d12.tar.bz2
otp-728b48254bf4e3979a2e4c6cd667ace5cd020d12.zip
erts: Fix ASSERT provoked by map_SUITE:t_rare_map_overflow
The same bug was fixed for OTP 18 in cb62c989e59f0ec8556f9f1d4e9a45b by provoking yet another GC. But now in 19 we are ok with heap fragments so just remove the asserts.
Diffstat (limited to 'erts/emulator/beam/erl_gc.c')
-rw-r--r--erts/emulator/beam/erl_gc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c
index c7bbbd5ca0..9da82f9bf2 100644
--- a/erts/emulator/beam/erl_gc.c
+++ b/erts/emulator/beam/erl_gc.c
@@ -1198,7 +1198,6 @@ minor_collection(Process* p, ErlHeapFragment *live_hf_end,
done:
ASSERT(HEAP_SIZE(p) == next_heap_size(p, HEAP_SIZE(p), 0));
- ASSERT(MBUF(p) == NULL);
/* The heap usage during GC should be larger than what we end up
after a GC, even if we grow it. If this assertion is not true
@@ -1591,6 +1590,9 @@ major_collection(Process* p, ErlHeapFragment *live_hf_end,
HIGH_WATER(p) = HEAP_TOP(p);
+#ifdef HARDDEBUG
+ disallow_heap_frag_ref_in_heap(p);
+#endif
remove_message_buffers(p);
if (p->flags & F_ON_HEAP_MSGQ)
@@ -1603,9 +1605,6 @@ major_collection(Process* p, ErlHeapFragment *live_hf_end,
adjusted = adjust_after_fullsweep(p, need, objv, nobj);
-#ifdef HARDDEBUG
- disallow_heap_frag_ref_in_heap(p);
-#endif
ErtsGcQuickSanityCheck(p);
return gc_cost(size_after, adjusted ? size_after : 0);