Opened 12 years ago
Last modified 10 years ago
#5154 new Bugs
1.45.0 python OS X 10.6 test_extending.py hangs
Reported by: | Owned by: | Dave Abrahams | |
---|---|---|---|
Milestone: | To Be Determined | Component: | python USE GITHUB |
Version: | Boost 1.46.1 | Severity: | Showstopper |
Keywords: | Cc: |
Description
The following quickstart hangs on system python and EPD 32 6.2.3 32 bit this log for ootb system python. I'll try this out on svn trunk...
/usr/local/src/boost_1_45_0/libs/python/example/quickstart chi:quickstart ix$ sudo /usr/local/src/boost_1_45_0/bjam toolset=darwin --debug-configuration --verbose-test test notice: found boost-build.jam at /usr/local/src/boost_1_45_0/libs/python/example/quickstart/boost-build.jam notice: loading Boost.Build from /usr/local/src/boost_1_45_0/tools/build/v2 notice: Searching /etc /Users/ix /usr/local/src/boost_1_45_0/libs/python/example/quickstart/../../../../tools/build/v2 /usr/share/boost-build /usr/local/src/boost_1_45_0/tools/build/v2/kernel /usr/local/src/boost_1_45_0/tools/build/v2/util /usr/local/src/boost_1_45_0/tools/build/v2/build /usr/local/src/boost_1_45_0/tools/build/v2/tools /usr/local/src/boost_1_45_0/tools/build/v2/contrib /usr/local/src/boost_1_45_0/tools/build/v2/. for site-config configuration file site-config.jam . notice: Loading site-config configuration file site-config.jam from /usr/local/src/boost_1_45_0/tools/build/v2/site-config.jam . notice: Searching /Users/ix /usr/local/src/boost_1_45_0/libs/python/example/quickstart/../../../../tools/build/v2 /usr/share/boost-build /usr/local/src/boost_1_45_0/tools/build/v2/kernel /usr/local/src/boost_1_45_0/tools/build/v2/util /usr/local/src/boost_1_45_0/tools/build/v2/build /usr/local/src/boost_1_45_0/tools/build/v2/tools /usr/local/src/boost_1_45_0/tools/build/v2/contrib /usr/local/src/boost_1_45_0/tools/build/v2/. for user-config configuration file user-config.jam . notice: Loading user-config configuration file user-config.jam from /usr/local/src/boost_1_45_0/tools/build/v2/user-config.jam . notice: Searching ../../../.. for project-config configuration file project-config.jam . notice: Loading project-config configuration file project-config.jam from ../../../../project-config.jam . notice: OSX version on this machine is 10.6.6 notice: will use 'g++' for darwin, condition <toolset>darwin-4.2.1 notice: using strip for <toolset>darwin-4.2.1 at /usr/bin/strip notice: using archiver for <toolset>darwin-4.2.1 at /usr/bin/libtool notice: available sdk for <toolset>darwin-4.2.1/<macosx-version>10.5 at /Developer/SDKs/MacOSX10.5.sdk notice: available sdk for <toolset>darwin-4.2.1/<macosx-version>10.6 at /Developer/SDKs/MacOSX10.6.sdk notice: [python-cfg] Configuring python... notice: [python-cfg] user-specified version: "2.6" notice: [python-cfg] user-specified cmd-or-prefix: "/System/Library/Frameworks/Python.framework/Versions/2.6" notice: [python-cfg] Checking interpreter command "/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python"... notice: [python-cfg] running command '"/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python" -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1' notice: [python-cfg] ...requested configuration matched! notice: [python-cfg] Details of this Python configuration: notice: [python-cfg] interpreter command: "/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python" notice: [python-cfg] include path: "/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6" notice: [python-cfg] library path: "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/config" "/System/Library/Frameworks/Python.framework/Versions/2.6/lib" notice: [python-cfg] framework directory is "/System/Library/Frameworks/Python.framework" notice: [cmdline-cfg] Detected command-line request for darwin: toolset= darwin version= notice: [cmdline-cfg] toolset darwin already configured notice: iostreams: using prebuilt zlib notice: iostreams: using prebuilt bzip2 ...patience... ...patience... ...found 1605 targets... ...updating 9 targets... darwin.compile.c++ bin/darwin-4.2.1/debug/extending.o darwin.link.dll ../../../../bin.v2/libs/python/build/darwin-4.2.1/debug/libboost_python.dylib darwin.link.dll bin/darwin-4.2.1/debug/extending.so ^C
Change History (4)
comment:1 by , 12 years ago
comment:2 by , 11 years ago
Version: | Boost 1.45.0 → Boost 1.46.1 |
---|
Totally different build, including a locally built python-2.7.1, but the same problem: Here's the backtrace:
#0 0x97be8aca in ioctl () #1 0x00511b24 in get_tty_settings () #2 0x00511b6d in rltty_set_default_bindings () #3 0x0050bfee in rl_initialize () #4 0x005050cc in setup_readline [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Modules/readline.c:912 #5 0x005050cc in initreadline () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Modules/readline.c:1143 #6 0x000dfa1e in _PyImport_LoadDynamicModule (name=0xbfffbc2b "readline", pathname=0xbfffb77b "/usr/local/gtk-stable/inst/lib/python2.7/lib-dynload/readline.so", fp=0xa09bc8e0) at ./Python/importdl.c:53 #7 0x000dd647 in load_module (name=0xbfffbc2b "readline", fp=0xa09bc8e0, pathname=<value temporarily unavailable, due to optimizations>, type=3, loader=0x0) at Python/import.c:1834 #8 0x000ddd21 in import_submodule (mod=0x14fed8, subname=0xbfffbc2b "readline", fullname=0xbfffbc2b "readline") at Python/import.c:2596 #9 0x000de236 in load_next (mod=0x14fed8, altmod=0x14fed8, p_name=<value temporarily unavailable, due to optimizations>, buf=0xbfffbc2b "readline", p_buflen=0xbfffbc20) at Python/import.c:2416 #10 0x000de532 in PyImport_ImportModuleLevel (name=0x2372b4 "readline", globals=0x477270, locals=0x14fed8, fromlist=0x14fed8, level=-1) at Python/import.c:2137 #11 0x000bbaef in builtin_import (self=0x0, args=0x2b64b0, kwds=0x0) at Python/bltinmodule.c:49 #12 0x0000ffc5 in PyObject_Call (func=0x23ab48, arg=0x2b64b0, kw=0x0) at Objects/abstract.c:2529 #13 0x000bccde in PyEval_CallObjectWithKeywords (func=0x23ab48, arg=0x2b64b0, kw=0x0) at Python/ceval.c:3882 #14 0x000c159f in PyEval_EvalFrameEx (f=0x3543b0, throwflag=0) at Python/ceval.c:2333 #15 0x000c69fc in PyEval_EvalCodeEx (co=0x46c770, globals=0x477270, locals=0x0, args=0x2c4a5c, argcount=1, kws=0x4b5b04, kwcount=1, defs=0x49099c, defcount=4, closure=0x0) at Python/ceval.c:3253 #16 0x00041722 in function_call (func=0x494f30, arg=0x2c4a50, kw=0x4b8540) at Objects/funcobject.c:526 #17 0x0000ffc5 in PyObject_Call (func=0x494f30, arg=0x2c4a50, kw=0x4b8540) at Objects/abstract.c:2529 #18 0x00022575 in instancemethod_call (func=0x494f30, arg=0x2c4a50, kw=0x4b8540) at Objects/classobject.c:2578 #19 0x0000ffc5 in PyObject_Call (func=0x40f0a8, arg=0x2c4a50, kw=0x4b8540) at Objects/abstract.c:2529 #20 0x000bf524 in do_call [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4231 #21 0x000bf524 in call_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4036 #22 0x000bf524 in PyEval_EvalFrameEx (f=0x354240, throwflag=0) at Python/ceval.c:2666 #23 0x000c69fc in PyEval_EvalCodeEx (co=0x2bdec0, globals=0x2c5030, locals=0x0, args=0x4b52e4, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253 #24 0x0004161b in function_call (func=0x4b6e30, arg=0x4b52d8, kw=0x0) at Objects/funcobject.c:526 #25 0x0000ffc5 in PyObject_Call (func=0x4b6e30, arg=0x4b52d8, kw=0x0) at Objects/abstract.c:2529 #26 0x00022575 in instancemethod_call (func=0x4b6e30, arg=0x4b52d8, kw=0x0) at Objects/classobject.c:2578 #27 0x0000ffc5 in PyObject_Call (func=0x409fd0, arg=0x2c4210, kw=0x0) at Objects/abstract.c:2529 #28 0x000bccde in PyEval_CallObjectWithKeywords (func=0x409fd0, arg=0x2c4210, kw=0x0) at Python/ceval.c:3882 #29 0x00025885 in PyInstance_New (klass=0x4a3c38, arg=0x2c4210, kw=0x0) at Objects/classobject.c:571 #30 0x0000ffc5 in PyObject_Call (func=0x4a3c38, arg=0x2c4210, kw=0x0) at Objects/abstract.c:2529 #31 0x000bf524 in do_call [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4231 #32 0x000bf524 in call_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4036 #33 0x000bf524 in PyEval_EvalFrameEx (f=0x353f50, throwflag=0) at Python/ceval.c:2666 #34 0x000c69fc in PyEval_EvalCodeEx (co=0x2cb608, globals=0x2c5030, locals=0x0, args=0x34009c, argcount=2, kws=0x3400a4, kwcount=0, defs=0x4b99ec, defcount=3, closure=0x0) at Python/ceval.c:3253 #35 0x000c4845 in fast_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4109 #36 0x000c4845 in PyEval_EvalFrameEx (f=0x33ff30, throwflag=0) at Python/ceval.c:4034 #37 0x000c69fc in PyEval_EvalCodeEx (co=0x2cc218, globals=0x2c5030, locals=0x0, args=0x3288ac, argcount=1, kws=0x3288b0, kwcount=1, defs=0x48797c, defcount=9, closure=0x0) at Python/ceval.c:3253 #38 0x000c4845 in fast_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4109 #39 0x000c4845 in PyEval_EvalFrameEx (f=0x328760, throwflag=0) at Python/ceval.c:4034 #40 0x000c69fc in PyEval_EvalCodeEx (co=0x299b60, globals=0x24d660, locals=0x0, args=0x3285c0, argcount=0, kws=0x3285c0, kwcount=0, defs=0x29599c, defcount=1, closure=0x0) at Python/ceval.c:3253 #41 0x000c4845 in fast_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4109 #42 0x000c4845 in PyEval_EvalFrameEx (f=0x328480, throwflag=0) at Python/ceval.c:4034 #43 0x000c69fc in PyEval_EvalCodeEx (co=0x29f770, globals=0x24d660, locals=0x24d660, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253 #44 0x000c6b47 in PyEval_EvalCode (co=0x29f770, globals=0x24d660, locals=0x24d660) at Python/ceval.c:667 #45 0x000eafcc in run_mod [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/pythonrun.c:1346 #46 0x000eafcc in PyRun_FileExFlags (fp=0xa09bc8e0, filename=0xbfffde23 "test_extending.py", start=257, globals=0x24d660, locals=0x24d660, closeit=1, flags=0xbfffdc6c) at Python/pythonrun.c:1332 #47 0x000eb334 in PyRun_SimpleFileExFlags (fp=0xa09bc8e0, filename=0xbfffde23 "test_extending.py", closeit=1, flags=0xbfffdc6c) at Python/pythonrun.c:936 #48 0x00102e15 in Py_Main (argc=1, argv=0xbfffdca8) at Modules/main.c:599 #49 0x00002f35 in start ()
comment:3 by , 11 years ago
A bit more useful with debugging enabled in readline:
#0 0x97be8aca in ioctl () #1 0x00512c39 in set_winsize (tty=0) at ../rltty.c:84 #2 0x00512e43 in get_tty_settings (tty=0, tiop=0xbfffb590) at ../rltty.c:458 #3 0x00513586 in rltty_set_default_bindings (kmap=0x536460) at ../rltty.c:878 #4 0x00513610 in rl_tty_set_default_bindings (kmap=0x536460) at ../rltty.c:889 #5 0x0050d301 in readline_default_bindings () at ../readline.c:1106 #6 0x0050d22a in readline_initialize_everything () at ../readline.c:1064 #7 0x0050d0a5 in rl_initialize () at ../readline.c:963 #8 0x005050cc in setup_readline [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Modules/readline.c:912 #9 0x005050cc in initreadline () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Modules/readline.c:1143 #10 0x000dfa1e in _PyImport_LoadDynamicModule (name=0xbfffbc2b "readline", pathname=0xbfffb77b "/usr/local/gtk-stable/inst/lib/python2.7/lib-dynload/readline.so", fp=0xa09bc8e0) at ./Python/importdl.c:53 #11 0x000dd647 in load_module (name=0xbfffbc2b "readline", fp=0xa09bc8e0, pathname=<value temporarily unavailable, due to optimizations>, type=3, loader=0x0) at Python/import.c:1834 #12 0x000ddd21 in import_submodule (mod=0x14fed8, subname=0xbfffbc2b "readline", fullname=0xbfffbc2b "readline") at Python/import.c:2596 #13 0x000de236 in load_next (mod=0x14fed8, altmod=0x14fed8, p_name=<value temporarily unavailable, due to optimizations>, buf=0xbfffbc2b "readline", p_buflen=0xbfffbc20) at Python/import.c:2416 #14 0x000de532 in PyImport_ImportModuleLevel (name=0x2372b4 "readline", globals=0x477270, locals=0x14fed8, fromlist=0x14fed8, level=-1) at Python/import.c:2137 #15 0x000bbaef in builtin___import__ (self=0x0, args=0x2b64b0, kwds=0x0) at Python/bltinmodule.c:49 #16 0x0000ffc5 in PyObject_Call (func=0x23ab48, arg=0x2b64b0, kw=0x0) at Objects/abstract.c:2529 #17 0x000bccde in PyEval_CallObjectWithKeywords (func=0x23ab48, arg=0x2b64b0, kw=0x0) at Python/ceval.c:3882 #18 0x000c159f in PyEval_EvalFrameEx (f=0x3543b0, throwflag=0) at Python/ceval.c:2333 #19 0x000c69fc in PyEval_EvalCodeEx (co=0x46c770, globals=0x477270, locals=0x0, args=0x2c4a5c, argcount=1, kws=0x4b5b04, kwcount=1, defs=0x49099c, defcount=4, closure=0x0) at Python/ceval.c:3253 #20 0x00041722 in function_call (func=0x494f30, arg=0x2c4a50, kw=0x4b8540) at Objects/funcobject.c:526 #21 0x0000ffc5 in PyObject_Call (func=0x494f30, arg=0x2c4a50, kw=0x4b8540) at Objects/abstract.c:2529 #22 0x00022575 in instancemethod_call (func=0x494f30, arg=0x2c4a50, kw=0x4b8540) at Objects/classobject.c:2578 #23 0x0000ffc5 in PyObject_Call (func=0x40f0a8, arg=0x2c4a50, kw=0x4b8540) at Objects/abstract.c:2529 #24 0x000bf524 in do_call [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4231 #25 0x000bf524 in call_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4036 #26 0x000bf524 in PyEval_EvalFrameEx (f=0x354240, throwflag=0) at Python/ceval.c:2666 #27 0x000c69fc in PyEval_EvalCodeEx (co=0x2bdec0, globals=0x2c5030, locals=0x0, args=0x4b52e4, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253 #28 0x0004161b in function_call (func=0x4b6e30, arg=0x4b52d8, kw=0x0) at Objects/funcobject.c:526 #29 0x0000ffc5 in PyObject_Call (func=0x4b6e30, arg=0x4b52d8, kw=0x0) at Objects/abstract.c:2529 #30 0x00022575 in instancemethod_call (func=0x4b6e30, arg=0x4b52d8, kw=0x0) at Objects/classobject.c:2578 #31 0x0000ffc5 in PyObject_Call (func=0x409fd0, arg=0x2c4210, kw=0x0) at Objects/abstract.c:2529 #32 0x000bccde in PyEval_CallObjectWithKeywords (func=0x409fd0, arg=0x2c4210, kw=0x0) at Python/ceval.c:3882 #33 0x00025885 in PyInstance_New (klass=0x4a3c38, arg=0x2c4210, kw=0x0) at Objects/classobject.c:571 #34 0x0000ffc5 in PyObject_Call (func=0x4a3c38, arg=0x2c4210, kw=0x0) at Objects/abstract.c:2529 #35 0x000bf524 in do_call [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4231 #36 0x000bf524 in call_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4036 #37 0x000bf524 in PyEval_EvalFrameEx (f=0x353f50, throwflag=0) at Python/ceval.c:2666 #38 0x000c69fc in PyEval_EvalCodeEx (co=0x2cb608, globals=0x2c5030, locals=0x0, args=0x34009c, argcount=2, kws=0x3400a4, kwcount=0, defs=0x4b99ec, defcount=3, closure=0x0) at Python/ceval.c:3253 #39 0x000c4845 in fast_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4109 #40 0x000c4845 in PyEval_EvalFrameEx (f=0x33ff30, throwflag=0) at Python/ceval.c:4034 #41 0x000c69fc in PyEval_EvalCodeEx (co=0x2cc218, globals=0x2c5030, locals=0x0, args=0x3288ac, argcount=1, kws=0x3288b0, kwcount=1, defs=0x48797c, defcount=9, closure=0x0) at Python/ceval.c:3253 #42 0x000c4845 in fast_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4109 #43 0x000c4845 in PyEval_EvalFrameEx (f=0x328760, throwflag=0) at Python/ceval.c:4034 #44 0x000c69fc in PyEval_EvalCodeEx (co=0x299b60, globals=0x24d660, locals=0x0, args=0x3285c0, argcount=0, kws=0x3285c0, kwcount=0, defs=0x29599c, defcount=1, closure=0x0) at Python/ceval.c:3253 #45 0x000c4845 in fast_function [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/ceval.c:4109 #46 0x000c4845 in PyEval_EvalFrameEx (f=0x328480, throwflag=0) at Python/ceval.c:4034 #47 0x000c69fc in PyEval_EvalCodeEx (co=0x29f770, globals=0x24d660, locals=0x24d660, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253 #48 0x000c6b47 in PyEval_EvalCode (co=0x29f770, globals=0x24d660, locals=0x24d660) at Python/ceval.c:667 #49 0x000eafcc in run_mod [inlined] () at /Volumes/RAID1/local/gtk-stable/src/Python-2.7.2/Python/pythonrun.c:1346 #50 0x000eafcc in PyRun_FileExFlags (fp=0xa09bc8e0, filename=0xbfffde23 "test_extending.py", start=257, globals=0x24d660, locals=0x24d660, closeit=1, flags=0xbfffdc6c) at Python/pythonrun.c:1332 #51 0x000eb334 in PyRun_SimpleFileExFlags (fp=0xa09bc8e0, filename=0xbfffde23 "test_extending.py", closeit=1, flags=0xbfffdc6c) at Python/pythonrun.c:936 #52 0x00102e15 in Py_Main (argc=1, argv=0xbfffdca8) at Modules/main.c:599 #53 0x00002f35 in start () (gdb) f 1 #1 0x00512c39 in set_winsize (tty=0) at ../rltty.c:84 84 (void) ioctl (tty, TIOCSWINSZ, &w); (gdb) list 79 { 80 #if defined (TIOCGWINSZ) 81 struct winsize w; 82 83 if (ioctl (tty, TIOCGWINSZ, &w) == 0) 84 (void) ioctl (tty, TIOCSWINSZ, &w); 85 #endif /* TIOCGWINSZ */ 86 } 87 88 #if defined (NO_TTY_DRIVER) (gdb)
comment:4 by , 10 years ago
(I've searched for answers to this for a long time, so I'm going to post my solution in multiple places)
I was able to get all Boost Python tests (in /test and in /example/quickstart) by uninstalling the Homebrew-installed readline. This strongly suggests to me that a bug in readline is causing these tests to fail.
While trying to figure this out, I noticed that only the tests using doctest were failing. doctest uses readline internally, and this might be causing an issue. As has been noted in other places, readline seems to have a bug in which it emits an extra character when first imported in python. At first this seemed unrelated but now I think it (or some other readline bug) is the cause of much headaches.
This is rather unfortunate because uninstalling readline breaks the Python REPL (e.g. arrow keys no longer work). So obviously this is not a long-term fix, but it does answer some questions. Weirdly, readline is not necessarily for doctests to function.
So, I don't have a patch or anything, but I think I have tracked down the bug to readline.
Full log from clean build on standard system python and boost trunk - no cigar I'm afraid: this just hangs...