Return an error before trying to create an index in an unwriteable dir. Patch from mwtalbert. Index: main/src/modules/swmodule.cpp =================================================================== --- main.orig/src/modules/swmodule.cpp 2009-08-30 19:46:22.000000000 -0700 +++ main/src/modules/swmodule.cpp 2009-08-30 19:47:07.000000000 -0700 @@ -1026,7 +1026,9 @@ if ((ch != '/') && (ch != '\\')) target.append('/'); target.append("lucene"); - FileMgr::createParent(target+"/dummy"); + int iswritable = FileMgr::createParent(target+"/dummy"); + if (iswritable == -1) + return -1; ramDir = new RAMDirectory(); coreWriter = new IndexWriter(ramDir, an, true);