Bug 14999 – Out of memory when compiling vibe.d

Status
RESOLVED
Resolution
WONTFIX
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2015-09-01T19:56:00Z
Last change time
2016-01-17T18:34:11Z
Assigned to
nobody
Creator
rumbu

Comments

Comment #0 by rumbu — 2015-09-01T19:56:45Z
Windows 10 32 bit, 2G RAM (100% usage when compiling) These are the last lines of the verbose output: code openssl function vibe.stream.openssl._sharedStaticCtor282 function vibe.stream.openssl._sharedStaticCtor282.__dgliteral1 function vibe.stream.openssl.OpenSSLStream.this function vibe.stream.openssl.OpenSSLStream.this.__dgliteral6 function vibe.stream.openssl.OpenSSLStream.this.__dgliteral7 function vibe.stream.openssl.OpenSSLStream.this.__dgliteral8 function vibe.stream.openssl.OpenSSLStream.readPeerCertInfo function vibe.stream.openssl.OpenSSLStream.~this function vibe.stream.openssl.OpenSSLStream.empty function vibe.stream.openssl.OpenSSLStream.leastSize function vibe.stream.openssl.OpenSSLStream.dataAvailableForRead function vibe.stream.openssl.OpenSSLStream.peek function vibe.stream.openssl.OpenSSLStream.read function vibe.stream.openssl.OpenSSLStream.write function vibe.stream.openssl.OpenSSLStream.flush function vibe.stream.openssl.OpenSSLStream.finalize function vibe.stream.openssl.OpenSSLStream.write function vibe.stream.openssl.OpenSSLStream.checkSSLRet function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral3 function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral4 function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral5 function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral6 function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral7 function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral8 function vibe.stream.openssl.OpenSSLStream.checkSSLRet.__dgliteral9 function vibe.stream.openssl.OpenSSLStream.enforceSSL function vibe.stream.openssl.OpenSSLStream.enforceSSL.__dgliteral3 function vibe.stream.openssl.OpenSSLStream.enforceSSL.__dgliteral4 function vibe.stream.openssl.OpenSSLStream.enforceSSL.__dgliteral5 function vibe.stream.openssl.OpenSSLStream.enforceSSL.__dgliteral6 function vibe.stream.openssl.OpenSSLStream.checkExceptions function vibe.stream.openssl.OpenSSLStream.checkExceptions.__dgliteral1 function vibe.stream.openssl.OpenSSLStream.peerCertificate function vibe.stream.openssl.OpenSSLContext.this function vibe.stream.openssl.OpenSSLContext.~this function vibe.stream.openssl.OpenSSLContext.kind function vibe.stream.openssl.OpenSSLContext.peerValidationMode function vibe.stream.openssl.OpenSSLContext.peerValidationMode function vibe.stream.openssl.OpenSSLContext.maxCertChainLength function vibe.stream.openssl.OpenSSLContext.maxCertChainLength function vibe.stream.openssl.OpenSSLContext.peerValidationCallback function vibe.stream.openssl.OpenSSLContext.peerValidationCallback function vibe.stream.openssl.OpenSSLContext.sniCallback function vibe.stream.openssl.OpenSSLContext.sniCallback function vibe.stream.openssl.OpenSSLContext.onContextForServerName function vibe.stream.openssl.OpenSSLContext.createStream function vibe.stream.openssl.OpenSSLContext.setCipherList function vibe.stream.openssl.OpenSSLContext.guessSessionIDContext function vibe.stream.openssl.OpenSSLContext.setDHParams function vibe.stream.openssl.OpenSSLContext.setDHParams.__dgliteral2 function vibe.stream.openssl.OpenSSLContext.setDHParams.__dgliteral3 function vibe.stream.openssl.OpenSSLContext.setDHParams.__dgliteral4 function vibe.stream.openssl.OpenSSLContext.setECDHCurve function vibe.stream.openssl.OpenSSLContext.setECDHCurve.__dgliteral2 function vibe.stream.openssl.OpenSSLContext.setECDHCurve.__dgliteral3 function vibe.stream.openssl.OpenSSLContext.useCertificateChainFile function vibe.stream.openssl.OpenSSLContext.useCertificateChainFile.__dgliteral2 function vibe.stream.openssl.OpenSSLContext.usePrivateKeyFile function vibe.stream.openssl.OpenSSLContext.usePrivateKeyFile.__dgliteral2 function vibe.stream.openssl.OpenSSLContext.useTrustedCertificateFile function vibe.stream.openssl.OpenSSLContext.useTrustedCertificateFile.__dgliteral2 function vibe.stream.openssl.OpenSSLContext.useTrustedCertificateFile.__dgliteral3 function vibe.stream.openssl.OpenSSLContext.createClientCtx function vibe.stream.openssl.OpenSSLContext.VerifyData.__xopEquals function vibe.stream.openssl.OpenSSLContext.VerifyData.__xtoHash function vibe.stream.openssl.OpenSSLContext.verify_callback function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral3 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral4 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral5 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral6 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral7 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral8 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral9 function vibe.stream.openssl.OpenSSLContext.verify_callback.__dgliteral10 function vibe.stream.openssl.verifyCertName function vibe.stream.openssl.verifyCertName.check_value function vibe.stream.openssl.verifyCertName.check_value.__dgliteral3 function vibe.stream.openssl.verifyCertName.__lambda6 function vibe.stream.openssl.verifyCertName.__lambda7 function vibe.stream.openssl.verifyCertName.__lambda8 function vibe.stream.openssl.matchWildcard function vibe.stream.openssl.matchWildcard.isValidChar function vibe.stream.openssl.onCryptoGetThreadID function vibe.stream.openssl.onCryptoLock function vibe.stream.openssl.onCryptoLock.__dgliteral5 function vibe.stream.openssl.onCryptoLock.__dgliteral6 function vibe.stream.openssl.onBioNew function vibe.stream.openssl.onBioFree function vibe.stream.openssl.onBioRead function vibe.stream.openssl.onBioWrite function vibe.stream.openssl.onBioCtrl function vibe.stream.openssl.onBioCtrl.__dgliteral5 function vibe.stream.openssl.onBioPuts Fatal Error: Out of memory
Comment #1 by rumbu — 2015-09-01T19:57:52Z
Forgot the version: D2 2.068.0 Compiles successfully with D2 2.067.0
Comment #2 by code — 2016-01-17T18:34:11Z
DMD currently uses a lot of memory when compiling many modules at once, there is no simple solution to this. You can use the latest vibe.d version 0.7.27 which is split into submodules and should require less memory to compile.