Jump to page: 1 2
Thread overview
[Issue 16564] KRRegion.empty sometimes returns Ternary.no
Jul 05, 2017
Temtaime
Jul 06, 2017
Vladimir Panteleev
Jul 13, 2017
Temtaime
Nov 02, 2017
Lucia Cojocaru
December 15, 2016
https://issues.dlang.org/show_bug.cgi?id=16564

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrei@erdani.com
           Assignee|nobody@puremagic.com        |lucia.mcojocaru@gmail.com

--
January 04, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--
January 19, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

--- Comment #1 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/8a69b104513d5f95e31be65b04a6502f559a95c0 fix issue 16564

https://github.com/dlang/phobos/commit/bb27aa7bd2b6863d50c3f19016ad8f4476709748 Merge pull request #5029 from somzzz/issue_16564

fix issue 16564 - KRRegion.empty sometimes returns Ternary.no

--
January 24, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

--- Comment #2 from github-bugzilla@puremagic.com ---
Commits pushed to newCTFE at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/8a69b104513d5f95e31be65b04a6502f559a95c0 fix issue 16564

https://github.com/dlang/phobos/commit/bb27aa7bd2b6863d50c3f19016ad8f4476709748 Merge pull request #5029 from somzzz/issue_16564

--
March 22, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

--- Comment #3 from github-bugzilla@puremagic.com ---
Commits pushed to stable at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/8a69b104513d5f95e31be65b04a6502f559a95c0 fix issue 16564

https://github.com/dlang/phobos/commit/bb27aa7bd2b6863d50c3f19016ad8f4476709748 Merge pull request #5029 from somzzz/issue_16564

--
July 05, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

Temtaime <temtaime@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #4 from Temtaime <temtaime@gmail.com> ---
Increasing buffer size from 256 kb to 1 mb causes a crash or returns not empty again

import
        std.stdio,
        std.random,
        std.typecons,
        std.algorithm,

        std.experimental.allocator.building_blocks;


void main()
{
    ubyte[1024 * 1024] buf;
    auto a = KRRegion!()(buf);

    while(true)
    {
        void[][] bufs;

        foreach(_; 0..10_000)
        {
            bufs ~= a.allocate(uniform(1, buf.length));
        }

        foreach(b; bufs.randomCover)
        {
            a.deallocate(b);
        }

        if(a.empty == Ternary.no) break;
    }

    writeln(`all the elements are freed but allocator is not empty !`);
}

--
July 06, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

--- Comment #5 from Vladimir Panteleev <dlang-bugzilla@thecybershadow.net> ---
(In reply to Temtaime from comment #4)
> 	ubyte[1024 * 1024] buf;


Are you sure that's not just because you have a 1MB static array on the stack?

This program, by itself, crashes on Windows (because of stack overflow):

void main()
{
    ubyte[1024 * 1024] buf;
}

--
July 07, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

--- Comment #6 from Andrei Alexandrescu <andrei@erdani.com> ---
@Temtaime should this stay open?

--
July 13, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

--- Comment #7 from Temtaime <temtaime@gmail.com> ---
Oh, sorry, my mistake

import
        std.stdio,
        std.range,
        std.random,
        std.typecons,
        std.algorithm,

        std.experimental.allocator.building_blocks,

        core.memory;


void main()
{
    ubyte[128 * 1024] b;
    auto alloc = KRRegion!()(b);

    //alloc.switchToFreeList;

    auto k = alloc.allocate(128);
    assert(alloc.deallocate(k));

    assert(alloc.empty == Ternary.yes);
}

I don't know why but this simplest example asserts.
More complex tests are passed. Also it passes if the switch in uncommented

--
November 02, 2017
https://issues.dlang.org/show_bug.cgi?id=16564

Lucia Cojocaru <lucia.mcojocaru@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|lucia.mcojocaru@gmail.com   |nobody@puremagic.com

--
« First   ‹ Prev
1 2