Thread overview
[Issue 19413] StackOverflow in the optimizer when trying to optimize an errorNode
[Issue 19413] Segfault assigning hashmap from slice in CTFE
Nov 21, 2018
RazvanN
Nov 22, 2018
RazvanN
Nov 22, 2018
Stefan Koch
Nov 22, 2018
Stefan Koch
Nov 23, 2018
Stefan Koch
Dec 17, 2022
Iain Buclaw
November 20, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

--- Comment #1 from dlang@ryanjframe.com ---
run.dlang.io runs this successfully from 2.061 to 2.080.1; it segfaults from 2.081.1 to current.

--
November 21, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |razvan.nitu1305@gmail.com

--- Comment #2 from RazvanN <razvan.nitu1305@gmail.com> ---
This is the output I get on run.dlang.io:

Up to      2.060  : Failure with output:
-----
onlineapp.d(4): Error: no identifier for declarator VP
onlineapp.d(4): Error: alias cannot have initializer
-----

Since      2.061  : Success and no output

Maybe close this as invalid?

--
November 22, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--
November 22, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

dlang@ryanjframe.com changed:

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

--- Comment #3 from dlang@ryanjframe.com ---
I'm sorry; I'd removed a writeln on run.dlang.io before posting it here but didn't test it. The writeln isn't necessary when I run it locally.

---
import std.stdio;

void main() { enum a = d(); writeln(a); }

auto d() {
    alias VP = string[string];
    VP[string] values;
    string str = "aaaaaa";
    values[str]["s"] = "val";

    str = str[1..3];
    values[str]["s"] = "val"; // <-- right here.

    return values;
}
---

--
November 22, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

Stefan Koch <uplink.coder@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |uplink.coder@gmail.com

--- Comment #4 from Stefan Koch <uplink.coder@gmail.com> ---
This does not seem to be a CTFE issue.

It's a problem where the optimizer will try to optimise an invalid node.

Also there is no need to use writeln, you can replace the writeln by void
use(A)(A a) {}

--
November 22, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

--- Comment #5 from Stefan Koch <uplink.coder@gmail.com> ---
Some more information:

What happens is actually a stack-overflow in optimize.d:1209

I guess my guess is that error-nodes do compare false to all other nodes since an error node does make it through. the Optimizer can never verify that the fixed point has been reached.

--
November 23, 2018
https://issues.dlang.org/show_bug.cgi?id=19413

Stefan Koch <uplink.coder@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Segfault assigning hashmap  |StackOverflow in the
                   |from slice in CTFE          |optimizer when trying to
                   |                            |optimize an errorNode

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=19413

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--
December 13
https://issues.dlang.org/show_bug.cgi?id=19413

--- Comment #6 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/19510

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--