From https://github.com/joshmoore/zeroc-ice.git:

The patch has been modified to remove the leading a/ and b/ from the
paths.

commit d95425c7a81c268f64ac6716ca1f0c23639821e3
Author: jmoore <josh@glencoesoftware.com>
Date:   Fri Aug 19 11:48:32 2011 +0200

    Fix segfault in IcePy Communicator on exception
    
    http://www.zeroc.com/forums/bug-reports/4639-icepy-segfaults-incorrect-router-configuration.html

diff --git py/modules/IcePy/Communicator.cpp py/modules/IcePy/Communicator.cpp
index 223cfcd..8a45008 100644
--- py/modules/IcePy/Communicator.cpp
+++ py/modules/IcePy/Communicator.cpp
@@ -1003,12 +1003,12 @@ communicatorCreateObjectAdapterWithRouter(CommunicatorObject* self, PyObject* ar
         return 0;
     }
 
-    AllowThreads allowThreads; // Release Python's global interpreter lock to avoid a potential deadlock.
 
     assert(self->communicator);
     Ice::ObjectAdapterPtr adapter;
     try
     {
+        AllowThreads allowThreads; // Release Python's global interpreter lock to avoid a potential deadlock.
         adapter = (*self->communicator)->createObjectAdapterWithRouter(name, router);
     }
     catch(const Ice::Exception& ex)
