Made sure the directories of the core dump exist. This logic should go away once the paths of the core dump files are propgated correctly.
diff --git a/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/lifecycle/LifeCycleComponentManager.java b/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/lifecycle/LifeCycleComponentManager.java
index 8f0580d..55fc94b 100644
--- a/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/lifecycle/LifeCycleComponentManager.java
+++ b/hyracks/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/lifecycle/LifeCycleComponentManager.java
@@ -47,7 +47,7 @@
     @Override
     public void uncaughtException(Thread t, Throwable e) {
         if (LOGGER.isLoggable(Level.SEVERE)) {
-            LOGGER.severe("Uncaught Exception from thread" + t.getName() + " message:" + e.getMessage());
+            LOGGER.severe("Uncaught Exception from thread " + t.getName() + " message: " + e.getMessage());
             e.printStackTrace();
         }
         try {
@@ -101,8 +101,12 @@
             try {
                 if (dumpState) {
                     componentDumpPath = dumpPath + File.separator + component.getClass().getName() + "-coredump";
-                    componentDumpStream = new FileOutputStream(componentDumpPath);
-
+                    File f = new File(componentDumpPath);
+                    File parentDir = new File(f.getParent());
+                    if (!parentDir.exists()) {
+                        parentDir.mkdirs();
+                    }
+                    componentDumpStream = new FileOutputStream(f);
                 }
                 if (LOGGER.isLoggable(Level.SEVERE)) {
                     LOGGER.severe("Stopping component instance" + component.getClass().getName() + " dump state "
@@ -111,7 +115,7 @@
                 component.stop(dumpState, componentDumpStream);
             } catch (Exception e) {
                 if (LOGGER.isLoggable(Level.SEVERE)) {
-                    LOGGER.severe("Exception in stopping component " + component.getClass().getName());
+                    LOGGER.severe("Exception in stopping component " + component.getClass().getName() + e.getMessage());
                 }
             } finally {
                 if (componentDumpStream != null) {