[IPython-dev] Fixing silent failures with IPython Notebook / uuid on Cygwin64
aron at ahmadia.net
Wed Oct 2 14:38:35 EDT 2013
A better fix that I missed is this patch from Evgeny Sologubov
diff -r 4a318a45c4c3 Lib/uuid.py
--- a/Lib/uuid.py Mon Aug 19 13:07:18 2013 -0400
+++ b/Lib/uuid.py Mon Aug 19 21:41:08 2013 +0400
@@ -429,6 +429,8 @@
_uuid_generate_random = lib.uuid_generate_random
if hasattr(lib, 'uuid_generate_time'):
_uuid_generate_time = lib.uuid_generate_time
+ if _uuid_generate_random is not None:
+ break # found everything we were looking for
# The uuid_generate_* functions are broken on MacOS X 10.5, as noted
# in issue #8621 the function generates the same sequence of values
On Mon, Sep 30, 2013 at 2:26 PM, Aron Ahmadia <aron at ahmadia.net> wrote:
> Just a heads up for anybody who is trying to do development in Cygwin64.
> First off, you will need to follow the instructions here for getting
> If you are trying to run the notebook, you may encounter silent failures
> when running IPython Notebook from the command line:
> $ ipython notebook
> (Simply exits with no messages/errors)
> This is coming from a segfault in the Cygwin64 Python uuid module. I tried
> to follow the instructions here:
> and here: http://bugs.python.org/file20685/issue11063.patch but this didn't
> fix the crash.
> My stop-gap solution is to disable the call to _uuid_generate in uuid4
> post-patch. This is reasonably safe, and just uses a different random
> number generator instead of the system-provided uuid function.
> def uuid4():
> """Generate a random UUID."""
> # When the system provides a version-4 UUID generator, use it.
> + # AA disabling _uuid_generate
> + uuid_generate_random = None
> - uuid_generate_random = _uuid_generate("uuid_generate_random")
> The CPython and Cygwin folks appear to be aware of this issue, but since it
> took some of my time to debug, I'm hoping this will help others encountering
> similar problems in the future.
> After switching away from a GitHub release build, I've got IPython Notebook
> and the majority of its dependencies building from source using HashDist on
> Cygwin64 with a few things coming from the system, such as the broken Python
> patched above.
> Happy coding.
More information about the IPython-dev