--- old/src/hotspot/share/gc/cms/cmsHeap.cpp 2018-12-09 03:18:54.194418004 -0500 +++ new/src/hotspot/share/gc/cms/cmsHeap.cpp 2018-12-09 03:18:53.854399998 -0500 @@ -70,19 +70,24 @@ Generation::ParNew, Generation::ConcurrentMarkSweep, "ParNew:CMS"), + _workers(NULL), _eden_pool(NULL), _survivor_pool(NULL), _old_pool(NULL) { - _workers = new WorkGang("GC Thread", ParallelGCThreads, - /* are_GC_task_threads */true, - /* are_ConcurrentGC_threads */false); - _workers->initialize_workers(); } jint CMSHeap::initialize() { jint status = GenCollectedHeap::initialize(); if (status != JNI_OK) return status; + _workers = new WorkGang("GC Thread", ParallelGCThreads, + /* are_GC_task_threads */true, + /* are_ConcurrentGC_threads */false); + if (_workers == NULL) { + return JNI_ENOMEM; + } + _workers->initialize_workers(); + // If we are running CMS, create the collector responsible // for collecting the CMS generations. if (!create_cms_collector()) {