Thread overview
dmd 2.064.2 stuck compiling code?
Nov 18, 2013
michaelc37
Nov 18, 2013
Brian Schott
Nov 18, 2013
Arjan
Nov 19, 2013
michaelc37
Nov 19, 2013
Arjan
Nov 19, 2013
michaelc37
Nov 20, 2013
Arjan
Nov 25, 2013
Arjan
November 18, 2013
I have an issue where dmd v2.064.2 never finishes compiling (hangs)

i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).

i was able to catch the last compiler command line executed using
make SHELL="/bin/bash -x"

/usr/bin/dmd -version=QtdCppShared -I<projectpath>build_dir/build -I<projectpath> -I<projectpath>/d2 -O -release -inline -c <lots and lots of d source files> -of<projectpath>/build_dir/build/CMakeFiles/qtdgui.dir/qtdgui0.o

anyone experiencing this issue using similar command line params(-O -release -inline -c)?

any suggestions on how to investigate this further?
November 18, 2013
On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>
> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>
> i was able to catch the last compiler command line executed using
> make SHELL="/bin/bash -x"
>
> /usr/bin/dmd -version=QtdCppShared -I<projectpath>build_dir/build -I<projectpath> -I<projectpath>/d2 -O -release -inline -c <lots and lots of d source files> -of<projectpath>/build_dir/build/CMakeFiles/qtdgui.dir/qtdgui0.o
>
> anyone experiencing this issue using similar command line params(-O -release -inline -c)?
>
> any suggestions on how to investigate this further?

Possibly related: https://github.com/Hackerpilot/DCD/issues/79
November 18, 2013
On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott wrote:
> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
>> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>>
>> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>>
>> any suggestions on how to investigate this further?
>
> Possibly related: https://github.com/Hackerpilot/DCD/issues/79

I had the same problems when building Dscanner on OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The backtrace shows an endless list of:
#0 0x0.. FuncDeclaration::overloadInsert ()
#1 0x0.. FuncDeclaration::overloadInsert ()
#2 0x0.. FuncDeclaration::overloadInsert ()
..
Haven't had the time to investigate this further.
This happens with dmd build form the the master/HEAD(ff81ae9)
November 19, 2013
On Monday, 18 November 2013 at 08:30:05 UTC, Arjan wrote:
> On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott wrote:
>> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
>>> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>>>
>>> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>>>
>>> any suggestions on how to investigate this further?
>>
>> Possibly related: https://github.com/Hackerpilot/DCD/issues/79
>
> I had the same problems when building Dscanner on OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The backtrace shows an endless list of:
> #0 0x0.. FuncDeclaration::overloadInsert ()
> #1 0x0.. FuncDeclaration::overloadInsert ()
> #2 0x0.. FuncDeclaration::overloadInsert ()
> ..
> Haven't had the time to investigate this further.
> This happens with dmd build form the the master/HEAD(ff81ae9)

i think i tracked down the commit that caused this issue for me

it seems to be this.
https://github.com/D-Programming-Language/dmd/commit/5f0c3a12de2a15116fac109b39912bfcb22842b8

using a dmd built on the commit before it does not hang.
https://github.com/D-Programming-Language/dmd/commit/435af3171f488c7857c2d2859c1c99981de19506

November 19, 2013
On Tuesday, 19 November 2013 at 02:07:18 UTC, michaelc37 wrote:
> On Monday, 18 November 2013 at 08:30:05 UTC, Arjan wrote:
>> On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott wrote:
>>> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
>>>> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>>>>
>>>> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>>>>
>>>> any suggestions on how to investigate this further?
>>>
>>> Possibly related: https://github.com/Hackerpilot/DCD/issues/79
>>
>> I had the same problems when building Dscanner on OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The backtrace shows an endless list of:
>> #0 0x0.. FuncDeclaration::overloadInsert ()
>> #1 0x0.. FuncDeclaration::overloadInsert ()
>> #2 0x0.. FuncDeclaration::overloadInsert ()
>> ..
>> Haven't had the time to investigate this further.
>> This happens with dmd build form the the master/HEAD(ff81ae9)
>
> i think i tracked down the commit that caused this issue for me
>
> it seems to be this.
> https://github.com/D-Programming-Language/dmd/commit/5f0c3a12de2a15116fac109b39912bfcb22842b8
>
> using a dmd built on the commit before it does not hang.
> https://github.com/D-Programming-Language/dmd/commit/435af3171f488c7857c2d2859c1c99981de19506

Great! Did you already report this bug here?
https://d.puremagic.com/issues/

November 19, 2013
On Tuesday, 19 November 2013 at 10:30:15 UTC, Arjan wrote:
> On Tuesday, 19 November 2013 at 02:07:18 UTC, michaelc37 wrote:
>> On Monday, 18 November 2013 at 08:30:05 UTC, Arjan wrote:
>>> On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott wrote:
>>>> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
>>>>> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>>>>>
>>>>> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>>>>>
>>>>> any suggestions on how to investigate this further?
>>>>
>>>> Possibly related: https://github.com/Hackerpilot/DCD/issues/79
>>>
>>> I had the same problems when building Dscanner on OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The backtrace shows an endless list of:
>>> #0 0x0.. FuncDeclaration::overloadInsert ()
>>> #1 0x0.. FuncDeclaration::overloadInsert ()
>>> #2 0x0.. FuncDeclaration::overloadInsert ()
>>> ..
>>> Haven't had the time to investigate this further.
>>> This happens with dmd build form the the master/HEAD(ff81ae9)
>>
>> i think i tracked down the commit that caused this issue for me
>>
>> it seems to be this.
>> https://github.com/D-Programming-Language/dmd/commit/5f0c3a12de2a15116fac109b39912bfcb22842b8
>>
>> using a dmd built on the commit before it does not hang.
>> https://github.com/D-Programming-Language/dmd/commit/435af3171f488c7857c2d2859c1c99981de19506
>
> Great! Did you already report this bug here?
> https://d.puremagic.com/issues/

Not yet, I'm still trying to isolate the issue out of an enormous amount of *.d files.  Once i can get to that, i can paste the minimum amount of coded needed to reproduce the issue to https://d.puremagic.com/issues/.
November 20, 2013
On Tuesday, 19 November 2013 at 21:19:13 UTC, michaelc37 wrote:
> On Tuesday, 19 November 2013 at 10:30:15 UTC, Arjan wrote:
>> On Tuesday, 19 November 2013 at 02:07:18 UTC, michaelc37 wrote:
>>> On Monday, 18 November 2013 at 08:30:05 UTC, Arjan wrote:
>>>> On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott wrote:
>>>>> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
>>>>>> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>>>>>>
>>>>>> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>>>>>>
>>>>>> any suggestions on how to investigate this further?
>>>>>
>>>>> Possibly related: https://github.com/Hackerpilot/DCD/issues/79
>>>>
>>>> I had the same problems when building Dscanner on OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The backtrace shows an endless list of:
>>>> #0 0x0.. FuncDeclaration::overloadInsert ()
>>>> #1 0x0.. FuncDeclaration::overloadInsert ()
>>>> #2 0x0.. FuncDeclaration::overloadInsert ()
>>>> ..
>>>> Haven't had the time to investigate this further.
>>>> This happens with dmd build form the the master/HEAD(ff81ae9)
>>>
>>> i think i tracked down the commit that caused this issue for me
>>>
>>> it seems to be this.
>>> https://github.com/D-Programming-Language/dmd/commit/5f0c3a12de2a15116fac109b39912bfcb22842b8
>>>
>>> using a dmd built on the commit before it does not hang.
>>> https://github.com/D-Programming-Language/dmd/commit/435af3171f488c7857c2d2859c1c99981de19506
>>
>> Great! Did you already report this bug here?
>> https://d.puremagic.com/issues/
>
> Not yet, I'm still trying to isolate the issue out of an enormous amount of *.d files.  Once i can get to that, i can paste the minimum amount of coded needed to reproduce the issue to https://d.puremagic.com/issues/.

OK. Thanks for doing this.
Maybe dustmite can be of help?
https://github.com/CyberShadow/DustMite/wiki
November 25, 2013
On Wednesday, 20 November 2013 at 08:44:47 UTC, Arjan wrote:
> On Tuesday, 19 November 2013 at 21:19:13 UTC, michaelc37 wrote:
>> On Tuesday, 19 November 2013 at 10:30:15 UTC, Arjan wrote:
>>> On Tuesday, 19 November 2013 at 02:07:18 UTC, michaelc37 wrote:
>>>> On Monday, 18 November 2013 at 08:30:05 UTC, Arjan wrote:
>>>>> On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott wrote:
>>>>>> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 wrote:
>>>>>>> I have an issue where dmd v2.064.2 never finishes compiling (hangs)
>>>>>>>
>>>>>>> i'm trying to recompile my patched up fork of qtd (https://github.com/michaelc37/qtd) but the code never stops compiling (it was compiling with v2.063.2).
>>>>>>>
>>>>>>> any suggestions on how to investigate this further?
>>>>>>
>>>>>> Possibly related: https://github.com/Hackerpilot/DCD/issues/79
>>>>>
>>>>> I had the same problems when building Dscanner on OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The backtrace shows an endless list of:
>>>>> #0 0x0.. FuncDeclaration::overloadInsert ()
>>>>> #1 0x0.. FuncDeclaration::overloadInsert ()
>>>>> #2 0x0.. FuncDeclaration::overloadInsert ()
>>>>> ..
>>>>> Haven't had the time to investigate this further.
>>>>> This happens with dmd build form the the master/HEAD(ff81ae9)
>>>>
>>>> i think i tracked down the commit that caused this issue for me
>>>>
>>>> it seems to be this.
>>>> https://github.com/D-Programming-Language/dmd/commit/5f0c3a12de2a15116fac109b39912bfcb22842b8
>>>>
>>>> using a dmd built on the commit before it does not hang.
>>>> https://github.com/D-Programming-Language/dmd/commit/435af3171f488c7857c2d2859c1c99981de19506
>>>
>>> Great! Did you already report this bug here?
>>> https://d.puremagic.com/issues/
>>
>> Not yet, I'm still trying to isolate the issue out of an enormous amount of *.d files.  Once i can get to that, i can paste the minimum amount of coded needed to reproduce the issue to https://d.puremagic.com/issues/.
>
> OK. Thanks for doing this.
> Maybe dustmite can be of help?
> https://github.com/CyberShadow/DustMite/wiki

The code snippet is reduced using dustmite and causes DMD to coredump on FreeBSD and compile forever on Linux.

Version dmd FreeBSD: DMD64 D Compiler v2.065-devel-b6b240b
Version dmd Linux: DMD32 D Compiler v2.065-devel-be98dbb

Maybe someone is willing to file this in bugzilla as I have no account.
-------------------8<------------------------------
public:

/**
 * Represents a D token
 */
struct Token
{
TokenType type;

}

/**
 * Listing of all the tokens in the D language.
 */
enum TokenType: ushort
{
invalid}

import std.algorithm;
/**
 * Parser structure
 */
class Parser
{
bool peekIsOneOf(TokenType[] types...) {
canFind(types, tokens[1].type);
}

const(Token)[] tokens;
}