Jump to page: 1 2
Thread overview
[Issue 18864] Building 64-bit dmd on Windows results in a debug build. The release build doesn't work.
May 16, 2018
Atila Neves
May 16, 2018
Atila Neves
May 22, 2018
Atila Neves
May 24, 2018
Atila Neves
May 24, 2018
Rainer Schuetze
May 25, 2018
Atila Neves
May 25, 2018
kinke@gmx.net
May 25, 2018
kinke@gmx.net
[Issue 18864] Building 64-bit dmd on Windows results in a binary that crashes
Jun 13, 2018
Atila Neves
Jun 13, 2018
Atila Neves
Dec 13, 2018
Walter Bright
May 16, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

--- Comment #1 from Atila Neves <atila.neves@gmail.com> ---
Further information:  the 64-bit dmd artifact from AppVeyor also seems to fail with -int.max/2 every now and again, as does any dmd I compiled with dmd 2.080.0 on Windows. It doesn't always fail, but it results in flaky CI builds.

--
May 16, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

--- Comment #2 from Atila Neves <atila.neves@gmail.com> ---
Some of my issues seem to stem from the fact that the top-level win64.mak defaults to making a debug version of dmd and doesn't forward all of the relevant variables to the win64.mak in src/.

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

--- Comment #3 from Atila Neves <atila.neves@gmail.com> ---
Using digger to build dmd 2.080.0 works and produces a 64-bit binary. Given that digger uses a relatively old dmd to do so, it would seem the issue arises when using 2.080.0 to build itself.

--
May 24, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

Atila Neves <atila.neves@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|enhancement                 |regression

--- Comment #4 from Atila Neves <atila.neves@gmail.com> ---
No matter how I build 64-bit dmd 2.080.0 on Windows, it's flaky. Every now and again the compiler fails with return code -1073741819. The return code is always the same, but when it fails seems to be random, with CI builds sometimes passing, and sometimes not. It doesn't always fail on the same dub package.

--
May 24, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

Rainer Schuetze <r.sagitario@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |r.sagitario@gmx.de

--- Comment #5 from Rainer Schuetze <r.sagitario@gmx.de> ---
Please note that -1073741819 is 0xc0000005, i.e. this is an access violation. Does the same code compile with a dmc compiled nightly build?

--
May 25, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

--- Comment #6 from Atila Neves <atila.neves@gmail.com> ---
The same code compiles with dmd 2.080.0. The failures are random.

--
May 25, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

kinke@gmx.net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kinke@gmx.net

--- Comment #7 from kinke@gmx.net ---
(In reply to Atila Neves from comment #1)
> Further information:  the 64-bit dmd artifact from AppVeyor also seems to fail with -int.max/2 every now and again, as does any dmd I compiled with dmd 2.080.0 on Windows. It doesn't always fail, but it results in flaky CI builds.

I can confirm this regression for LDC on Win32 and Win64 too; I first wrongly attributed it to AppVeyor strangeness. After compiling LDC master with itself and then repeatedly building dub finally led to a frontend crash after about 10 runs, here's the call stack:

#0 0x00007ff6bcf99419 Expression::checkPurity(struct Scope *,class
VarDeclaration *) C:\LDC\ldc\dmd\expression.d:2133:13
#1 0x00007ff6bcfa73d7 ExpressionSemanticVisitor::visit(class CallExp *)
C:\LDC\ldc\dmd\expressionsem.d:2927:17
#2 0x00007ff6bcf98c8f
_D3dmd13expressionsem18resolvePropertiesXFPSQBq6dscope5ScopeCQCh10expression10ExpressionQBcZQBg
C:\LDC\ldc\dmd\expressionsem.d:156:17
#3 0x00007ff6bceb01d3 resolveProperties(struct Scope *,class Expression *)
C:\LDC\ldc\dmd\expressionsem.d:332:5
#4 0x00007ff6bcf99fb0
_D3dmd13expressionsem21preFunctionParametersFPSQBt6dscope5ScopePSQCl4root5array__T5ArrayTCQDk10expression10ExpressionZQBkZb
C:\LDC\ldc\dmd\expressionsem.d:468:13
#5 0x00007ff6bcfa7626 ExpressionSemanticVisitor::visit(class CallExp *)
C:\LDC\ldc\dmd\expressionsem.d:2962:9
#6 0x00007ff6bcecdd0e StatementSemanticVisitor::visit(class ExpStatement *)
C:\LDC\ldc\dmd\statementsem.d:179:13
#7 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#8 0x00007ff6bcecf41c StatementSemanticVisitor::visit(class ScopeStatement *)
C:\LDC\ldc\dmd\statementsem.d:415:13
#9 0x00007ff6bced0973
_D3dmd12statementsem15semanticNoScopeFCQBl9statement9StatementPSQCk6dscope5ScopeZQBr
C:\LDC\ldc\dmd\statementsem.d:4293:5
#10 0x00007ff6bcecfd7c
_D3dmd12statementsem13semanticScopeFCQBj9statement9StatementPSQCi6dscope5ScopeQBqQBtZQBx
C:\LDC\ldc\dmd\statementsem.d:4307:5
#11 0x00007ff6bcee6fe7 StatementSemanticVisitor::visit(class TryCatchStatement
*) C:\LDC\ldc\dmd\statementsem.d:3824:9
#12 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#13 0x00007ff6bcefb06b Semantic3Visitor::visit(class FuncDeclaration *)
C:\LDC\ldc\dmd\semantic3.d:610:17
#14 0x00007ff6bcef8ce2 Semantic3Visitor::visit(class TemplateInstance *)
C:\LDC\ldc\dmd\semantic3.d:134:17
#15 0x00007ff6bcfe035c
_D3dmd10dsymbolsem24templateInstanceSemanticFCQBs9dtemplate16TemplateInstancePSQCz6dscope5ScopePSQDr4root5array__T5ArrayTCQEq10expression10ExpressionZQBkZv
C:\LDC\ldc\dmd\dsymbolsem.d:5696:13
#16 0x00007ff6bcf43328
_D3dmd9dtemplate15functionResolveFPSQBi11declaration5MatchCQCf7dsymbol7DsymbolSQCz7globals3LocPSQDq6dscope5ScopePSQEi4root5array__T5ArrayTCQFhQz10rootobject10RootObjectZQBmCQGp5mtype4TypePSQHfQCxQCv__TQCsTCQHw10expression10ExpressionZQDzPPxaZv
C:\LDC\ldc\dmd\dtemplate.d:2831:9
#17 0x00007ff6bced8eb0 resolveFuncCall(struct Loc const &,struct Scope *,class
Dsymbol *,struct Array<class RootObject *> *,class Type *,struct Array<class
Expression *> *,int) C:\LDC\ldc\dmd\func.d:2749:5
#18 0x00007ff6bcfa83e4 ExpressionSemanticVisitor::visit(class CallExp *)
C:\LDC\ldc\dmd\expressionsem.d:3406:17
#19 0x00007ff6bcecdd0e StatementSemanticVisitor::visit(class ExpStatement *)
C:\LDC\ldc\dmd\statementsem.d:179:13
#20 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#21 0x00007ff6bcefb06b Semantic3Visitor::visit(class FuncDeclaration *)
C:\LDC\ldc\dmd\semantic3.d:610:17
#22 0x00007ff6bcef8ce2 Semantic3Visitor::visit(class TemplateInstance *)
C:\LDC\ldc\dmd\semantic3.d:134:17
#23 0x00007ff6bcfe040a
_D3dmd10dsymbolsem24templateInstanceSemanticFCQBs9dtemplate16TemplateInstancePSQCz6dscope5ScopePSQDr4root5array__T5ArrayTCQEq10expression10ExpressionZQBkZv
C:\LDC\ldc\dmd\dsymbolsem.d:5644:9
#24 0x00007ff6bcf43328
_D3dmd9dtemplate15functionResolveFPSQBi11declaration5MatchCQCf7dsymbol7DsymbolSQCz7globals3LocPSQDq6dscope5ScopePSQEi4root5array__T5ArrayTCQFhQz10rootobject10RootObjectZQBmCQGp5mtype4TypePSQHfQCxQCv__TQCsTCQHw10expression10ExpressionZQDzPPxaZv
C:\LDC\ldc\dmd\dtemplate.d:2831:9
#25 0x00007ff6bced8eb0 resolveFuncCall(struct Loc const &,struct Scope *,class
Dsymbol *,struct Array<class RootObject *> *,class Type *,struct Array<class
Expression *> *,int) C:\LDC\ldc\dmd\func.d:2749:5
#26 0x00007ff6bcfa83e4 ExpressionSemanticVisitor::visit(class CallExp *)
C:\LDC\ldc\dmd\expressionsem.d:3406:17
#27 0x00007ff6bcecdd0e StatementSemanticVisitor::visit(class ExpStatement *)
C:\LDC\ldc\dmd\statementsem.d:179:13
#28 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#29 0x00007ff6bcecf41c StatementSemanticVisitor::visit(class ScopeStatement *)
C:\LDC\ldc\dmd\statementsem.d:415:13
#30 0x00007ff6bced0973
_D3dmd12statementsem15semanticNoScopeFCQBl9statement9StatementPSQCk6dscope5ScopeZQBr
C:\LDC\ldc\dmd\statementsem.d:4293:5
#31 0x00007ff6bcede6e2 StatementSemanticVisitor::visit(class IfStatement *)
C:\LDC\ldc\dmd\statementsem.d:2218:9
#32 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#33 0x00007ff6bcecf41c StatementSemanticVisitor::visit(class ScopeStatement *)
C:\LDC\ldc\dmd\statementsem.d:415:13
#34 0x00007ff6bced0973
_D3dmd12statementsem15semanticNoScopeFCQBl9statement9StatementPSQCk6dscope5ScopeZQBr
C:\LDC\ldc\dmd\statementsem.d:4293:5
#35 0x00007ff6bcede6e2 StatementSemanticVisitor::visit(class IfStatement *)
C:\LDC\ldc\dmd\statementsem.d:2218:9
#36 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#37 0x00007ff6bced0973
_D3dmd12statementsem15semanticNoScopeFCQBl9statement9StatementPSQCk6dscope5ScopeZQBr
C:\LDC\ldc\dmd\statementsem.d:4293:5
#38 0x00007ff6bced06d2 StatementSemanticVisitor::visit(class ForStatement *)
C:\LDC\ldc\dmd\statementsem.d:582:13
#39 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#40 0x00007ff6bcecf41c StatementSemanticVisitor::visit(class ScopeStatement *)
C:\LDC\ldc\dmd\statementsem.d:415:13
#41 0x00007ff6bced02e7 StatementSemanticVisitor::visit(class ForStatement *)
C:\LDC\ldc\dmd\statementsem.d:533:13
#42 0x00007ff6bced6a92 StatementSemanticVisitor::visit(class ForeachStatement
*) C:\LDC\ldc\dmd\statementsem.d:1847:17
#43 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#44 0x00007ff6bcefb06b Semantic3Visitor::visit(class FuncDeclaration *)
C:\LDC\ldc\dmd\semantic3.d:610:17
#45 0x00007ff6bcfad2da ExpressionSemanticVisitor::visit(class DeclarationExp *)
C:\LDC\ldc\dmd\expressionsem.d:3709:9
#46 0x00007ff6bcecdd0e StatementSemanticVisitor::visit(class ExpStatement *)
C:\LDC\ldc\dmd\statementsem.d:179:13
#47 0x00007ff6bcece5ad StatementSemanticVisitor::visit(class CompoundStatement
*) C:\LDC\ldc\dmd\statementsem.d:237:17
#48 0x00007ff6bcefb06b Semantic3Visitor::visit(class FuncDeclaration *)
C:\LDC\ldc\dmd\semantic3.d:610:17
#49 0x00007ff6bcf019ae Semantic3Visitor::visit(class AggregateDeclaration *)
C:\LDC\ldc\dmd\semantic3.d:1335:13
#50 0x00007ff6bcef965e Semantic3Visitor::visit(class Module *)
C:\LDC\ldc\dmd\semantic3.d:198:13

--
May 25, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

--- Comment #8 from kinke@gmx.net ---
(In reply to kinke from comment #7)
> I can confirm this regression for LDC on Win32 and Win64 too

I think I found the culprit causing the sporadic segfaults: https://github.com/dlang/dmd/pull/8294

--
June 13, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

Atila Neves <atila.neves@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Building 64-bit dmd on      |Building 64-bit dmd on
                   |Windows results in a debug  |Windows results in a binary
                   |build. The release build    |that crashes
                   |doesn't work.               |

--
June 13, 2018
https://issues.dlang.org/show_bug.cgi?id=18864

--- Comment #9 from Atila Neves <atila.neves@gmail.com> ---
After some experiments, it seems that the release build of 64-bit dmd is the one with problems. The debug build seems to work ok.

--
« First   ‹ Prev
1 2