On Wednesday, 18 April 2018 at 22:24:13 UTC, Matthias Klumpp
wrote:
size_t memSize = pooltable.maxAddr - minAddr;
(https://github.com/ldc-developers/druntime/blob/ldc/src/gc/impl/conservative/gc.d#L1982
)
That wouldn't make sense for a pool size...
The machine this is running on has 16G memory, at the time of
the crash the software was using ~2.1G memory, with 130G
virtual memory due to LMDB memory mapping (I wonder what
happens if I reduce that...)
If big LMDB mapping causes a problem, try a test like this:
---
import core.memory;
void testLMDB()
{
//how do you use it?
}
void test1()
{
void*[][] a;
foreach(i;0..100000)a~=new void*[10000];
void*[][] b;
foreach(i;0..100000)b~=new void*[10000];
b=null;
GC.collect();
testLMDB();
GC.collect();
foreach(i;0..100000)a~=new void*[10000];
foreach(i;0..100000)b~=new void*[10000];
b=null;
GC.collect();
}
---