Bug 1440 – Compiler hang with some modules

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2007-08-26T03:35:00Z
Last change time
2015-06-09T05:14:50Z
Assigned to
dvdfrdmn
Creator
akaquinn

Attachments

IDFilenameSummaryContent-TypeSize
170testcase.tar.gzNon-minimal test caseapplication/x-gzip32948

Comments

Comment #0 by akaquinn — 2007-08-26T03:35:53Z
Unfortunately, I haven't figured out a particularly minimal test case for this, and it happens in a Tango module, but GDC 0.24 hangs while trying to compile a certain module. This is a regression. If I can figure out where, I'll upload the testcase with the rest of Tango cut out, but, if you check out the latest svn of Tango (http://svn.dsource.org/projects/tango/trunk/ ) and try to compile tango/io/compress/Zlib.d ( gdc -c tango/io/compress/Zlib.d ), the compiler will hang. I've caused this with GDC 0.24 against GCC 4.1.2 on GNU/Linux. Testing this does not require installing the Tango core. $ gdc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../configure --prefix=/opt/gdc Thread model: posix gcc version 4.1.2 20070214 ( (gdc 0.24, using dmd 1.020))
Comment #1 by akaquinn — 2007-08-26T03:37:31Z
Created attachment 170 Non-minimal test case The files which can reproduce the test case, cut out of Tango.
Comment #2 by afb — 2007-08-26T15:41:47Z
Reproducable here, on gcc-5363 / Mac OS X 10.4 hangs at the end of: parse Zlib semantic Zlib import object (object.di) import tango.io.compress.c.zlib (tango/io/compress/c/zlib.d) import tango.stdc.stringz (tango/stdc/stringz.d) import tango.core.Exception (tango/core/Exception.di) import tango.io.Conduit (tango/io/Conduit.d) import tango.io.model.IConduit (tango/io/model/IConduit.d) import tango.io.model.IBuffer (tango/io/model/IBuffer.d) semantic2 Zlib semantic3 Zlib code Zlib
Comment #3 by afb — 2007-08-26T16:55:23Z
Issue seems related to the CHUNKSIZE, as it applies to the arrays created. private const CHUNKSIZE = 16 * 1024; seems to make the compiler survive...
Comment #4 by dvdfrdmn — 2007-08-28T19:03:37Z
Fixed in svn rev 147 / release 0.25.