[Python] Slice test fails on Intel 8.1 at runtime

This is not a new failure, but the failure is reported for the first time. Please could anybody have a look at it? See http://tinyurl.com/4n2fx Thanks, Stefan

On Sat, 2004-09-25 at 11:38, Stefan Slapeta wrote:
This is not a new failure, but the failure is reported for the first time. Please could anybody have a look at it?
Thanks,
Stefan
Please try this patch. Thanks, -Jonathan =================================================================== RCS file: /cvsroot/boost/boost/libs/python/test/slice.cpp,v retrieving revision 1.10 diff -u -r1.10 slice.cpp --- slice.cpp 24 Sep 2004 02:47:14 -0000 1.10 +++ slice.cpp 25 Sep 2004 20:25:50 -0000 @@ -82,7 +82,7 @@ bool accept_slice( slice) { return true; } #if BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND( BOOST_INTEL_WIN, == 710) + || BOOST_WORKAROUND( BOOST_INTEL_WIN, BOOST_TESTED_AT( 800)) int check_slice_get_indicies(slice index); #endif int check_slice_get_indicies(const slice index)

On Sat, 2004-09-25 at 19:03, Stefan Slapeta wrote:
Jonathan Brandmeyer wrote:
Please try this patch.
Doesn't change anything. Any idea where to debug?
Stefan
I suspect that BOOST_INTEL_WIN is not getting set, which leads to not enabling the workaround for this compiler. If you can run ICC on libs/python/test/slice.cpp, with the appropriate options to add C:\Python23\Include and the top level boost header file directories to the #include path, in such a way as to dump the list of macros that the preprocessor has defined (similar to what -dM -E would do with GCC), it would help me to pin down the issue. The result will be large, partially due to the 5158 macros defined by the Boost Preprocessor library, so please compress it up and send it to me directly. The old version of the workaround macro that I used only checked BOOST_INTEL_CXX_VERSION and _WIN32. Since that did not take effect for intel-7.1-vc6-win32, I modified the test to use BOOST_INTEL_WIN and BOOST_TESTED_AT() (since all known versions of ICC on Windows are affected) instead, at the recommendation of Mr. Gurtovoy (see the recent thread "Workaround macro for intel-7.1-vc6-*"). Unfortunately, the metacomm-provided test results have not been updated since I committed that change, so I don't know if it even helped the intel-win32-7.1-vc6 platform or not. Thanks, -Jonathan

On Sun, 2004-09-26 at 05:55, Stefan Slapeta wrote:
Jonathan Brandmeyer wrote:
I suspect that BOOST_INTEL_WIN is not getting set, which leads to not enabling the workaround for this compiler.
It's definitely set to 800 and the workaround is compiled. Seems there must be something different.
Stefan
Can you try this test? If it fails, please post the part wrapped in lines of "***" Thanks, Jonathan

Jonathan Brandmeyer wrote:
Can you try this test? If it fails, please post the part wrapped in lines of "***"
The complete bjam output is attached. Stefan ...found 224 targets... ...updating 14 targets... MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd mkdir "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd" MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0 mkdir "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0" MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug mkdir "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug" MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi mkdir "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi" vc-C++ ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument.obj "C:\Programme\Intel\CPP\Compiler80\Ia32\bin\icl" /Zm800 -nologo /EHsc -c -DBOOST_PYTHON_DYNAMIC_LIB /Z7 /Od /Ob0 /EHsc /GR /MDd /Op /Zc:forScope /Zc:wchar_t /Qwn5 /Qwd985 -Qoption,c,--arg_dep_lookup /Qansi_alias -D_NATIVE_WCHAR_T_DEFINED /Qvc7.1 -I"..\..\..\bin\boost\libs\python\test" -I"C:\Programme\Microsoft Visual Studio .NET 2003\VC7\include" -I"C:\views_cvs\boost" -I"..\..\.." -I"c:\python23\include" -Fo"..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument.obj" -Tp"..\..\..\libs\python\test\const_argument.cpp" const_argument.cpp command-file-dump ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.CMD IF EXIST "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.CMD" DEL "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.CMD" echo "..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument.obj">>"..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.CMD" echo "..\..\..\bin\boost\libs\python\build\boost_python.dll\intel-win32-8.0\debug\threading-multi\boost_python.lib">>..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.CMD vc-Link ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.pyd ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.lib "C:\Programme\Intel\CPP\Compiler80\Ia32\bin\xilink" /nologo /INCREMENTAL:NO /DEBUG /DLL /subsystem:console /out:"..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.pyd" /IMPLIB:"..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.lib" /LIBPATH:"c:\python23\libs" /LIBPATH:"..\..\..\bin\boost\libs\python\build\boost_python.dll\intel-win32-8.0\debug\threading-multi" /LIBPATH:"C:\Programme\Microsoft Visual Studio .NET 2003\VC7\lib" "python23.lib" "boost_python.lib" @"..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.CMD" Creating library ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.lib and object ..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argument_ext.exp MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument.test mkdir "..\..\..\bin\boost\libs\python\test\const_argument.test" MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0 mkdir "..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0" MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug mkdir "..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug" MkDir1 ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi mkdir "..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi" execute-test ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.run set PATH=c:\python23\libs;..\..\..\bin\boost\libs\python\build\boost_python.dll\intel-win32-8.0\debug\threading-multi;C:\Programme\Intel\CPP\Compiler80\Ia32\bin;%PATH% set PYTHONPATH=..\..\..\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi c:\python23\python.exe -v "..\..\..\libs\python\test\const_argument.py" -v > ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.output 2>&1 set status=%ERRORLEVEL% echo. >> ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.output echo EXIT STATUS: %status% >> ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.output if %status% EQU 0 ( copy ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.output ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.run ) set verbose=1 if %status% NEQ 0 ( set verbose=0 ) if %verbose% EQU 0 ( echo ====== BEGIN OUTPUT ====== type ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.output echo ====== END OUTPUT ====== ) exit %status% ====== BEGIN OUTPUT ====== # installing zipimport hook import zipimport # builtin # installed zipimport hook # c:\python23\lib\site.pyc matches c:\python23\lib\site.py import site # precompiled from c:\python23\lib\site.pyc # c:\python23\lib\os.pyc matches c:\python23\lib\os.py import os # precompiled from c:\python23\lib\os.pyc import nt # builtin # c:\python23\lib\ntpath.pyc matches c:\python23\lib\ntpath.py import ntpath # precompiled from c:\python23\lib\ntpath.pyc # c:\python23\lib\stat.pyc matches c:\python23\lib\stat.py import stat # precompiled from c:\python23\lib\stat.pyc # c:\python23\lib\UserDict.pyc matches c:\python23\lib\UserDict.py import UserDict # precompiled from c:\python23\lib\UserDict.pyc # c:\python23\lib\copy_reg.pyc matches c:\python23\lib\copy_reg.py import copy_reg # precompiled from c:\python23\lib\copy_reg.pyc # c:\python23\lib\types.pyc matches c:\python23\lib\types.py import types # precompiled from c:\python23\lib\types.pyc # c:\python23\lib\locale.pyc matches c:\python23\lib\locale.py import locale # precompiled from c:\python23\lib\locale.pyc import _locale # builtin # c:\python23\lib\codecs.pyc matches c:\python23\lib\codecs.py import codecs # precompiled from c:\python23\lib\codecs.pyc import _codecs # builtin import encodings # directory c:\python23\lib\encodings # c:\python23\lib\encodings\__init__.pyc matches c:\python23\lib\encodings\__init__.py import encodings # precompiled from c:\python23\lib\encodings\__init__.pyc # c:\python23\lib\encodings\cp1252.pyc matches c:\python23\lib\encodings\cp1252.py import encodings.cp1252 # precompiled from c:\python23\lib\encodings\cp1252.pyc # c:\python23\lib\warnings.pyc matches c:\python23\lib\warnings.py import warnings # precompiled from c:\python23\lib\warnings.pyc # c:\python23\lib\linecache.pyc matches c:\python23\lib\linecache.py import linecache # precompiled from c:\python23\lib\linecache.pyc Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. # c:\python23\lib\doctest.pyc matches c:\python23\lib\doctest.py import doctest # precompiled from c:\python23\lib\doctest.pyc # c:\python23\lib\__future__.pyc matches c:\python23\lib\__future__.py import __future__ # precompiled from c:\python23\lib\__future__.pyc # c:\python23\lib\re.pyc matches c:\python23\lib\re.py import re # precompiled from c:\python23\lib\re.pyc # c:\python23\lib\sre.pyc matches c:\python23\lib\sre.py import sre # precompiled from c:\python23\lib\sre.pyc # c:\python23\lib\sre_compile.pyc matches c:\python23\lib\sre_compile.py import sre_compile # precompiled from c:\python23\lib\sre_compile.pyc import _sre # dynamically loaded from c:\python23\DLLs\_sre.pyd # c:\python23\lib\sre_constants.pyc matches c:\python23\lib\sre_constants.py import sre_constants # precompiled from c:\python23\lib\sre_constants.pyc # c:\python23\lib\sre_parse.pyc matches c:\python23\lib\sre_parse.py import sre_parse # precompiled from c:\python23\lib\sre_parse.pyc # c:\python23\lib\string.pyc matches c:\python23\lib\string.py import string # precompiled from c:\python23\lib\string.pyc import strop # builtin # c:\python23\lib\inspect.pyc matches c:\python23\lib\inspect.py import inspect # precompiled from c:\python23\lib\inspect.pyc # c:\python23\lib\dis.pyc matches c:\python23\lib\dis.py import dis # precompiled from c:\python23\lib\dis.pyc # c:\python23\lib\opcode.pyc matches c:\python23\lib\opcode.py import opcode # precompiled from c:\python23\lib\opcode.pyc import imp # builtin # c:\python23\lib\tokenize.pyc matches c:\python23\lib\tokenize.py import tokenize # precompiled from c:\python23\lib\tokenize.pyc # c:\python23\lib\token.pyc matches c:\python23\lib\token.py import token # precompiled from c:\python23\lib\token.pyc # c:\python23\lib\traceback.pyc matches c:\python23\lib\traceback.py import traceback # precompiled from c:\python23\lib\traceback.pyc import const_argument_ext # dynamically loaded from C:\views_cvs\boost\bin\boost\libs\python\test\const_argument_ext.pyd\intel-win32-8.0\debug\threading-multi\const_argumerunning... Running __main__.__doc__ Trying: from const_argument_ext import * Expecting: nothing ok Trying: accept_const_arg_noproto(1) Expecting: 1 ***************************************************************** Failure in example: accept_const_arg_noproto(1) from line #2 of __main__ Exception raised: Traceback (most recent call last): File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner compileflags, 1) in globs File "<string>", line 1, in ? ArgumentError: Python argument types in const_argument_ext.accept_const_arg_noproto(int) did not match C++ signature: accept_const_arg_noproto(class boost::python::api::object) Trying: accept_const_arg_with_proto(1) Expecting: 1 ***************************************************************** Failure in example: accept_const_arg_with_proto(1) from line #4 of __main__ Exception raised: Traceback (most recent call last): File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner compileflags, 1) in globs File "<string>", line 1, in ? ArgumentError: Python argument types in const_argument_ext.accept_const_arg_with_proto(int) did not match C++ signature: accept_const_arg_with_proto(class boost::python::api::object) 2 of 3 examples failed in __main__.__doc__ Running __main__.run.__doc__ 0 of 0 examples failed in __main__.run.__doc__ 1 items had no tests: __main__.run ***************************************************************** 1 items had failures: 2 of 3 in __main__ 3 tests in 2 items. 1 passed and 2 failed. ***Test Failed*** 2 failures. nt_ext.pyd # clear __builtin__._ # clear sys.path # clear sys.argv # clear sys.ps1 # clear sys.ps2 # clear sys.exitfunc # clear sys.exc_type # clear sys.exc_value # clear sys.exc_traceback # clear sys.last_type # clear sys.last_value # clear sys.last_traceback # clear sys.path_hooks # clear sys.path_importer_cache # clear sys.meta_path # restore sys.stdin # restore sys.stdout # restore sys.stderr # cleanup __main__ # cleanup[1] site # cleanup[1] encodings # cleanup[1] strop # cleanup[1] sre_constants # cleanup[1] nt # cleanup[1] zipimport # cleanup[1] warnings # cleanup[1] _codecs # cleanup[1] inspect # cleanup[1] encodings.cp1252 # cleanup[1] codecs # cleanup[1] _locale # cleanup[1] sre # cleanup[1] signal # cleanup[1] traceback # cleanup[1] linecache # cleanup[1] token # cleanup[1] opcode # cleanup[1] doctest # cleanup[1] const_argument_ext # cleanup[1] exceptions # cleanup[1] sre_parse # cleanup[1] dis # cleanup[1] tokenize # cleanup[1] __future__ # cleanup[1] sre_compile # cleanup[1] locale # cleanup[1] _sre # cleanup[1] imp # cleanup[1] re # cleanup[1] string # cleanup[1] types # cleanup[2] copy_reg # cleanup[2] os.path # cleanup[2] ntpath # cleanup[2] UserDict # cleanup[2] stat # cleanup[2] os # cleanup sys # cleanup __builtin__ # cleanup ints: 4 unfreed ints in 4 out of 110 blocks # cleanup floats EXIT STATUS: 2 ====== END OUTPUT ====== ...failed execute-test ..\..\..\bin\boost\libs\python\test\const_argument.test\intel-win32-8.0\debug\threading-multi\const_argument.run... ...failed updating 1 target... ...skipped 1 target... ...updated 12 targets...

Stefan Slapeta <stefan_nospam_@slapeta.com> writes:
Running __main__.__doc__ Trying: from const_argument_ext import * Expecting: nothing ok Trying: accept_const_arg_noproto(1) Expecting: 1 ***************************************************************** Failure in example: accept_const_arg_noproto(1) from line #2 of __main__ Exception raised: Traceback (most recent call last): File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner compileflags, 1) in globs File "<string>", line 1, in ? ArgumentError: Python argument types in const_argument_ext.accept_const_arg_noproto(int) did not match C++ signature: accept_const_arg_noproto(class boost::python::api::object)
This is just freaky. A Python int can't be converted to a boost::python::object?? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

On Sun, 2004-09-26 at 20:10, David Abrahams wrote:
Stefan Slapeta <stefan_nospam_@slapeta.com> writes:
Running __main__.__doc__ Trying: from const_argument_ext import * Expecting: nothing ok Trying: accept_const_arg_noproto(1) Expecting: 1 ***************************************************************** Failure in example: accept_const_arg_noproto(1) from line #2 of __main__ Exception raised: Traceback (most recent call last): File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner compileflags, 1) in globs File "<string>", line 1, in ? ArgumentError: Python argument types in const_argument_ext.accept_const_arg_noproto(int) did not match C++ signature: accept_const_arg_noproto(class boost::python::api::object)
This is just freaky. A Python int can't be converted to a boost::python::object??
I'm sorry, but I really can't think of any other way to work around this compiler's particular bug. Dave, at this point I'd like to know exactly which compilers are affected by this. Do you mind if I check in this test? Thanks, -Jonathan

Jonathan Brandmeyer <jbrandmeyer@earthlink.net> writes:
On Sun, 2004-09-26 at 20:10, David Abrahams wrote:
Stefan Slapeta <stefan_nospam_@slapeta.com> writes:
Running __main__.__doc__ Trying: from const_argument_ext import * Expecting: nothing ok Trying: accept_const_arg_noproto(1) Expecting: 1 ***************************************************************** Failure in example: accept_const_arg_noproto(1) from line #2 of __main__ Exception raised: Traceback (most recent call last): File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner compileflags, 1) in globs File "<string>", line 1, in ? ArgumentError: Python argument types in const_argument_ext.accept_const_arg_noproto(int) did not match C++ signature: accept_const_arg_noproto(class boost::python::api::object)
This is just freaky. A Python int can't be converted to a boost::python::object??
I'm sorry, but I really can't think of any other way to work around this compiler's particular bug.
Dave, at this point I'd like to know exactly which compilers are affected by this. Do you mind if I check in this test?
Be my guest. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

--- David Abrahams <dave@boost-consulting.com> wrote:
Stefan Slapeta <stefan_nospam_@slapeta.com> writes:
Running __main__.__doc__ Trying: from const_argument_ext import * Expecting: nothing ok Trying: accept_const_arg_noproto(1) Expecting: 1 ***************************************************************** Failure in example: accept_const_arg_noproto(1) from line #2 of __main__ Exception raised: Traceback (most recent call last): File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner compileflags, 1) in globs File "<string>", line 1, in ? ArgumentError: Python argument types in const_argument_ext.accept_const_arg_noproto(int) did not match C++ signature: accept_const_arg_noproto(class boost::python::api::object)
This is just freaky. A Python int can't be converted to a boost::python::object??
Maybe there is something funny going on with boost::python::type_info? You could edit the file boost/libs/python/src/converter/registry.cpp to #define BOOST_PYTHON_TRACE_REGISTRY before it is used the first time. Recompile (quick, just one .cpp file) and run the test that fails again. Post the registry trace to this group. (See also: boost/python/type_id.hpp) A while ago I had terrible trouble with a static initialization bug under Mac OS X (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14232). The effect was very similar to your problem. However, it involved two dlopen where you seem to only need one to reproduce the failure... HTH, Ralf _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com

Jonathan Brandmeyer <jbrandmeyer@earthlink.net> writes:
On Sat, 2004-09-25 at 11:38, Stefan Slapeta wrote:
This is not a new failure, but the failure is reported for the first time. Please could anybody have a look at it?
Thanks,
Stefan
Please try this patch.
Thanks, -Jonathan
=================================================================== RCS file: /cvsroot/boost/boost/libs/python/test/slice.cpp,v retrieving revision 1.10 diff -u -r1.10 slice.cpp --- slice.cpp 24 Sep 2004 02:47:14 -0000 1.10 +++ slice.cpp 25 Sep 2004 20:25:50 -0000 @@ -82,7 +82,7 @@ bool accept_slice( slice) { return true; }
#if BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND( BOOST_INTEL_WIN, == 710) + || BOOST_WORKAROUND( BOOST_INTEL_WIN, BOOST_TESTED_AT( 800)) int check_slice_get_indicies(slice index); #endif int check_slice_get_indicies(const slice index)
Does this patch still need to be applied? -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (5)
-
David Abrahams
-
Jonathan Brandmeyer
-
Ralf W. Grosse-Kunstleve
-
Stefan Slapeta
-
Stefan Slapeta