[Issue 17489] New: ICE in ddmd/argtypes.d

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Jun 10 21:37:09 PDT 2017


https://issues.dlang.org/show_bug.cgi?id=17489

          Issue ID: 17489
           Summary: ICE in ddmd/argtypes.d
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: greensunny12 at gmail.com

0.7.31-rc.2 triggers an ICE in dmd when compiled as follows (i.e. as on
Jenkins)

> dub test --combined --compiler=$HOME/dlang/dmd/generated/linux/debug/64/dmd --config=libevent

/home/seb/dlang/dmd/generated/linux/debug/64/dmd -c
-of.dub/build/vibe-d-test-libevent-unittest-linux.posix-x86_64-dmd_2075-719818DEDFB0B36C9A066E0B0EEC8BB5/vibe-d-test-libevent.o
-debug -g -unittest -w -version=VibeCustomMain -version=VibeLibeventDriver
-version=Have_vibe_d -version=Have_libevent -version=Have_openssl
-version=Have_vibe_d_utils -version=Have_vibe_d_data -version=Have_vibe_d_core
-version=Have_diet_ng -version=Have_vibe_d_http -version=Have_vibe_d_diet
-version=Have_vibe_d_mail -version=Have_vibe_d_mongodb
-version=Have_vibe_d_redis -version=Have_vibe_d_web -Isource/
-I../../../.dub/packages/libevent-2.0.2_2.0.16/libevent
-I../../../.dub/packages/openssl-1.1.5_1.0.1g/openssl
-I../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/
../../../../../tmp/dub_test_root-fe45c364-3805-45d7-ab7a-3f1bd8a878b7.d
source/vibe/d.d source/vibe/vibe.d source/vibe/core/args.d
source/vibe/core/concurrency.d source/vibe/core/connectionpool.d
source/vibe/core/core.d source/vibe/core/driver.d
source/vibe/core/drivers/libasync.d source/vibe/core/drivers/libevent2.d
source/vibe/core/drivers/libevent2_tcp.d source/vibe/core/drivers/native.d
source/vibe/core/drivers/threadedfile.d source/vibe/core/drivers/timerqueue.d
source/vibe/core/drivers/utils.d source/vibe/core/drivers/win32.d
source/vibe/core/drivers/winrt.d source/vibe/core/file.d source/vibe/core/log.d
source/vibe/core/net.d source/vibe/core/stream.d source/vibe/core/sync.d
source/vibe/core/task.d source/vibe/crypto/cryptorand.d
source/vibe/crypto/passwordhash.d source/vibe/inet/message.d
source/vibe/inet/mimetypes.d source/vibe/inet/path.d source/vibe/inet/url.d
source/vibe/inet/urltransfer.d source/vibe/inet/webform.d
source/vibe/stream/base64.d source/vibe/stream/botan.d
source/vibe/stream/counting.d source/vibe/stream/memory.d
source/vibe/stream/multicast.d source/vibe/stream/openssl.d
source/vibe/stream/operations.d source/vibe/stream/stdio.d
source/vibe/stream/taskpipe.d source/vibe/stream/tls.d
source/vibe/stream/wrapper.d source/vibe/stream/zlib.d
source/vibe/textfilter/html.d source/vibe/textfilter/markdown.d
source/vibe/textfilter/urlencode.d source/vibe/data/bson.d
source/vibe/data/json.d source/vibe/data/serialization.d
source/vibe/internal/meta/all.d source/vibe/internal/meta/codegen.d
source/vibe/internal/meta/funcattr.d source/vibe/internal/meta/traits.d
source/vibe/internal/meta/typetuple.d source/vibe/internal/meta/uda.d
source/vibe/internal/rangeutil.d source/vibe/internal/win32.d
source/vibe/utils/array.d source/vibe/utils/dictionarylist.d
source/vibe/utils/hashmap.d source/vibe/utils/memory.d
source/vibe/utils/string.d source/vibe/utils/validation.d
source/vibe/templ/diet.d source/vibe/templ/parsertools.d
source/vibe/templ/utils.d source/vibe/http/auth/basic_auth.d
source/vibe/http/auth/digest_auth.d source/vibe/http/client.d
source/vibe/http/common.d source/vibe/http/dist.d source/vibe/http/fileserver.d
source/vibe/http/form.d source/vibe/http/log.d source/vibe/http/proxy.d
source/vibe/http/router.d source/vibe/http/server.d source/vibe/http/session.d
source/vibe/http/status.d source/vibe/http/websockets.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/defs.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/dom.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/html.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/input.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/internal/html.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/internal/string.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/parser.d
../../../.dub/packages/diet-ng-1.2.1/diet-ng/source/diet/traits.d
source/vibe/mail/smtp.d source/vibe/db/mongo/client.d
source/vibe/db/mongo/collection.d source/vibe/db/mongo/connection.d
source/vibe/db/mongo/cursor.d source/vibe/db/mongo/database.d
source/vibe/db/mongo/flags.d source/vibe/db/mongo/mongo.d
source/vibe/db/mongo/settings.d source/vibe/db/redis/idioms.d
source/vibe/db/redis/redis.d source/vibe/db/redis/sessionstore.d
source/vibe/db/redis/types.d source/vibe/web/auth.d source/vibe/web/common.d
source/vibe/web/i18n.d source/vibe/web/internal/rest/common.d
source/vibe/web/internal/rest/jsclient.d source/vibe/web/rest.d
source/vibe/web/validation.d source/vibe/web/web.d source/vibe/appmain.d
-vcolumns
source/vibe/http/server.d(286,33): Deprecation: alias
diet.traits.FilterCallback is deprecated - Use SafeFilterCallback instead.
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/traits.d(1046,60):
Error: parameter index must be in range 0..3 not 3LU
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/traits.d(1047,25):
Error: template instance std.traits.ParameterStorageClassTuple!(void
function(FreeListRef!(shared(int), true), int delegate(int, int) pure nothrow
@nogc @safe, int, int) nothrow @nogc @system).StorageClass!3LU error
instantiating
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/traits.d(1047,25):
       instantiated from here: StorageClass!2LU
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/traits.d(1047,25):
       instantiated from here: StorageClass!1LU
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/traits.d(1052,44):
       instantiated from here: StorageClass!0LU
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/typecons.d(4273,22):
       ... (4 instantiations, -v to show) ...
source/vibe/core/concurrency.d(1146,34):        instantiated from here:
toDelegate!(void function(FreeListRef!(shared(int), true), int delegate(int,
int) pure nothrow @nogc @safe, int, int) nothrow @nogc @system)
source/vibe/core/concurrency.d(1187,15):        instantiated from here:
async!(int delegate(int, int) pure nothrow @nogc @safe, int, int)
/home/seb/dlang/dmd/generated/linux/debug/64/../../../../../phobos/std/functional.d(1224,13):
Error: CTFE failed because of previous errors in generateFunction
core.exception.AssertError at ddmd/argtypes.d(201): Assertion failure
----------------
??:? _d_assertp [0x70ff88]
??:? _ZN10toArgTypes10ToArgTypes12argtypemergeEP4TypeS2_j [0x4ff0e0]
??:? _ZN10toArgTypes10ToArgTypes5visitEP10TypeStruct [0x4ff7e2]
??:? _ZN10TypeStruct6acceptEP7Visitor [0x5f7c1c]
??:? _Z10toArgTypesP4Type [0x4fecc9]
??:? _ZN17StructDeclaration12finalizeSizeEv [0x5704bf]
??:? _ZN20AggregateDeclaration13determineSizeE3Loc [0x4fd1f9]
??:? _ZN20AggregateDeclaration9semantic2EP5Scope [0x4fcb95]
??:? _ZN17AttribDeclaration9semantic2EP5Scope [0x501d93]
??:? _ZN14DeclarationExp8semanticEP5Scope [0x59d3d4]
??:? _ZN24StatementSemanticVisitor5visitEP12ExpStatement [0x62870b]
??:? _ZN12ExpStatement6acceptEP7Visitor [0x61dbc9]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN24StatementSemanticVisitor5visitEP17CompoundStatement [0x6289a1]
??:? _ZN17CompoundStatement6acceptEP7Visitor [0x61e319]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN15FuncDeclaration9semantic3EP5Scope [0x5bc8d3]
??:? _ZN16TemplateInstance9semantic3EP5Scope [0x583260]
??:? _ZN16TemplateInstance12trySemantic3EP5Scope [0x586b57]
??:? _ZN16TemplateInstance8semanticEP5ScopeP5ArrayIP10ExpressionE [0x582bbc]
??:? void ddmd.dtemplate.functionResolve(ddmd.declaration.Match*,
ddmd.dsymbol.Dsymbol, ddmd.globals.Loc, ddmd.dscope.Scope*,
ddmd.root.array.Array!(ddmd.root.rootobject.RootObject).Array*,
ddmd.mtype.Type, ddmd.root.array.Array!(ddmd.expression.Expression).Array*)
[0x579d7d]
??:?
_Z15resolveFuncCall3LocP5ScopeP7DsymbolP5ArrayIP10RootObjectEP4TypePS4_IP10ExpressionEi
[0x5c36d8]
??:? _ZN7CallExp8semanticEP5Scope [0x5a6c12]
??:? _Z23arrayExpressionSemanticP5ArrayIP10ExpressionEP5Scopeb [0x58d99d]
??:? _ZN7CallExp8semanticEP5Scope [0x5a4f3c]
??:? _ZN9AssignExp8semanticEP5Scope [0x5ae9b1]
??:? _ZN24StatementSemanticVisitor5visitEP12ExpStatement [0x62870b]
??:? _ZN12ExpStatement6acceptEP7Visitor [0x61dbc9]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN24StatementSemanticVisitor5visitEP17CompoundStatement [0x6289a1]
??:? _ZN17CompoundStatement6acceptEP7Visitor [0x61e319]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN24StatementSemanticVisitor5visitEP19TryFinallyStatement [0x63547e]
??:? _ZN19TryFinallyStatement6acceptEP7Visitor [0x620268]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN24StatementSemanticVisitor5visitEP17CompoundStatement [0x629134]
??:? _ZN17CompoundStatement6acceptEP7Visitor [0x61e319]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN15FuncDeclaration9semantic3EP5Scope [0x5bc8d3]
??:? _ZN16TemplateInstance9semantic3EP5Scope [0x583260]
??:? _ZN16TemplateInstance12trySemantic3EP5Scope [0x586b57]
??:? _ZN16TemplateInstance8semanticEP5ScopeP5ArrayIP10ExpressionE [0x5829aa]
??:? void ddmd.dtemplate.functionResolve(ddmd.declaration.Match*,
ddmd.dsymbol.Dsymbol, ddmd.globals.Loc, ddmd.dscope.Scope*,
ddmd.root.array.Array!(ddmd.root.rootobject.RootObject).Array*,
ddmd.mtype.Type, ddmd.root.array.Array!(ddmd.expression.Expression).Array*)
[0x579d7d]
??:?
_Z15resolveFuncCall3LocP5ScopeP7DsymbolP5ArrayIP10RootObjectEP4TypePS4_IP10ExpressionEi
[0x5c36d8]
??:? _ZN7CallExp8semanticEP5Scope [0x5a6c12]
??:? _ZN6UnaExp11unaSemanticEP5Scope [0x59e992]
??:? _ZN8DotIdExp9semanticXEP5Scope [0x5a09fe]
??:? _Z11resolveUFCSP5ScopeP7CallExp [0x58d232]
??:? _ZN7CallExp8semanticEP5Scope [0x5a4568]
??:? _ZN6BinExp11binSemanticEP5Scope [0x59ec32]
??:? _ZN6BinExp15binSemanticPropEP5Scope [0x59ecb0]
??:? _ZN8EqualExp8semanticEP5Scope [0x5b62f2]
??:? _ZN6UnaExp11unaSemanticEP5Scope [0x59e992]
??:? _ZN9AssertExp8semanticEP5Scope [0x5a0624]
??:? _ZN24StatementSemanticVisitor5visitEP12ExpStatement [0x62870b]
??:? _ZN12ExpStatement6acceptEP7Visitor [0x61dbc9]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN24StatementSemanticVisitor5visitEP17CompoundStatement [0x6289a1]
??:? _ZN17CompoundStatement6acceptEP7Visitor [0x61e319]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN15FuncDeclaration9semantic3EP5Scope [0x5bc8d3]
??:? _ZN14DeclarationExp8semanticEP5Scope [0x59d3fc]
??:? _ZN24StatementSemanticVisitor5visitEP12ExpStatement [0x62870b]
??:? _ZN12ExpStatement6acceptEP7Visitor [0x61dbc9]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN24StatementSemanticVisitor5visitEP17CompoundStatement [0x6289a1]
??:? _ZN17CompoundStatement6acceptEP7Visitor [0x61e319]
??:? ddmd.statement.Statement
ddmd.statementsem.semantic(ddmd.statement.Statement, ddmd.dscope.Scope*)
[0x635ff6]
??:? _ZN15FuncDeclaration9semantic3EP5Scope [0x5bc8d3]
??:? _ZN6Module9semantic3EP5Scope [0x5659c1]
??:? int ddmd.mars.tryMain(ulong, const(char)**) [0x5e460f]
??:? _Dmain [0x5e55ba]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFNlZv
[0x711bee]
??:? scope void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate()) [0x711b38]
??:? scope void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll() [0x711baa]
??:? scope void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate()) [0x711b38]
??:? _d_run_main [0x711ab6]
??:? main [0x5e5c4f]
??:? __libc_start_main [0xf5f49439]
FAIL
.dub/build/vibe-d-test-libevent-unittest-linux.posix-x86_64-dmd_2075-719818DEDFB0B36C9A066E0B0EEC8BB5/
vibe-d-test-libevent executable
/home/seb/dlang/dmd/generated/linux/debug/64/dmd failed with exit code 1.

According to Digger's bisection this first occurs at
https://github.com/dlang/phobos/pull/5427

--


More information about the Digitalmars-d-bugs mailing list