From 2edb4a7bd5b892ddfac75d0b549d6682a0be5c02 Mon Sep 17 00:00:00 2001 From: Alexander Vershilov Date: Sun, 18 Jan 2015 10:58:57 +0000 Subject: [PATCH] Trac #9384: fix increasing capabilites number for eventlog. Event log had inconcistent support for increacing capabilies number, as header were not inserted in capability buffer. It resulted in a ghc-events crash (see #9384). This commit fixes this issue by inserting required header when number of capabilies grows. Reviewers: simonmar, Mikolaj, trofi, austin Reviewed By: Mikolaj, trofi, austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D592 GHC Trac Issues: #9384 --- rts/eventlog/EventLog.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c index ef96f3c880..f830ec19a0 100644 --- a/rts/eventlog/EventLog.c +++ b/rts/eventlog/EventLog.c @@ -500,6 +500,15 @@ moreCapEventBufs (nat from, nat to) for (c = from; c < to; ++c) { initEventsBuf(&capEventBuf[c], EVENT_LOG_SIZE, c); } + + // The from == 0 already covered in initEventLogging, so we are interested + // only in case when we are increasing capabilities number + if (from > 0) { + for (c = from; c < to; ++c) { + postBlockMarker(&capEventBuf[c]); + } + } + } -- GitLab