[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Fix list->queue data corruption issue
From: |
Mario Domenech Goulart |
Subject: |
Re: [Chicken-hackers] [PATCH] Fix list->queue data corruption issue |
Date: |
Thu, 03 Oct 2013 00:41:21 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
On Wed, 2 Oct 2013 23:42:47 +0200 Peter Bex <address@hidden> wrote:
> Our beloved paranoid CHICKEN has found the root cause of another
> long-standing and hard to debug problem: the bug in the channel egg:
> http://tests.call-cc.org/master/linux/x86/2013/10/02/salmonella-report/test/channel.htmlz
>
> When run with paranoid CHICKEN, it tells us nicely where it's going
> wrong: the list->queue procedure uses the low-level structure constructor
> ##sys#make-structure with 3 arguments: the structure type, the list and
> the list tail. Unfortunately, make-queue calls ##sys#make-structure
> with 4 arguments: the structure type, the list, the list tail and the
> queue's length. All accessors assume the queue structure consists of
> these 4 slots, and it will segfault or cause other random corruption
> when attempting to access the length slot.
>
> The patch fixes this problem and adds a handful of basic tests for
> the queue implementation.
>
> I advise we add this patch to the stability branch as well.
Thanks a lot, Peter. I pushed your patch to master (I nuked some
whitespaces).
Jim: can you handle it for stability?
Best wishes.
Mario
--
http://parenteses.org/mario