[dmd-beta] dmd 2.053 beta (Stack Overflow)
Nick Sabalausky
semitwist at gmail.com
Sat May 7 01:59:40 PDT 2011
I'm getting a stack overflow with the 2.053 beta (Windows). This one's
probably going to be a PITA to narrow down, if even possible, but here's
what I know so far before trying to narrow anything:
On the current trunk on SemiTwist D Tool (revision 220):
http://www.dsource.org/projects/semitwist/browser/trunk
svn co -r 220 http://svn.dsource.org/projects/semitwist/trunk
SemiTwistDTools
Building the unittest app will cause DMD to get a Stack Overflow in this new
beta (works fine in 2.052). The cmd line sent to DMD is this:
dmd -debug -g -unittest -wi -debug=SemiTwistDLib_unittest -Isrc -of"bin\semitwist-unittests-debug.exe"
-I"src\semitwist\apps\tests\unittests"
"src\semitwist\apps\tests\unittests\main.d" "src\semitwist\util\text.d"
"src\semitwist\cmdlineparser.d" "src\semitwist\util\unittests.d"
"src\semitwist\treeout.d" "src\semitwist\cmd\all.d"
"src\semitwist\util\io.d" "src\semitwist\cmd\plain.d"
"src\semitwist\util\os.d" "src\semitwist\util\ver.d"
"src\semitwist\util\all.d" "D:\DevTool\dmd\bin\..\src\phobos\crc32.d"
"src\semitwist\util\mixins.d" "src\semitwist\util\array.d"
"src\semitwist\util\functional.d" "src\semitwist\util\ctfe.d"
"src\semitwist\util\process.d" "src\semitwist\refbox.d"
"src\semitwist\util\container.d" "src\semitwist\util\reflect.d"
If I add the -v switch, here's the verbose output:
binary D:\DevTool\dmd\bin\dmd.exe
version v2.053
config D:\DevTool\dmd\bin\sc.ini
parse main
parse text
parse cmdlineparser
parse unittests
parse treeout
parse all
parse io
parse plain
parse os
parse ver
parse all
parse crc32
parse mixins
parse array
parse functional
parse ctfe
parse process
parse refbox
parse container
parse reflect
importall main
import object (D:\DevTool\dmd\bin\..\src\druntime\import\object.di)
import std.stdio (D:\DevTool\dmd\bin\..\src\phobos\std\stdio.d)
import core.stdc.stdio
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\stdio.di)
import core.stdc.config
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\config.di)
import core.stdc.stddef
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\stddef.di)
import core.stdc.stdarg
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\stdarg.di)
import std.stdiobase (D:\DevTool\dmd\bin\..\src\phobos\std\stdiobase.d)
import core.memory
(D:\DevTool\dmd\bin\..\src\druntime\import\core\memory.di)
import core.stdc.errno
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\errno.di)
import core.stdc.stdlib
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\stdlib.di)
import core.stdc.string
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\string.di)
import core.stdc.wchar_
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\wchar_.di)
import core.stdc.time
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\time.di)
import core.stdc.stdint
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\stdint.di)
import core.stdc.signal
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\signal.di)
import std.algorithm (D:\DevTool\dmd\bin\..\src\phobos\std\algorithm.d)
import std.c.string (D:\DevTool\dmd\bin\..\src\phobos\std\c\string.d)
import std.array (D:\DevTool\dmd\bin\..\src\phobos\std\array.d)
import core.bitop
(D:\DevTool\dmd\bin\..\src\druntime\import\core\bitop.di)
import std.conv (D:\DevTool\dmd\bin\..\src\phobos\std\conv.d)
import core.stdc.math
(D:\DevTool\dmd\bin\..\src\druntime\import\core\stdc\math.di)
import std.ctype (D:\DevTool\dmd\bin\..\src\phobos\std\ctype.d)
import std.exception (D:\DevTool\dmd\bin\..\src\phobos\std\exception.d)
import std.range (D:\DevTool\dmd\bin\..\src\phobos\std\range.d)
import std.functional (D:\DevTool\dmd\bin\..\src\phobos\std\functional.d)
import std.metastrings
(D:\DevTool\dmd\bin\..\src\phobos\std\metastrings.d)
import std.traits (D:\DevTool\dmd\bin\..\src\phobos\std\traits.d)
import std.typetuple (D:\DevTool\dmd\bin\..\src\phobos\std\typetuple.d)
import std.typecons (D:\DevTool\dmd\bin\..\src\phobos\std\typecons.d)
import std.format (D:\DevTool\dmd\bin\..\src\phobos\std\format.d)
import core.vararg
(D:\DevTool\dmd\bin\..\src\druntime\import\core\vararg.di)
import std.bitmanip (D:\DevTool\dmd\bin\..\src\phobos\std\bitmanip.d)
import std.math (D:\DevTool\dmd\bin\..\src\phobos\std\math.d)
import std.string (D:\DevTool\dmd\bin\..\src\phobos\std\string.d)
import core.exception
(D:\DevTool\dmd\bin\..\src\druntime\import\core\exception.di)
import std.encoding (D:\DevTool\dmd\bin\..\src\phobos\std\encoding.d)
import std.regex (D:\DevTool\dmd\bin\..\src\phobos\std\regex.d)
import std.outbuffer (D:\DevTool\dmd\bin\..\src\phobos\std\outbuffer.d)
import std.c.stdio (D:\DevTool\dmd\bin\..\src\phobos\std\c\stdio.d)
import std.c.stdlib (D:\DevTool\dmd\bin\..\src\phobos\std\c\stdlib.d)
import std.c.stdarg (D:\DevTool\dmd\bin\..\src\phobos\std\c\stdarg.d)
import std.utf (D:\DevTool\dmd\bin\..\src\phobos\std\utf.d)
import std.uni (D:\DevTool\dmd\bin\..\src\phobos\std\uni.d)
import std.system (D:\DevTool\dmd\bin\..\src\phobos\std\system.d)
import std.random (D:\DevTool\dmd\bin\..\src\phobos\std\random.d)
import std.c.time (D:\DevTool\dmd\bin\..\src\phobos\std\c\time.d)
import std.datetime (D:\DevTool\dmd\bin\..\src\phobos\std\datetime.d)
import core.time (D:\DevTool\dmd\bin\..\src\druntime\import\core\time.di)
import core.sys.windows.windows
(D:\DevTool\dmd\bin\..\src\druntime\import\core\sys\windows\windows.di)
import std.file (D:\DevTool\dmd\bin\..\src\phobos\std\file.d)
import std.path (D:\DevTool\dmd\bin\..\src\phobos\std\path.d)
import std.process (D:\DevTool\dmd\bin\..\src\phobos\std\process.d)
import std.c.process (D:\DevTool\dmd\bin\..\src\phobos\std\c\process.d)
import std.c.stddef (D:\DevTool\dmd\bin\..\src\phobos\std\c\stddef.d)
import std.windows.syserror
(D:\DevTool\dmd\bin\..\src\phobos\std\windows\syserror.d)
import std.windows.charset
(D:\DevTool\dmd\bin\..\src\phobos\std\windows\charset.d)
import std.c.windows.windows
(D:\DevTool\dmd\bin\..\src\phobos\std\c\windows\windows.d)
import std.regexp (D:\DevTool\dmd\bin\..\src\phobos\std\regexp.d)
import std.__fileinit (D:\DevTool\dmd\bin\..\src\phobos\std\__fileinit.d)
import core.thread
(D:\DevTool\dmd\bin\..\src\druntime\import\core\thread.di)
import core.sync.mutex
(D:\DevTool\dmd\bin\..\src\druntime\import\core\sync\mutex.di)
import core.sync.exception
(D:\DevTool\dmd\bin\..\src\druntime\import\core\sync\exception.di)
import core.sys.windows.threadaux
(D:\DevTool\dmd\bin\..\src\druntime\import\core\sys\windows\threadaux.di)
import std.c.windows.winsock
(D:\DevTool\dmd\bin\..\src\phobos\std\c\windows\winsock.d)
import std.stdint (D:\DevTool\dmd\bin\..\src\phobos\std\stdint.d)
import std.numeric (D:\DevTool\dmd\bin\..\src\phobos\std\numeric.d)
import std.complex (D:\DevTool\dmd\bin\..\src\phobos\std\complex.d)
import std.container (D:\DevTool\dmd\bin\..\src\phobos\std\container.d)
import std.iterator (D:\DevTool\dmd\bin\..\src\phobos\std\iterator.d)
import std.stream (D:\DevTool\dmd\bin\..\src\phobos\std\stream.d)
import std.mmfile (D:\DevTool\dmd\bin\..\src\phobos\std\mmfile.d)
import std.demangle (D:\DevTool\dmd\bin\..\src\phobos\std\demangle.d)
import core.demangle
(D:\DevTool\dmd\bin\..\src\druntime\import\core\demangle.di)
import std.md5 (D:\DevTool\dmd\bin\..\src\phobos\std\md5.d)
importall text
importall cmdlineparser
importall unittests
importall treeout
importall all
importall io
importall plain
importall os
importall ver
importall all
importall crc32
importall mixins
importall array
importall functional
importall ctfe
importall process
importall refbox
importall container
importall reflect
semantic main
library advapi32.lib
semantic text
semantic cmdlineparser
semantic unittests
semantic treeout
semantic all
semantic io
semantic plain
semantic os
semantic ver
semantic all
semantic crc32
semantic mixins
semantic array
semantic functional
semantic ctfe
semantic process
semantic refbox
semantic container
semantic reflect
semantic2 main
semantic2 text
semantic2 cmdlineparser
semantic2 unittests
semantic2 treeout
semantic2 all
semantic2 io
semantic2 plain
semantic2 os
semantic2 ver
semantic2 all
semantic2 crc32
semantic2 mixins
semantic2 array
semantic2 functional
semantic2 ctfe
semantic2 process
semantic2 refbox
semantic2 container
semantic2 reflect
semantic3 main
semantic3 text
Stack overflow
Don't know if that helps. Probably not. I'll see if I can narrow it down,
but being a stack overflow, I don't know: Maybe it's infinite recursion
somewhere, or maybe the stack just isn't big enough.
More information about the dmd-beta
mailing list