virt_test/bin/python testrunner/runner.py --logfile=testrun.log --config=pypy/testrunner_cfg.py '--config=~/machine_cfg.py' --root=pypy --timeout=4000 in dir /Users/matti/build-worker-arm64/own-macos-arm64/build (timeout 4000 secs) watching logfiles {'pytestLog': 'testrun.log'} argv: ['virt_test/bin/python', 'testrunner/runner.py', '--logfile=testrun.log', '--config=pypy/testrunner_cfg.py', '--config=~/machine_cfg.py', '--root=pypy', '--timeout=4000'] environment: HOME=/Users/matti HOMEBREW_CELLAR=/opt/homebrew/Cellar HOMEBREW_PREFIX=/opt/homebrew HOMEBREW_REPOSITORY=/opt/homebrew INFOPATH=/opt/homebrew/share/info: LANG=en_US.UTF-8 LC_ADDRESS=en_AU.UTF-8 LC_IDENTIFICATION=en_AU.UTF-8 LC_MEASUREMENT=en_AU.UTF-8 LC_MONETARY=en_AU.UTF-8 LC_NAME=en_AU.UTF-8 LC_NUMERIC=en_AU.UTF-8 LC_PAPER=en_AU.UTF-8 LC_TELEPHONE=en_AU.UTF-8 LC_TIME=en_AU.UTF-8 LOGNAME=matti OLDPWD=/Users/matti PATH=/Users/matti/oss/pypy-arm64-buildbot/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin PKG_CONFIG_PATH=/opt/homebrew/Cellar/openssl@1.1/1.1.1t/lib/pkgconfig PWD=/Users/matti/build-worker-arm64/own-macos-arm64/build PYPYCHERRYPICK= PYPY_USESSION_DIR=/tmp/buildbot-arm64 PYTHONPATH=.: SHELL=/bin/zsh SHLVL=2 SSH_CLIENT=10.0.0.17 36602 22 SSH_CONNECTION=10.0.0.17 36602 10.0.0.16 22 SSH_TTY=/dev/ttys000 TERM=xterm-256color TMPDIR=/tmp/buildbot-arm64/pytest USER=matti _=/Users/matti/oss/pypy-arm64-buildbot/bin/buildslave using PTY: False using config pypy/testrunner_cfg.py using config /Users/matti/machine_cfg.py running 3 parallel test workers setting MAKEFLAGS to ' ' (space) -- config/test -- interpreter/astcompiler/test -- interpreter/pyparser/test -- interpreter/test -- module/__builtin__/test -- module/__pypy__/test -- module/_abc/test -- module/_ast/test -- module/_cffi_backend/test -- module/_codecs/test -- module/_collections/test -- module/_continuation/test -- module/_cppyy/test -- module/_csv/test -- module/_demo/test -- module/_hpy_universal/test/_vendored/test_00_basic.py -- module/_hpy_universal/test/_vendored/test_argparse.py -- module/_hpy_universal/test/_vendored/test_call.py -- module/_hpy_universal/test/_vendored/test_capsule.py -- module/_hpy_universal/test/_vendored/test_capsule_legacy.py -- module/_hpy_universal/test/_vendored/test_contextvar.py -- module/_hpy_universal/test/_vendored/test_cpy_compat.py -- module/_hpy_universal/test/_vendored/test_eval.py -- module/_hpy_universal/test/_vendored/test_extra.py -- module/_hpy_universal/test/_vendored/test_helpers.py -- module/_hpy_universal/test/_vendored/test_hpybuildvalue.py -- module/_hpy_universal/test/_vendored/test_hpybytes.py -- module/_hpy_universal/test/_vendored/test_hpydict.py -- module/_hpy_universal/test/_vendored/test_hpyerr.py -- module/_hpy_universal/test/_vendored/test_hpyfield.py -- module/_hpy_universal/test/_vendored/test_hpyglobal.py -- module/_hpy_universal/test/_vendored/test_hpyimport.py -- module/_hpy_universal/test/_vendored/test_hpyiter.py -- module/_hpy_universal/test/_vendored/test_hpylist.py -- module/_hpy_universal/test/_vendored/test_hpylong.py -- module/_hpy_universal/test/_vendored/test_hpymodule.py -- module/_hpy_universal/test/_vendored/test_hpyslice.py -- module/_hpy_universal/test/_vendored/test_hpystructseq.py -- module/_hpy_universal/test/_vendored/test_hpytuple.py -- module/_hpy_universal/test/_vendored/test_hpytype.py -- module/_hpy_universal/test/_vendored/test_hpytype_legacy.py -- module/_hpy_universal/test/_vendored/test_hpyunicode.py -- module/_hpy_universal/test/_vendored/test_importing.py -- module/_hpy_universal/test/_vendored/test_legacy_forbidden.py -- module/_hpy_universal/test/_vendored/test_number.py -- module/_hpy_universal/test/_vendored/test_object.py -- module/_hpy_universal/test/_vendored/test_slots.py -- module/_hpy_universal/test/_vendored/test_slots_legacy.py -- module/_hpy_universal/test/_vendored/test_support.py -- module/_hpy_universal/test/_vendored/test_tracker.py -- module/_hpy_universal/test/pypy -- module/_io/test -- module/_jitlog/test -- module/_locale/test -- module/_lsprof/test -- module/_md5/test -- module/_minimal_curses/test -- module/_multibytecodec/test -- module/_multiprocessing/test -- module/_opcode/test -- module/_pickle/test -- module/_pickle_support/test -- module/_posixsubprocess/test -- module/_pypyjson/test -- module/_random/test -- module/_rawffi/alt/test -- module/_rawffi/test -- module/_socket/test -- module/_sre/test -- module/_vmprof/test -- module/_warnings/test -- module/_weakref/test -- module/_winreg/test -- module/array/test -- module/atexit/test -- module/binascii/test -- module/bz2/test -- module/cmath/test -- module/cpyext/test/test_api.py -- module/cpyext/test/test_arraymodule.py -- module/cpyext/test/test_async_iter.py -- module/cpyext/test/test_boolobject.py -- module/cpyext/test/test_borrow.py -- module/cpyext/test/test_buffer.py -- module/cpyext/test/test_bytearrayobject.py -- module/cpyext/test/test_bytesobject.py -- module/cpyext/test/test_capsule.py -- module/cpyext/test/test_cell.py -- module/cpyext/test/test_classobject.py -- module/cpyext/test/test_codecs.py -- module/cpyext/test/test_complexobject.py -- module/cpyext/test/test_contextvars.py -- module/cpyext/test/test_cpyext.py -- module/cpyext/test/test_datetime.py -- module/cpyext/test/test_dictobject.py -- module/cpyext/test/test_eval.py -- module/cpyext/test/test_exception.py -- module/cpyext/test/test_fileobject.py -- module/cpyext/test/test_floatobject.py -- module/cpyext/test/test_frameobject.py -- module/cpyext/test/test_funcobject.py -- module/cpyext/test/test_genobject.py -- module/cpyext/test/test_getargs.py -- module/cpyext/test/test_import.py -- module/cpyext/test/test_iterator.py -- module/cpyext/test/test_listobject.py -- module/cpyext/test/test_longobject.py -- module/cpyext/test/test_mapping.py -- module/cpyext/test/test_marshal.py -- module/cpyext/test/test_memoryobject.py -- module/cpyext/test/test_methodobject.py -- module/cpyext/test/test_misc.py -- module/cpyext/test/test_module.py -- module/cpyext/test/test_namespaceobject.py -- module/cpyext/test/test_ndarrayobject.py -- module/cpyext/test/test_number.py -- module/cpyext/test/test_object.py -- module/cpyext/test/test_pyerrors.py -- module/cpyext/test/test_pyfile.py -- module/cpyext/test/test_pymem.py -- module/cpyext/test/test_pysignals.py -- module/cpyext/test/test_pystate.py -- module/cpyext/test/test_pystrhex.py -- module/cpyext/test/test_pystrtod.py -- module/cpyext/test/test_sequence.py -- module/cpyext/test/test_setobject.py -- module/cpyext/test/test_sliceobject.py -- module/cpyext/test/test_structseq.py -- module/cpyext/test/test_sysmodule.py -- module/cpyext/test/test_thread.py -- module/cpyext/test/test_traceback.py -- module/cpyext/test/test_translate.py -- module/cpyext/test/test_tupleobject.py -- module/cpyext/test/test_typeobject.py -- module/cpyext/test/test_unicodeobject.py -- module/cpyext/test/test_userslots.py -- module/cpyext/test/test_version.py -- module/cpyext/test/test_weakref.py -- module/crypt/test -- module/errno/test -- module/exceptions/test -- module/faulthandler/test -- module/fcntl/test -- module/gc/test -- module/imp/test -- module/itertools/test -- module/marshal/test -- module/math/test -- module/micronumpy/test -- module/mmap/test -- module/operator/test -- module/posix/test -- module/pwd/test -- module/pyexpat/test -- module/pypyjit/test -- module/select/test -- module/signal/test -- module/struct/test -- module/sys/test -- module/termios/test -- module/test_lib_pypy -- module/thread/test -- module/time/test -- module/token/test -- module/unicodedata/test -- module/zipimport/test -- module/zlib/test -- objspace/fake/test -- objspace/std/test -- objspace/test -- sandbox/test -- tool/bench/test -- tool/memusage/test -- tool/pytest/fake_pytest/test -- tool/pytest/test -- tool/release/test -- tool/test -- total: 177 to run ++ 03:30:34 starting config/test [1 started in total] ++ 03:30:34 starting interpreter/astcompiler/test [2 started in total] ++ 03:30:34 starting interpreter/pyparser/test [3 started in total] __ config/test [1 done in total, somefailed=False] ____________________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.py rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 161 items / 1 skipped config/test/test_pypyoption.py ................................................................................................................................................................. ==================== 161 passed, 1 skipped in 10.48 seconds ==================== ++ 03:30:47 starting interpreter/test [4 started in total] __ interpreter/pyparser/test [2 done in total, somefailed=False] ______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.py rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 192 items interpreter/pyparser/test/apptest_parsestring.py ...... interpreter/pyparser/test/test_automata.py ... interpreter/pyparser/test/test_future.py ................................... interpreter/pyparser/test/test_gendfa.py . interpreter/pyparser/test/test_parsestring.py ............ interpreter/pyparser/test/test_pyparse.py ......................................................................................................... interpreter/pyparser/test/test_pytokenizer.py .............................. ========================= 192 passed in 45.87 seconds ========================== ++ 03:31:26 starting module/__builtin__/test [5 started in total] __ interpreter/astcompiler/test [3 done in total, somefailed=False] ___________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.py rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1512 items interpreter/astcompiler/test/apptest_compiler.py ...... interpreter/astcompiler/test/apptest_exceptiongroup.py ......................... interpreter/astcompiler/test/apptest_misc.py ............... interpreter/astcompiler/test/apptest_patma.py ......................................... interpreter/astcompiler/test/test_assemble.py ....................... interpreter/astcompiler/test/test_ast.py ............ interpreter/astcompiler/test/test_astbuilder.py ................................................................................................................. interpreter/astcompiler/test/test_compiler.py ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. interpreter/astcompiler/test/test_misc.py ............... interpreter/astcompiler/test/test_symtable.py ........................................ interpreter/astcompiler/test/test_unparse.py ................................ interpreter/astcompiler/test/test_validate.py ..................................................... ========================= 1512 passed in 91.36 seconds ========================= ++ 03:32:09 starting module/__pypy__/test [6 started in total] __ module/__builtin__/test [4 done in total, somefailed=False] ________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 319 items module/__builtin__/test/apptest_compile.py ..................... module/__builtin__/test/apptest_descriptor.py ..... module/__builtin__/test/apptest_operator.py ... module/__builtin__/test/apptest_print.py ... module/__builtin__/test/test_abstractinst.py ..........s.. module/__builtin__/test/test_breakpoint.py ........ module/__builtin__/test/test_builtin.py ....................................................................... module/__builtin__/test/test_compile.py .. module/__builtin__/test/test_construct_singletons.py . module/__builtin__/test/test_descriptor.py ................................... module/__builtin__/test/test_dir.py ........... module/__builtin__/test/test_filter.py ........ module/__builtin__/test/test_filter_pickle.py ..... module/__builtin__/test/test_format.py . module/__builtin__/test/test_functional.py ........................................................................................ module/__builtin__/test/test_map_pickle.py ... module/__builtin__/test/test_minmax.py ....................... module/__builtin__/test/test_rawinput.py .. module/__builtin__/test/test_sum.py . module/__builtin__/test/test_vars.py ... module/__builtin__/test/test_zip.py ........... module/__builtin__/test/test_zip_pickle.py . ==================== 318 passed, 1 skipped in 38.44 seconds ==================== ++ 03:32:10 starting module/_abc/test [7 started in total] __ module/_abc/test [5 done in total, somefailed=False] _______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/_abc/test/apptest_abc.py ... module/_abc/test/test_abc.py ... ========================== 6 passed in 16.15 seconds =========================== ++ 03:32:27 starting module/_ast/test [8 started in total] __ module/__pypy__/test [6 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 81 items module/__pypy__/test/apptest_picklebuffer.py ...... module/__pypy__/test/test_builders.py ..... module/__pypy__/test/test_bytebuffer.py ... module/__pypy__/test/test_debug.py ....... module/__pypy__/test/test_identitydict.py ...... module/__pypy__/test/test_intop.py ........... module/__pypy__/test/test_locals2fast.py ..... module/__pypy__/test/test_magic.py .......s.. module/__pypy__/test/test_newmemoryview.py ........ module/__pypy__/test/test_os.py . module/__pypy__/test/test_signal.py ..s.s module/__pypy__/test/test_special.py ............s. ==================== 77 passed, 4 skipped in 38.41 seconds ===================== ++ 03:32:53 starting module/_cffi_backend/test [9 started in total] __ module/_ast/test [7 done in total, somefailed=False] _______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 55 items module/_ast/test/apptest_ast.py ... module/_ast/test/test_ast.py .................................................... ========================== 55 passed in 40.31 seconds ========================== ++ 03:33:11 starting module/_codecs/test [10 started in total] __ module/_codecs/test [8 done in total, somefailed=True] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 98 items module/_codecs/test/apptest_codecs.py .. module/_codecs/test/test_codecs.py ....................sss...........................................................s...... module/_codecs/test/test_locale.py ...FF. module/_codecs/test/test_ztranslation.py . =================================== FAILURES =================================== __________ TestLocaleCodec.test_decode_locale_latin1[locale_decoder0] __________ self = <pypy.module._codecs.test.test_locale.TestLocaleCodec object at 0x0000000162edede8> locale_decoder = <function str_decode_locale_surrogateescape at 0x0000000160dbd8f8> @pytest.mark.parametrize('locale_decoder', (str_decode_locale_surrogateescape, str_decode_locale_strict)) def test_decode_locale_latin1(self, locale_decoder): self.setlocale("fr_FR") uni = u"août" string = uni.encode('latin1') > assert locale_decoder(string) == (uni.encode('utf8'), len(uni)) E assert ('ao\xed\xb3\xbbt', 4) == ('ao\xc3\xbbt', 4) E At index 0 diff: 'ao\xed\xb3\xbbt' != 'ao\xc3\xbbt' E Use -v to get the full diff module/_codecs/test/test_locale.py:77: AssertionError __________ TestLocaleCodec.test_decode_locale_latin1[locale_decoder1] __________ self = <pypy.module._codecs.test.test_locale.TestLocaleCodec object at 0x0000000108d9ff68> locale_decoder = <function str_decode_locale_strict at 0x0000000160dcc3e0> @pytest.mark.parametrize('locale_decoder', (str_decode_locale_surrogateescape, str_decode_locale_strict)) def test_decode_locale_latin1(self, locale_decoder): self.setlocale("fr_FR") uni = u"août" string = uni.encode('latin1') > assert locale_decoder(string) == (uni.encode('utf8'), len(uni)) module/_codecs/test/test_locale.py:77: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ module/_codecs/locale.py:118: in str_decode_locale_strict errorhandler('strict', 'filesystemencoding', errmsg, s, 0, 1) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ errors = 'strict', encoding = 'filesystemencoding' msg = 'pypy_char2wchar_strict failed', s = 'ao\xfbt', startingpos = 0 endingpos = 1 def default_unicode_error_decode(errors, encoding, msg, s, startingpos, endingpos): assert endingpos >= 0 if errors == 'replace': return u'\ufffd', endingpos if errors == 'ignore': return u'', endingpos > raise UnicodeDecodeError(encoding, s, startingpos, endingpos, msg) E UnicodeDecodeError: 'filesystemencoding' codec can't decode byte 0x61 in position 0: pypy_char2wchar_strict failed ../rpython/rlib/runicode.py:104: UnicodeDecodeError =========================== short test summary info ============================ FAIL module/_codecs/test/test_locale.py::TestLocaleCodec::()::test_decode_locale_latin1[locale_decoder0] FAIL module/_codecs/test/test_locale.py::TestLocaleCodec::()::test_decode_locale_latin1[locale_decoder1] =============== 2 failed, 92 passed, 4 skipped in 60.14 seconds ================ ++ 03:34:17 starting module/_collections/test [11 started in total] __ module/_collections/test [9 done in total, somefailed=False] _______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 66 items module/_collections/test/apptest_defaultdict.py .............. module/_collections/test/apptest_deque.py .......................................... module/_collections/test/apptest_ordereddict.py .......... ========================== 66 passed in 31.51 seconds ========================== ++ 03:34:50 starting module/_continuation/test [12 started in total] __ module/_continuation/test [10 done in total, somefailed=True] ______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 72 items / 2 skipped module/_continuation/test/test_generator.py ssss module/_continuation/test/test_greenlet.py s.ssssss.sssssssssssssss.sss module/_continuation/test/test_stacklet.py sssssssssssssss.ssssssssssssssssssssssssE ==================================== ERRORS ==================================== ______ ERROR at teardown of AppTestStacklet.test_sampling_inside_callback ______ self = <CallInfo when='teardown' exception: Invalid value for fakevmprof._ignore_signals: expected 1, got 0. This probably means that you called {start,stop}_sampling() a wrong number of times> func = <function <lambda> at 0x000000015985f718>, when = 'teardown' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_teardown'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_sampling_inside_callback'>, 'ne...ltiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_sampling_inside_callback'>, 'nextitem': None} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001400e2100> hook = <_HookCaller 'pytest_runtest_teardown'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001585397e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_sampling_inside_callback'>, 'ne...ltiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_sampling_inside_callback'>, 'nextitem': None} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_teardown'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001585397e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_sampling_inside_callback'>, 'ne...ltiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_sampling_inside_callback'>, 'nextitem': None} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_sampling_inside_callback'>, 'nextitem': None, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_teardown at 0x00000001605ff9e8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...titem': None, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000151d66ce0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000151d66ce0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...titem': None, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_sampling_inside_callback'>, 'nextitem': None, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_sampling_inside_callback'>, nextitem = None def pytest_runtest_teardown(item, nextitem): > item.session._setupstate.teardown_exact(item, nextitem) ../_pytest/runner.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x000000012046ae58> item = <AppTestMethod 'test_sampling_inside_callback'>, nextitem = None def teardown_exact(self, item, nextitem): needed_collectors = nextitem and nextitem.listchain() or [] > self._teardown_towards(needed_collectors) ../_pytest/runner.py:387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x000000012046ae58> needed_collectors = [] def _teardown_towards(self, needed_collectors): while self.stack: if self.stack == needed_collectors[:len(self.stack)]: break > self._pop_and_teardown() ../_pytest/runner.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x000000012046ae58> def _pop_and_teardown(self): colitem = self.stack.pop() > self._teardown_with_finalization(colitem) ../_pytest/runner.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x000000012046ae58> colitem = <AppTestMethod 'test_sampling_inside_callback'> def _teardown_with_finalization(self, colitem): > self._callfinalizers(colitem) ../_pytest/runner.py:371: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x000000012046ae58> colitem = <AppTestMethod 'test_sampling_inside_callback'> def _callfinalizers(self, colitem): finalizers = self._finalizers.pop(colitem, None) exc = None while finalizers: fin = finalizers.pop() try: fin() except Exception: # XXX Only first exception will be seen by user, # ideally all should be reported. if exc is None: exc = sys.exc_info() if exc: > py.builtin._reraise(*exc) ../_pytest/runner.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x000000012046ae58> colitem = <AppTestMethod 'test_sampling_inside_callback'> def _callfinalizers(self, colitem): finalizers = self._finalizers.pop(colitem, None) exc = None while finalizers: fin = finalizers.pop() try: > fin() ../_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FixtureDef name='fakevmprof' scope='function' baseid='pypy/module/_continuation/test/test_stacklet.py' > def finish(self): try: while self._finalizer: func = self._finalizer.pop() > func() ../_pytest/python.py:2085: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.rlib.rvmprof.test.support.FakeVMProf object at 0x0000000158b968a8> def check_status(self): """ To be called during test teardown """ if self._ignore_signals != 1: msg = ('Invalid value for fakevmprof._ignore_signals: expected 1, ' 'got %d. This probably means that you called ' '{start,stop}_sampling() a wrong number of times') > raise ValueError(msg % self._ignore_signals) E ValueError: Invalid value for fakevmprof._ignore_signals: expected 1, got 0. This probably means that you called {start,stop}_sampling() a wrong number of times ../rpython/rlib/rvmprof/test/support.py:37: ValueError ================ 4 passed, 70 skipped, 1 error in 32.72 seconds ================ ++ 03:35:28 starting module/_cppyy/test [13 started in total] __ module/_cffi_backend/test [11 done in total, somefailed=True] ______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 467 items module/_cffi_backend/test/test_c.py ..........................................................................F.....sss.s....................................................s.....s...................s...s.............................s........................s...... module/_cffi_backend/test/test_fastpath.py .................. module/_cffi_backend/test/test_ffi_obj.py .............................................. module/_cffi_backend/test/test_file.py s.. module/_cffi_backend/test/test_parse_c_type.py ..............s... module/_cffi_backend/test/test_re_python.py ...!!! BAD UTF8 !!! [67, 97, 110, 110, 111, 116, 32, 108, 111, 97, 100, 32, 108, 105, 98, 114, 97, 114, 121, 32, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 233, 46, 115, 111, 58, 32, 34, 67, 97, 110, 110, 111, 116, 32, 108, 111, 97, 100, 32, 108, 105, 98, 114, 97, 114, 121, 32, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 58, 32, 100, 108, 111, 112, 101, 110, 40, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 44, 32, 48, 120, 48, 48, 48, 50, 41, 58, 32, 116, 114, 105, 101, 100, 58, 32, 39, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 83, 121, 115, 116, 101, 109, 47, 86, 111, 108, 117, 109, 101, 115, 47, 80, 114, 101, 98, 111, 111, 116, 47, 67, 114, 121, 112, 116, 101, 120, 101, 115, 47, 79, 83, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 112, 114, 105, 118, 97, 116, 101, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 83, 121, 115, 116, 101, 109, 47, 86, 111, 108, 117, 109, 101, 115, 47, 80, 114, 101, 98, 111, 111, 116, 47, 67, 114, 121, 112, 116, 101, 120, 101, 115, 47, 79, 83, 47, 112, 114, 105, 118, 97, 116, 101, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 112, 114, 105, 118, 97, 116, 101, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 34] length 780 real_length -999 F................ module/_cffi_backend/test/test_recompiler.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss module/_cffi_backend/test/test_unicode_literals.py ....... module/_cffi_backend/test/test_wchar_helper.py . module/_cffi_backend/test/test_ztranslation.py s =================================== FAILURES =================================== ________________________ AppTestC.test_call_function_9 _________________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013c234a30> def test_call_function_9(self): import _all_test_c try: > _all_test_c.test_call_function_9() [/tmp/buildbot-arm64/usession-py3.11-2673/test_c/_test_c.py:594]:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def test_call_function_9(): BInt = new_primitive_type("int") BFunc9 = new_function_type((BInt,), BInt, True) # vararg f = cast(BFunc9, _testfunc(9)) assert f(0) == 0 > assert f(1, cast(BInt, 42)) == 42 E (application-level) AssertionError /tmp/buildbot-arm64/usession-py3.11-2673/test_c/_all_test_c.py:1253: AssertionError _________________ AppTestRecompilerPython.test_dlopen_unicode __________________ self = <CallInfo when='call' exception: > func = <function <lambda> at 0x000000013cfe02f0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_dlopen_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_dlopen_unicode'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001181a2100> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001184c8020>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_dlopen_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_dlopen_unicode'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001184c8020>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_dlopen_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_dlopen_unicode'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_dlopen_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013d5c7178> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...en_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013c5b6060> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013c5b6060> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...en_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_dlopen_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013d5c6f98> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...en_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013c5b6020> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013c5b6020> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...en_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_dlopen_unicode'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_dlopen_unicode'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_dlopen_unicode'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_dlopen_unicode'>, space = StdObjSpace target = <function test_dlopen_unicode at 0x000000013d38c4d0> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000128a4ff68>) e = OperationError(<W_TypeObject 'OSError' at 0x1491857f8>) tb = <traceback object at 0x000000011cff94c0> def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: target(*args) except OperationError as e: if self.config.option.raise_operr: raise tb = sys.exc_info()[2] if e.match(space, space.w_KeyboardInterrupt): raise KeyboardInterrupt, KeyboardInterrupt(), tb > appexcinfo = appsupport.AppExceptionInfo(space, e) tool/pytest/apptest.py:274: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[BadUtf8("") raised in repr()] SafeRepr object at 0x1513025a0> space = StdObjSpace operr = OperationError(<W_TypeObject 'OSError' at 0x1491857f8>) def __init__(self, space, operr): self.space = space self.operr = operr self.typename = operr.w_type.getname(space) self.traceback = AppTraceback(space, self.operr.get_traceback()) debug_excs = getattr(operr, 'debug_excs', []) if debug_excs: self._excinfo = debug_excs[0] > self.value = self.operr.errorstr(self.space) # XXX tool/pytest/appsupport.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = OperationError(<W_TypeObject 'OSError' at 0x1491857f8>) space = StdObjSpace, use_repr = False def errorstr(self, space, use_repr=False): "The exception class and value, as a string." if not use_repr: # see write_unraisable() > w_value = self.normalize_exception(space) interpreter/error.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = OperationError(<W_TypeObject 'OSError' at 0x1491857f8>) space = StdObjSpace @jit.unroll_safe def normalize_exception(self, space): """Normalize the OperationError. In other words, fix w_type and/or w_value to make sure that the __class__ of w_value is exactly w_type. """ # # This method covers all ways in which the Python statement # "raise X, Y" can produce a valid exception type and instance. # # In the following table, 'Class' means a subclass of BaseException # and 'inst' is an instance of either 'Class' or a subclass of it. # # The flow object space only deals with non-advanced case. # # input (w_type, w_value)... becomes... advanced case? # --------------------------------------------------------------------- # (Class, None) (Class, Class()) no # (Class, inst) (inst.__class__, inst) no # (Class, tuple) (Class, Class(*tuple)) yes # (Class, x) (Class, Class(x)) no # (inst, None) (inst.__class__, inst) no # w_type = self.w_type > w_value = self.get_w_value(space) interpreter/error.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = OperationError(<W_TypeObject 'OSError' at 0x1491857f8>) space = StdObjSpace def get_w_value(self, space): w_value = self._w_value if w_value is None: value, lgt = self._compute_value(space) > self._w_value = w_value = space.newtext(value, lgt) interpreter/error.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace s = 'Cannot load library /tmp/buildbot-arm64/usession-py3.11-2673/load_caf\xe9.so: "Cannot load library /tmp/buildbot-arm6...ad_caf\\xe9.so\' (no such file), \'/private/tmp/buildbot-arm64/usession-py3.11-2673/load_caf\\xe9.so\' (no such file)"' lgt = 678, unused = -1 @specialize.arg_or_var(1) def newtext(self, s, lgt=-1, unused=-1): # the unused argument can be from something like # newtext(*decode_utf8sp(space, code)) if is_annotation_constant(s) and s is not None: > return self._newtext_memo(s) objspace/std/objspace.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace s = 'Cannot load library /tmp/buildbot-arm64/usession-py3.11-2673/load_caf\xe9.so: "Cannot load library /tmp/buildbot-arm6...ad_caf\\xe9.so\' (no such file), \'/private/tmp/buildbot-arm64/usession-py3.11-2673/load_caf\\xe9.so\' (no such file)"' @specialize.memo() def _newtext_memo(self, s): # try to see whether we exist as an interned string, but don't intern # if not w_u = self.interned_strings.get(s) if w_u is not None: return w_u lgt = rutf8.codepoints_in_utf8(s) > return W_UnicodeObject(s, lgt) objspace/std/objspace.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = W_UnicodeObject('Cannot load library /tmp/buildbot-arm64/usession-py3.11-2673/...te/tmp/buildbot-arm64/usession-py3.11-2673/load_caf\\xe9.so\' (no such file)"') utf8str = 'Cannot load library /tmp/buildbot-arm64/usession-py3.11-2673/load_caf\xe9.so: "Cannot load library /tmp/buildbot-arm6...ad_caf\\xe9.so\' (no such file), \'/private/tmp/buildbot-arm64/usession-py3.11-2673/load_caf\\xe9.so\' (no such file)"' length = 780 def __init__(self, utf8str, length): if not we_are_translated(): typecheck(self, utf8str, length) # rpython.rlib.objectmodel > return __init___original(self, utf8str, length) <655-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:318>:5: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = W_UnicodeObject('Cannot load library /tmp/buildbot-arm64/usession-py3.11-2673/...te/tmp/buildbot-arm64/usession-py3.11-2673/load_caf\\xe9.so\' (no such file)"') utf8str = 'Cannot load library /tmp/buildbot-arm64/usession-py3.11-2673/load_caf\xe9.so: "Cannot load library /tmp/buildbot-arm6...ad_caf\\xe9.so\' (no such file), \'/private/tmp/buildbot-arm64/usession-py3.11-2673/load_caf\\xe9.so\' (no such file)"' length = 780 @enforceargs(utf8str=str) def __init__(self, utf8str, length): assert isinstance(utf8str, bytes) # TODO: how to handle surrogates assert length >= 0 self._utf8 = utf8str self._length = length self._index_storage = rutf8.null_storage() if CHECK_ALL_STRINGS or not we_are_translated(): # utf8str must always be a valid utf8 string, except maybe with # explicit surrogate characters---which .decode('utf-8') doesn't # special-case in Python 2, which is exactly what we want here try: if sys.maxunicode == 0xffff: # can't use .decode('utf-8') because it will add surrogates real_length = rutf8.check_utf8(utf8str, True) else: real_length = len(utf8str.decode('utf-8')) except (rutf8.CheckError, UnicodeDecodeError): real_length = -999 if length != real_length: from rpython.rlib.debug import debug_print debug_print("!!! BAD UTF8 !!!") debug_print(str([ord(c) for c in utf8str])) debug_print("length", length, "real_length", real_length) > raise BadUtf8 E BadUtf8 objspace/std/unicodeobject.py:86: BadUtf8 ----------------------------- Captured stderr call ----------------------------- !!! BAD UTF8 !!! [67, 97, 110, 110, 111, 116, 32, 108, 111, 97, 100, 32, 108, 105, 98, 114, 97, 114, 121, 32, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 233, 46, 115, 111, 58, 32, 34, 67, 97, 110, 110, 111, 116, 32, 108, 111, 97, 100, 32, 108, 105, 98, 114, 97, 114, 121, 32, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 58, 32, 100, 108, 111, 112, 101, 110, 40, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 44, 32, 48, 120, 48, 48, 48, 50, 41, 58, 32, 116, 114, 105, 101, 100, 58, 32, 39, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 83, 121, 115, 116, 101, 109, 47, 86, 111, 108, 117, 109, 101, 115, 47, 80, 114, 101, 98, 111, 111, 116, 47, 67, 114, 121, 112, 116, 101, 120, 101, 115, 47, 79, 83, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 112, 114, 105, 118, 97, 116, 101, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 83, 121, 115, 116, 101, 109, 47, 86, 111, 108, 117, 109, 101, 115, 47, 80, 114, 101, 98, 111, 111, 116, 47, 67, 114, 121, 112, 116, 101, 120, 101, 115, 47, 79, 83, 47, 112, 114, 105, 118, 97, 116, 101, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 44, 32, 39, 47, 112, 114, 105, 118, 97, 116, 101, 47, 116, 109, 112, 47, 98, 117, 105, 108, 100, 98, 111, 116, 45, 97, 114, 109, 54, 52, 47, 117, 115, 101, 115, 115, 105, 111, 110, 45, 112, 121, 51, 46, 49, 49, 45, 50, 54, 55, 51, 47, 108, 111, 97, 100, 95, 99, 97, 102, 92, 120, 101, 57, 46, 115, 111, 39, 32, 40, 110, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 41, 34] length 780 real_length -999 =========================== short test summary info ============================ FAIL module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_9 FAIL module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_dlopen_unicode ============= 2 failed, 328 passed, 137 skipped in 159.10 seconds ============== ++ 03:35:40 starting module/_csv/test [14 started in total] __ module/_csv/test [12 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 34 items module/_csv/test/test_dialect.py .............. module/_csv/test/test_reader.py ............. module/_csv/test/test_writer.py ...... module/_csv/test/test_ztranslation.py . ========================== 34 passed in 30.91 seconds ========================== ++ 03:36:12 starting module/_demo/test [15 started in total] __ module/_demo/test [13 done in total, somefailed=False] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/_demo/test/test_import.py .. module/_demo/test/test_sieve.py . ========================== 3 passed in 12.81 seconds =========================== ++ 03:36:27 starting module/_hpy_universal/test/_vendored/test_00_basic.py [16 started in total] __ interpreter/test [14 done in total, somefailed=True] _______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.py PYTHON3: /opt/homebrew/bin/python3.11 (Version 3.11.15 (main, Mar 3 2026, 00:52:57) [Clang 17.0.0 (clang-1700.6.3.2)]) rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1342 items interpreter/test/apptest_annotations.py .......................... interpreter/test/apptest_annotations_string.py ...... interpreter/test/apptest_buffer.py ..... interpreter/test/apptest_class.py ................ interpreter/test/apptest_coroutine.py ..................................................... interpreter/test/apptest_descrtypecheck.py .. interpreter/test/apptest_exceptions.py .......................... interpreter/test/apptest_exctable_dis.py ......... interpreter/test/apptest_exec.py ......................... interpreter/test/apptest_extcall.py ..... interpreter/test/apptest_function.py .....................................s..................................................... interpreter/test/apptest_generator.py ................................................................... interpreter/test/apptest_nestedscope.py .................. interpreter/test/apptest_pycode.py .... interpreter/test/apptest_pyframe.py ................................................................ interpreter/test/apptest_raise.py ..................................................... interpreter/test/apptest_settrace_jump.py . interpreter/test/apptest_sys_settrace.py .............................................................................................................................................. interpreter/test/apptest_traceback.py ........ interpreter/test/apptest_unraisable.py .... interpreter/test/apptest_with_leak.py ......... interpreter/test/test_app_main.py ....................s....................s...s.......................s....X.s...s.......... interpreter/test/test_appinterp.py ............. interpreter/test/test_argument.py .............................................. interpreter/test/test_buffer.py ... interpreter/test/test_cellfamily.py ....... interpreter/test/test_code.py ............ interpreter/test/test_compiler.py ............................................................................................................. interpreter/test/test_error.py .............. interpreter/test/test_exceptcomp.py ......... interpreter/test/test_executioncontext.py ................ interpreter/test/test_extmodules.py . interpreter/test/test_fsencode.py F.. interpreter/test/test_function.py ............. interpreter/test/test_gateway.py .........................................ss......................... interpreter/test/test_generator.py . interpreter/test/test_interpreter.py ................................................. interpreter/test/test_location.py .......... interpreter/test/test_main.py ..... interpreter/test/test_mixedmodule.py ...... interpreter/test/test_module.py ....................... interpreter/test/test_objspace.py ............................................ interpreter/test/test_pycode.py .. interpreter/test/test_pyframe.py ................................ interpreter/test/test_reverse_debugging.py .. interpreter/test/test_special.py ... interpreter/test/test_syntax.py ......................................................... interpreter/test/test_targetpypy.py .. interpreter/test/test_typedef.py ................... interpreter/test/test_unicodehelper.py .......... interpreter/test/test_zpy.py ........ interpreter/test/test_zzpickle_and_slow.py s.....s..s..sss........ss...s. =================================== FAILURES =================================== _____________________ TestFSEncode.test_fsencode_fsdecode ______________________ self = <pypy.interpreter.test.test_fsencode.TestFSEncode instance at 0x00000001461def60> def test_fsencode_fsdecode(self): space = self.space strs = [u"/home/bar/baz", u"c:\\"] if self.special_char: strs.append(self.special_char) for st in strs: # check roundtrip w_st = space.newtext(st.encode('utf8'), len(st)) w_enc = space.fsencode(w_st) w_st2 = space.fsdecode(w_enc) assert space.eq_w(w_st, w_st2) > assert space.fsdecode_w(w_enc) == st E assert 'a\xcc\x88' == u'a\u0308' E - a\xcc\x88 E + a\u0308 interpreter/test/test_fsencode.py:77: AssertionError ----------------------------- Captured stderr call ----------------------------- /Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/test/test_fsencode.py:77: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal assert space.fsdecode_w(w_enc) == st /Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/test/test_fsencode.py:1: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal import sys =========================== short test summary info ============================ FAIL interpreter/test/test_fsencode.py::TestFSEncode::()::test_fsencode_fsdecode ======== 1 failed, 1322 passed, 18 skipped, 1 xpassed in 377.76 seconds ======== ++ 03:37:10 starting module/_hpy_universal/test/_vendored/test_argparse.py [17 started in total] __ module/_cppyy/test [15 done in total, somefailed=False] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 191 items module/_cppyy/test/test_advancedcpp.py sssssssssssssssssssssssss module/_cppyy/test/test_boost.py sssss module/_cppyy/test/test_cpp11features.py s.s module/_cppyy/test/test_cppyy.py ........... module/_cppyy/test/test_crossing.py ssss module/_cppyy/test/test_datatypes.py .......sssssssssssssss module/_cppyy/test/test_fragile.py sssssssssssss module/_cppyy/test/test_helper.py ...... module/_cppyy/test/test_operators.py sssssss module/_cppyy/test/test_overloads.py sssssss module/_cppyy/test/test_pythonify.py .....sssssssssssss module/_cppyy/test/test_pythonization.py .ssssss module/_cppyy/test/test_regression.py ss module/_cppyy/test/test_stltypes.py sssssssssssssssssssssssss module/_cppyy/test/test_templates.py sssssssssssssssssssssssssssssssss module/_cppyy/test/test_zjit.py sss =================== 31 passed, 160 skipped in 96.24 seconds ==================== ++ 03:37:17 starting module/_hpy_universal/test/_vendored/test_call.py [18 started in total] __ module/_hpy_universal/test/_vendored/test_00_basic.py [16 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 58 items module/_hpy_universal/test/_vendored/test_00_basic.py .......................................................... ========================== 58 passed in 66.82 seconds ========================== ++ 03:37:40 starting module/_hpy_universal/test/_vendored/test_capsule.py [19 started in total] __ module/_hpy_universal/test/_vendored/test_call.py [17 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items module/_hpy_universal/test/_vendored/test_call.py .......... ========================== 10 passed in 53.53 seconds ========================== ++ 03:38:16 starting module/_hpy_universal/test/_vendored/test_capsule_legacy.py [20 started in total] __ module/_hpy_universal/test/_vendored/test_capsule.py [18 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items module/_hpy_universal/test/_vendored/test_capsule.py .......... ========================== 10 passed in 39.47 seconds ========================== ++ 03:38:24 starting module/_hpy_universal/test/_vendored/test_contextvar.py [21 started in total] __ module/_hpy_universal/test/_vendored/test_argparse.py [19 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 90 items module/_hpy_universal/test/_vendored/test_argparse.py .......................................................................................... ========================== 90 passed in 81.23 seconds ========================== ++ 03:38:37 starting module/_hpy_universal/test/_vendored/test_cpy_compat.py [22 started in total] __ module/_hpy_universal/test/_vendored/test_contextvar.py [20 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/_hpy_universal/test/_vendored/test_contextvar.py .. ========================== 2 passed in 32.09 seconds =========================== ++ 03:39:02 starting module/_hpy_universal/test/_vendored/test_eval.py [23 started in total] __ module/_hpy_universal/test/_vendored/test_capsule_legacy.py [21 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/_hpy_universal/test/_vendored/test_capsule_legacy.py .. ========================== 2 passed in 63.41 seconds =========================== ++ 03:39:29 starting module/_hpy_universal/test/_vendored/test_extra.py [24 started in total] __ module/_hpy_universal/test/_vendored/test_extra.py [22 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 03:39:33 starting module/_hpy_universal/test/_vendored/test_helpers.py [25 started in total] __ module/_hpy_universal/test/_vendored/test_eval.py [23 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items module/_hpy_universal/test/_vendored/test_eval.py .... ========================== 4 passed in 32.57 seconds =========================== ++ 03:39:40 starting module/_hpy_universal/test/_vendored/test_hpybuildvalue.py [26 started in total] __ module/_hpy_universal/test/_vendored/test_cpy_compat.py [24 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items module/_hpy_universal/test/_vendored/test_cpy_compat.py ................ ========================== 16 passed in 90.36 seconds ========================== ++ 03:40:12 starting module/_hpy_universal/test/_vendored/test_hpybytes.py [27 started in total] __ module/_hpy_universal/test/_vendored/test_helpers.py [25 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/_hpy_universal/test/_vendored/test_helpers.py F..... =================================== FAILURES =================================== ____________ AppTestHPyModuleAddType.test_with_spec_only[universal] ____________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000151dc9880>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_with_spec_only[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_with_spec_only[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000011006a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001585e31a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_with_spec_only[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_with_spec_only[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001585e31a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_with_spec_only[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_with_spec_only[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_with_spec_only[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000151dbfc90> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a399720> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a399720> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_with_spec_only[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000151dbfc18> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a3996e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a3996e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_with_spec_only[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_with_spec_only[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_with_spec_only[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_with_spec_only[universal]'>, space = StdObjSpace target = <function test_with_spec_only at 0x0000000151dc98f8> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000171fa71d8>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000171fa71d8>,) w_func = <Function test_with_spec_only> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000171fa71d8> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_with_spec_only> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000171fa71d8>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_with_spec_only> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000171fa71d8>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_with_spec_only, file "[/Users/matti/build-worker-arm64/own-m...4/build/pypy/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 name = 'test_with_spec_only', qualname = 'test_with_spec_only' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 pycode = <code object test_with_spec_only, file "[/Users/matti/build-worker-arm64/own-m...4/build/pypy/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000171d599b8> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01t\x01|\x01d\x02\x83\x02r\x0cJ\x00\x82\x01|\x01\xa0\x02\xa1\x00\x01\x00t\x03|\x01j\x04t...3\x02s*J\x00\x82\x01d\x00S\x00\x02s J\x00\x82\x01t\x03|\x01\xa0\x04\xa1\x00|\x01j\x04\x83\x02s*J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000171d599b8> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01t\x01|\x01d\x02\x83\x02r\x0cJ\x00\x82\x01|\x01\xa0\x02\xa1\x00\x01\x00t\x03|\x01j\x04t...3\x02s*J\x00\x82\x01d\x00S\x00\x02s J\x00\x82\x01t\x03|\x01\xa0\x04\xa1\x00|\x01j\x04\x83\x02s*J\x00\x82\x01d\x00S\x00' next_instr = 8L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000171d599b8> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 oparg = 1, ignored = (8L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_with_spe...py/module/_hpy_universal/test/_vendored/test_helpers.py:13]", line 1> at line 2 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n static HPyType_Spec dummy_spec = {\n...one);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000151dc5948> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n static HPyType_Spec dummy_spec = {\n...one);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000151dc5948> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n static HPyType_Spec dummy_spec = {\n...one);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000151dc5948> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000151dc5948> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n static HPyType_Spec dummy_spec = {\n...one);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x0000000151dc5a98> space = StdObjSpace scope_w = [W_UnicodeObject('\n static HPyType_Spec dummy_spec = {\n ..._None);\n }\n\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n static HPyType_Spec dummy_spec = {\n .name = "mytest.Dummy",\n };\n\n ... return HPy_Dup(ctx, ctx->h_None);\n }\n\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000015a3991e0> main_src = '\n static HPyType_Spec dummy_spec = {\n .name = "mytest.Dummy",\n };\n\n ... return HPy_Dup(ctx, ctx->h_None);\n }\n\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2703/test_with_spec_only-0' ext = <setuptools.extension.Extension instance at 0x000000015a86e5a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000015a399220> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2703/test_with_spec_only-0' ext = <setuptools.extension.Extension instance at 0x000000015a86e5a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000015a399220> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000015a86e5e0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000015a89d600> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000015a89d600> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000015a89d600> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000015a89d600> ext = <setuptools.extension.Extension instance at 0x000000015a86e5a0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000015a89d600> ext = <setuptools.extension.Extension instance at 0x000000015a86e5a0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000015a86e4e0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2703/test_with_spec_only-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000015a86e4e0> obj = '/tmp/buildbot-arm64/usession-py3.11-2703/test_with_spec_only-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_helpers.py::AppTestHPyModuleAddType::()::test_with_spec_only[universal] ===================== 1 failed, 5 passed in 35.64 seconds ====================== ++ 03:40:17 starting module/_hpy_universal/test/_vendored/test_hpydict.py [28 started in total] __ module/_hpy_universal/test/_vendored/test_hpybuildvalue.py [26 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items module/_hpy_universal/test/_vendored/test_hpybuildvalue.py .............. ========================== 14 passed in 44.70 seconds ========================== ++ 03:40:32 starting module/_hpy_universal/test/_vendored/test_hpyerr.py [29 started in total] __ module/_hpy_universal/test/_vendored/test_hpybytes.py [27 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items module/_hpy_universal/test/_vendored/test_hpybytes.py ........F... =================================== FAILURES =================================== ___________________ AppTestBytes.test_FromString[universal] ____________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000014a472d40>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromString[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_FromString[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001308fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001480cb020>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromString[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_FromString[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001480cb020>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromString[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_FromString[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromString[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001323508e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014964bbe0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014964bbe0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromString[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001323420c0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014964bba0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014964bba0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromString[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_FromString[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_FromString[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_FromString[universal]'>, space = StdObjSpace target = <function test_FromString at 0x000000014a472f98> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000014954fc90>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000014954fc90>,) w_func = <Function test_FromString> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000014954fc90> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_FromString> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000014954fc90>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_FromString> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000014954fc90>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_FromString, file "[/Users/matti/build-worker-arm64/own-macos.../build/pypy/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 name = 'test_FromString', qualname = 'test_FromString' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 pycode = <code object test_FromString, file "[/Users/matti/build-worker-arm64/own-macos.../build/pypy/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001326bd018> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01d\x02\xa1\x01d\x02k\x02s\x0eJ\x00\x82\x01|\x01\xa0\x01d\x03\xa1\x01d\x03k\x02s\x17J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001326bd018> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01d\x02\xa1\x01d\x02k\x02s\x0eJ\x00\x82\x01|\x01\xa0\x01d\x03\xa1\x01d\x03k\x02s\x17J\x00\x82\x01d\x00S\x00' next_instr = 8L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001326bd018> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 oparg = 1, ignored = (8L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromStri...y/module/_hpy_universal/test/_vendored/test_hpybytes.py:72]", line 1> at line 2 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_O)\n ...buf);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014a6623a0> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_O)\n ...buf);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014a6623a0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_O)\n ...buf);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014a6623a0> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014a6623a0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_O)\n ...buf);\n }\n\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x000000014a662608> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_O)\n sta..., buf);\n }\n\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(f, "f", HPyFunc_O)\n static HPy f_impl(HPyContext *ctx, HPy self, HPy arg)\n ... return HPyBytes_FromString(ctx, buf);\n }\n\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000014964b4a0> main_src = '\n HPyDef_METH(f, "f", HPyFunc_O)\n static HPy f_impl(HPyContext *ctx, HPy self, HPy arg)\n ... return HPyBytes_FromString(ctx, buf);\n }\n\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2705/test_FromString-0' ext = <setuptools.extension.Extension instance at 0x000000012136ebe0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000014964b4e0> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2705/test_FromString-0' ext = <setuptools.extension.Extension instance at 0x000000012136ebe0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000014964b4e0> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000012136ec20> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000014a8ca6e8> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000014a8ca6e8> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000014a8ca6e8> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000014a8ca6e8> ext = <setuptools.extension.Extension instance at 0x000000012136ebe0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000014a8ca6e8> ext = <setuptools.extension.Extension instance at 0x000000012136ebe0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000012136eae0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2705/test_FromString-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000012136eae0> obj = '/tmp/buildbot-arm64/usession-py3.11-2705/test_FromString-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_hpybytes.py::AppTestBytes::()::test_FromString[universal] ===================== 1 failed, 11 passed in 36.77 seconds ===================== ++ 03:40:56 starting module/_hpy_universal/test/_vendored/test_hpyfield.py [30 started in total] __ module/_hpy_universal/test/_vendored/test_hpydict.py [28 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items module/_hpy_universal/test/_vendored/test_hpydict.py ............ ========================== 12 passed in 34.89 seconds ========================== ++ 03:41:01 starting module/_hpy_universal/test/_vendored/test_hpyglobal.py [31 started in total] __ module/_hpy_universal/test/_vendored/test_hpyglobal.py [29 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/_hpy_universal/test/_vendored/test_hpyglobal.py .. ========================== 2 passed in 33.05 seconds =========================== ++ 03:41:39 starting module/_hpy_universal/test/_vendored/test_hpyimport.py [32 started in total] __ module/_hpy_universal/test/_vendored/test_hpyfield.py [30 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 18 items module/_hpy_universal/test/_vendored/test_hpyfield.py ssss........ssss.. ==================== 10 passed, 8 skipped in 38.41 seconds ===================== ++ 03:41:40 starting module/_hpy_universal/test/_vendored/test_hpyiter.py [33 started in total] __ module/_hpy_universal/test/_vendored/test_hpyerr.py [31 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 38 items module/_hpy_universal/test/_vendored/test_hpyerr.py ..ss............F.................ss.. =================================== FAILURES =================================== __________ AppTestErr.test_HPyErr_SetFromErrnoWithFilename[universal] __________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000152feacc8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename...ltiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001508fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001585f31e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename...ltiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001585f31e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename...ltiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000151f54b38> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a403aa0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a403aa0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000151f54ac0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a403a60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000015a403a60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_HPyErr_SetFromErrnoWithFilename[universal]'> space = StdObjSpace target = <function test_HPyErr_SetFromErrnoWithFilename at 0x0000000152fead40> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001324f4d78>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001324f4d78>,) w_func = <Function test_HPyErr_SetFromErrnoWithFilename> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001324f4d78> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_HPyErr_SetFromErrnoWithFilename> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001324f4d78>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_HPyErr_SetFromErrnoWithFilename> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001324f4d78>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_HPyErr_SetFromErrnoWithFilename, file "[/Users/matti/build-w...4/build/pypy/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 name = 'test_HPyErr_SetFromErrnoWithFilename' qualname = 'test_HPyErr_SetFromErrnoWithFilename' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 pycode = <code object test_HPyErr_SetFromErrnoWithFilename, file "[/Users/matti/build-w...4/build/pypy/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000132441c20> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02|\x00\xa0\x02d\x02\xa0\x03|\x02j\x04d\x03\xcc\x01\xa1\x01}\x03|\x01\xa0\x05t\...0\x01\x00|\x00j\x08r:|\x04j\tj\x01|\x02j\x04k\x02s:J\x00\x82\x01d\x04t\n|\x04j\t\x83\x01v\x00sCJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000132441c20> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02|\x00\xa0\x02d\x02\xa0\x03|\x02j\x04d\x03\xcc\x01\xa1\x01}\x03|\x01\xa0\x05t\...0\x01\x00|\x00j\x08r:|\x04j\tj\x01|\x02j\x04k\x02s:J\x00\x82\x01d\x04t\n|\x04j\t\x83\x01v\x00sCJ\x00\x82\x01d\x00S\x00' next_instr = 34L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000132441c20> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 oparg = 1, ignored = (34L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_HPyErr_S...py/module/_hpy_universal/test/_vendored/test_hpyerr.py:192]", line 1> at line 4 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n #include <errno.h>\n\n HP...rted");\n }\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000163df13d0> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n #include <errno.h>\n\n HP...rted");\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000163df13d0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n #include <errno.h>\n\n HP...rted");\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000163df13d0> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000163df13d0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n #include <errno.h>\n\n HP...rted");\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x0000000163df1478> space = StdObjSpace scope_w = [W_UnicodeObject('\n #include <errno.h>\n\n HPyDef_METH(f...serted");\n }\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n #include <errno.h>\n\n HPyDef_METH(f, "f", HPyFunc_O)\n static HPy f_impl(HPyCont...(ctx, type, "Some message that will be asserted");\n }\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000015a3cd8e0> main_src = '\n #include <errno.h>\n\n HPyDef_METH(f, "f", HPyFunc_O)\n static HPy f_impl(HPyCont...(ctx, type, "Some message that will be asserted");\n }\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2707/test_HPyErr_SetFromErrnoWithFilename-0' ext = <setuptools.extension.Extension instance at 0x000000013263f960> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000015a3cd960> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2707/test_HPyErr_SetFromErrnoWithFilename-0' ext = <setuptools.extension.Extension instance at 0x000000013263f960> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000015a3cd960> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000013263f9a0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000133280170> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000133280170> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000133280170> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000133280170> ext = <setuptools.extension.Extension instance at 0x000000013263f960> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000133280170> ext = <setuptools.extension.Extension instance at 0x000000013263f960> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000013263f8a0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2707/test_HPyErr_SetFromErrnoWithFilename-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000013263f8a0> obj = '/tmp/buildbot-arm64/usession-py3.11-2707/test_HPyErr_SetFromErrnoWithFilename-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_hpyerr.py::AppTestErr::()::test_HPyErr_SetFromErrnoWithFilename[universal] =============== 1 failed, 33 passed, 4 skipped in 93.50 seconds ================ ++ 03:42:14 starting module/_hpy_universal/test/_vendored/test_hpylist.py [34 started in total] __ module/_hpy_universal/test/_vendored/test_hpyimport.py [32 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/_hpy_universal/test/_vendored/test_hpyimport.py .. ========================== 2 passed in 31.50 seconds =========================== ++ 03:42:18 starting module/_hpy_universal/test/_vendored/test_hpylong.py [35 started in total] __ module/_hpy_universal/test/_vendored/test_hpyiter.py [33 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items module/_hpy_universal/test/_vendored/test_hpyiter.py .... ========================== 4 passed in 33.36 seconds =========================== ++ 03:42:18 starting module/_hpy_universal/test/_vendored/test_hpymodule.py [36 started in total] __ module/_hpy_universal/test/_vendored/test_hpylist.py [34 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items module/_hpy_universal/test/_vendored/test_hpylist.py ...F....F. =================================== FAILURES =================================== _________________________ AppTestList.test_New[debug] __________________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000111bb4548>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_New[debug]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000011020a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000130706d60>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_New[debug]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000130706d60>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_New[debug]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001331787a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013858d260> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013858d260> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000133178728> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013858d220> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013858d220> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_New[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_New[debug]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_New[debug]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_New[debug]'>, space = StdObjSpace target = <function test_New at 0x0000000111bb45c0> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>,) w_func = <Function test_New> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_New> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_New> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_New, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 name = 'test_New', qualname = 'test_New' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 pycode = <code object test_New, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000011ac0ec28> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01\xa1\x00g\x00k\x02s\rJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000011ac0ec28> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01\xa1\x00g\x00k\x02s\rJ\x00\x82\x01d\x00S\x00' next_instr = 8L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000011ac0ec28> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 oparg = 1, ignored = (8L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_New, fil...py/module/_hpy_universal/test/_vendored/test_hpylist.py:24]", line 1> at line 2 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\...tx, 0);\n }\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011bf90870> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\...tx, 0);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011bf90870> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\...tx, 0);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011bf90870> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011bf90870> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\...tx, 0);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x000000011bf909c0> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\n ...(ctx, 0);\n }\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\n static HPy f_impl(HPyContext *ctx, HPy self)\n {\n return HPyList_New(ctx, 0);\n }\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x00000001349a6d20> main_src = '\n HPyDef_METH(f, "f", HPyFunc_NOARGS)\n static HPy f_impl(HPyContext *ctx, HPy self)\n {\n return HPyList_New(ctx, 0);\n }\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2712/test_New-1' ext = <setuptools.extension.Extension instance at 0x000000013858d9a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x00000001349a6d60> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2712/test_New-1' ext = <setuptools.extension.Extension instance at 0x000000013858d9a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x00000001349a6d60> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000013858d9e0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000138e58090> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000138e58090> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000138e58090> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000138e58090> ext = <setuptools.extension.Extension instance at 0x000000013858d9a0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000138e58090> ext = <setuptools.extension.Extension instance at 0x000000013858d9a0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000013858d860> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2712/test_New-1' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000013858d860> obj = '/tmp/buildbot-arm64/usession-py3.11-2712/test_New-1/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError ______________________ AppTestList.test_Insert[universal] ______________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000011a9971f0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_Insert[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_Insert[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000011020a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000130706d60>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_Insert[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_Insert[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000130706d60>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_Insert[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_Insert[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_Insert[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000139397970> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000133a32ea0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000133a32ea0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_Insert[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001393978f8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000133a32e60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000133a32e60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_Insert[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_Insert[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_Insert[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_Insert[universal]'>, space = StdObjSpace target = <function test_Insert at 0x000000011a9972e0> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>,) w_func = <Function test_Insert> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_Insert> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_Insert> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000013852da28>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_Insert, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 name = 'test_Insert', qualname = 'test_Insert' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 pycode = <code object test_Insert, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000011ac0ec28> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 co_code = 'd\x01d\x00l\x00}\x01|\x00\xa0\x01d\x02\xa1\x01}\x02g\x00}\x03|\x02\xa0\x02|\x03d\x01d\x01\xa1\x03d\x01g\x01k\x02s\x17...00\x04\x00\x04\x00\x83\x03\x01\x00d\x00S\x00#\x001\x00s\x9aw\x02&\x03Y\x00w\x01\x01\x00Y\x00\x01\x00\x01\x00d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000011ac0ec28> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 co_code = 'd\x01d\x00l\x00}\x01|\x00\xa0\x01d\x02\xa1\x01}\x02g\x00}\x03|\x02\xa0\x02|\x03d\x01d\x01\xa1\x03d\x01g\x01k\x02s\x17...00\x04\x00\x04\x00\x83\x03\x01\x00d\x00S\x00#\x001\x00s\x9aw\x02&\x03Y\x00w\x01\x01\x00Y\x00\x01\x00\x01\x00d\x00S\x00' next_instr = 16L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000011ac0ec28> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 oparg = 1, ignored = (16L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_Insert, ...py/module/_hpy_universal/test/_vendored/test_hpylist.py:79]", line 1> at line 3 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)...gs[0]);\n }\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001140dc758> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)...gs[0]);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001140dc758> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)...gs[0]);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001140dc758> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001140dc758> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)...gs[0]);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x00000001140dc8a8> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n ...args[0]);\n }\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self, const HP...LL;\n return HPy_Dup(ctx, args[0]);\n }\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x0000000133a32d20> main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self, const HP...LL;\n return HPy_Dup(ctx, args[0]);\n }\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2712/test_Insert-0' ext = <setuptools.extension.Extension instance at 0x0000000113a78460> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x0000000133a32d60> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2712/test_Insert-0' ext = <setuptools.extension.Extension instance at 0x0000000113a78460> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x0000000133a32d60> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x0000000113a783e0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000011419f8d8> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000011419f8d8> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000011419f8d8> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000011419f8d8> ext = <setuptools.extension.Extension instance at 0x0000000113a78460> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000011419f8d8> ext = <setuptools.extension.Extension instance at 0x0000000113a78460> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000011c12aca0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2712/test_Insert-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000011c12aca0> obj = '/tmp/buildbot-arm64/usession-py3.11-2712/test_Insert-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_hpylist.py::AppTestList::()::test_New[debug] FAIL module/_hpy_universal/test/_vendored/test_hpylist.py::AppTestList::()::test_Insert[universal] ===================== 2 failed, 8 passed in 37.27 seconds ====================== ++ 03:42:58 starting module/_hpy_universal/test/_vendored/test_hpyslice.py [37 started in total] __ module/_hpy_universal/test/_vendored/test_hpymodule.py [35 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items module/_hpy_universal/test/_vendored/test_hpymodule.py ................ ========================== 16 passed in 40.08 seconds ========================== ++ 03:43:02 starting module/_hpy_universal/test/_vendored/test_hpystructseq.py [38 started in total] __ module/_hpy_universal/test/_vendored/test_hpylong.py [36 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 36 items module/_hpy_universal/test/_vendored/test_hpylong.py .................................... ========================== 36 passed in 51.25 seconds ========================== ++ 03:43:16 starting module/_hpy_universal/test/_vendored/test_hpytuple.py [39 started in total] __ module/_hpy_universal/test/_vendored/test_hpyslice.py [37 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/_hpy_universal/test/_vendored/test_hpyslice.py ..F... =================================== FAILURES =================================== _________________ AppTestSlice.test_adjust_indices[universal] __________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000013aba5178>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_adjust_indices[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_adjust_indices[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000012806a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001182c30e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_adjust_indices[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_adjust_indices[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001182c30e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_adjust_indices[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_adjust_indices[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_adjust_indices[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013aec3808> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012cfff3e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012cfff3e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_adjust_indices[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013aec37b8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012cfff3a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012cfff3a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_adjust_indices[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_adjust_indices[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_adjust_indices[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_adjust_indices[universal]'>, space = StdObjSpace target = <function test_adjust_indices at 0x000000013aba55b0> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000118cac368>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000118cac368>,) w_func = <Function test_adjust_indices> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000118cac368> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_adjust_indices> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000118cac368>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_adjust_indices> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000118cac368>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_adjust_indices, file "[/Users/matti/build-worker-arm64/own-m.../build/pypy/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 name = 'test_adjust_indices', qualname = 'test_adjust_indices' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 pycode = <code object test_adjust_indices, file "[/Users/matti/build-worker-arm64/own-m.../build/pypy/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012bc20fa8> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01d\x02d\x03d\x02d\x04\xa1\x04d\x05k\x02s\x11J\x00\x82\x01|\x01\xa0\x01d\x0...x04d\x1ck\x02s\xf5J\x00\x82\x01|\x01\xa0\x01d\x02d\x0ed\x0ed\x1b\xa1\x04d\x1dk\x02\x90\x01s\x02J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012bc20fa8> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01d\x02d\x03d\x02d\x04\xa1\x04d\x05k\x02s\x11J\x00\x82\x01|\x01\xa0\x01d\x0...x04d\x1ck\x02s\xf5J\x00\x82\x01|\x01\xa0\x01d\x02d\x0ed\x0ed\x1b\xa1\x04d\x1dk\x02\x90\x01s\x02J\x00\x82\x01d\x00S\x00' next_instr = 8L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012bc20fa8> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 oparg = 1, ignored = (8L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_adjust_i...y/module/_hpy_universal/test/_vendored/test_hpyslice.py:59]", line 1> at line 2 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)... step);\n }\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011a50ea68> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)... step);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011a50ea68> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)... step);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011a50ea68> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000011a50ea68> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)... step);\n }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x000000011a50eb10> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n ...p, step);\n }\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self, const HP...uildValue(ctx, "nnnn", length, start, stop, step);\n }\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000012cfff160> main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self, const HP...uildValue(ctx, "nnnn", length, start, stop, step);\n }\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2715/test_adjust_indices-0' ext = <setuptools.extension.Extension instance at 0x000000013af9b820> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000012cfff1a0> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2715/test_adjust_indices-0' ext = <setuptools.extension.Extension instance at 0x000000013af9b820> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000012cfff1a0> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000013af9b860> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012d02b2b8> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012d02b2b8> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012d02b2b8> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012d02b2b8> ext = <setuptools.extension.Extension instance at 0x000000013af9b820> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012d02b2b8> ext = <setuptools.extension.Extension instance at 0x000000013af9b820> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000013af9b720> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2715/test_adjust_indices-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000013af9b720> obj = '/tmp/buildbot-arm64/usession-py3.11-2715/test_adjust_indices-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_hpyslice.py::AppTestSlice::()::test_adjust_indices[universal] ===================== 1 failed, 5 passed in 39.40 seconds ====================== ++ 03:43:42 starting module/_hpy_universal/test/_vendored/test_hpytype.py [40 started in total] __ module/_hpy_universal/test/_vendored/test_hpystructseq.py [38 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items module/_hpy_universal/test/_vendored/test_hpystructseq.py .... ========================== 4 passed in 37.21 seconds =========================== ++ 03:43:47 starting module/_hpy_universal/test/_vendored/test_hpytype_legacy.py [41 started in total] __ module/_hpy_universal/test/_vendored/test_hpytuple.py [39 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/_hpy_universal/test/_vendored/test_hpytuple.py ........ ========================== 8 passed in 36.42 seconds =========================== ++ 03:44:00 starting module/_hpy_universal/test/_vendored/test_hpyunicode.py [42 started in total] __ module/_hpy_universal/test/_vendored/test_hpyunicode.py [40 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items module/_hpy_universal/test/_vendored/test_hpyunicode.py .............F...........F................ =================================== FAILURES =================================== ___________________ AppTestUnicode.test_AsUTF8AndSize[debug] ___________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000143409bc8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000012020a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001407bb160>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001407bb160>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000141f30a20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014283cbe0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014283cbe0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000141f30958> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014283cba0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014283cba0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_AsUTF8AndSize[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_AsUTF8AndSize[debug]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_AsUTF8AndSize[debug]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_AsUTF8AndSize[debug]'>, space = StdObjSpace target = <function test_AsUTF8AndSize at 0x0000000143409c40> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>,) w_func = <Function test_AsUTF8AndSize> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_AsUTF8AndSize> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_AsUTF8AndSize> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_AsUTF8AndSize, file "[/Users/matti/build-worker-arm64/own-ma...ild/pypy/module/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 name = 'test_AsUTF8AndSize', qualname = 'test_AsUTF8AndSize' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 pycode = <code object test_AsUTF8AndSize, file "[/Users/matti/build-worker-arm64/own-ma...ild/pypy/module/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000149c8cf70> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01d\x02\xa1\x01d\x03t\x02d\x04\x83\x01\x14\x00d\x05t\x02d\x06\x83\x01\x14\x...3\x01k\x02sUJ\x00\x82\x01|\x01\xa0\x04d\x0b\xa0\x03d\t\xa1\x01\xa1\x01t\x02d\x04\x83\x01k\x02scJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000149c8cf70> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01|\x01\xa0\x01d\x02\xa1\x01d\x03t\x02d\x04\x83\x01\x14\x00d\x05t\x02d\x06\x83\x01\x14\x...3\x01k\x02sUJ\x00\x82\x01|\x01\xa0\x04d\x0b\xa0\x03d\t\xa1\x01\xa1\x01t\x02d\x04\x83\x01k\x02scJ\x00\x82\x01d\x00S\x00' next_instr = 8L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000149c8cf70> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 oparg = 1, ignored = (8L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_AsUTF8An...odule/_hpy_universal/test/_vendored/test_hpyunicode.py:102]", line 1> at line 2 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n #include <string.h>\n\n s... @EXPORT(f)\n @EXPORT(g)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000132fc7f68> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n #include <string.h>\n\n s... @EXPORT(f)\n @EXPORT(g)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000132fc7f68> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n #include <string.h>\n\n s... @EXPORT(f)\n @EXPORT(g)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000132fc7f68> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000132fc7f68> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n #include <string.h>\n\n s... @EXPORT(f)\n @EXPORT(g)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x0000000133022100> space = StdObjSpace scope_w = [W_UnicodeObject('\n #include <string.h>\n\n static HPy a...\n @EXPORT(f)\n @EXPORT(g)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n #include <string.h>\n\n static HPy as_utf8_and_size(HPyContext *ctx, HPy arg, HPy_ssize_t *s..._and_size(ctx, arg, NULL);\n }\n @EXPORT(f)\n @EXPORT(g)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000014283caa0> main_src = '\n #include <string.h>\n\n static HPy as_utf8_and_size(HPyContext *ctx, HPy arg, HPy_ssize_t *s..._and_size(ctx, arg, NULL);\n }\n @EXPORT(f)\n @EXPORT(g)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2720/test_AsUTF8AndSize-1' ext = <setuptools.extension.Extension instance at 0x000000014283d260> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000014283cae0> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2720/test_AsUTF8AndSize-1' ext = <setuptools.extension.Extension instance at 0x000000014283d260> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000014283cae0> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000014283d2a0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x00000001330458a0> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x00000001330458a0> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x00000001330458a0> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x00000001330458a0> ext = <setuptools.extension.Extension instance at 0x000000014283d260> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x00000001330458a0> ext = <setuptools.extension.Extension instance at 0x000000014283d260> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000014283d1a0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2720/test_AsUTF8AndSize-1' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000014283d1a0> obj = '/tmp/buildbot-arm64/usession-py3.11-2720/test_AsUTF8AndSize-1/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError ____________________ AppTestUnicode.test_FromFormat[debug] _____________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000014ba18548>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromFormat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_FromFormat[debug]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000012020a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001407bb160>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromFormat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_FromFormat[debug]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001407bb160>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromFormat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_FromFormat[debug]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromFormat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001335f0fe8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001327cb220> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001327cb220> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromFormat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001335f0f98> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001327cb1e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001327cb1e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_FromFormat[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_FromFormat[debug]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_FromFormat[debug]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_FromFormat[debug]'>, space = StdObjSpace target = <function test_FromFormat at 0x000000014ba18f98> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>,) w_func = <Function test_FromFormat> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_FromFormat> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_FromFormat> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001316d7868>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_FromFormat, file "[/Users/matti/build-worker-arm64/own-macos...ild/pypy/module/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 name = 'test_FromFormat', qualname = 'test_FromFormat' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 pycode = <code object test_FromFormat, file "[/Users/matti/build-worker-arm64/own-macos...ild/pypy/module/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> next_instr = 1950 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000149c8cf70> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03g\x00d\x02t\x03d\x03f\x02d\x04f\x03\x91\x01d\x05t\x03d\x0...\x00k\x02\x90\x03s\xe8J\x00\x90\x01db|\n\x17\x00\x90\x01d`\x17\x00t\x12|\x0b\x83\x01\x17\x00\x83\x01\x82\x01d\x00S\x00' next_instr = 1950 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000149c8cf70> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03g\x00d\x02t\x03d\x03f\x02d\x04f\x03\x91\x01d\x05t\x03d\x0...\x00k\x02\x90\x03s\xe8J\x00\x90\x01db|\n\x17\x00\x90\x01d`\x17\x00t\x12|\x0b\x83\x01\x17\x00\x83\x01\x82\x01d\x00S\x00' next_instr = 1978 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000149c8cf70> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 oparg = 1, ignored = (1978,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_FromForm...ule/_hpy_universal/test/_vendored/test_hpyunicode.py:221]", line 1> at line 448 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(a0, "a0", HPyFunc_NO...RT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000142f897c0> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(a0, "a0", HPyFunc_NO...RT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000142f897c0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(a0, "a0", HPyFunc_NO...RT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000142f897c0> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000142f897c0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(a0, "a0", HPyFunc_NO...RT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x0000000142f89910> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(a0, "a0", HPyFunc_NOARGS)\n ...PORT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT'), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(a0, "a0", HPyFunc_NOARGS)\n static HPy a0_impl(HPyContext *ctx, HPy self...(a310)\n@EXPORT(a311)\n@EXPORT(a312)\n@EXPORT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x00000001327cb0e0> main_src = '\n HPyDef_METH(a0, "a0", HPyFunc_NOARGS)\n static HPy a0_impl(HPyContext *ctx, HPy self...(a310)\n@EXPORT(a311)\n@EXPORT(a312)\n@EXPORT(a313)\n@EXPORT(a314)\n@EXPORT(a315)\n@EXPORT(a316)\n@EXPORT(a317)\n@INIT' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2720/test_FromFormat-1' ext = <setuptools.extension.Extension instance at 0x0000000133b123a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x00000001327cb120> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2720/test_FromFormat-1' ext = <setuptools.extension.Extension instance at 0x0000000133b123a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x00000001327cb120> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x0000000133b123e0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000140a314b0> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000140a314b0> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000140a314b0> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000140a314b0> ext = <setuptools.extension.Extension instance at 0x0000000133b123a0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000140a314b0> ext = <setuptools.extension.Extension instance at 0x0000000133b123a0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000133b122e0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2720/test_FromFormat-1' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000133b122e0> obj = '/tmp/buildbot-arm64/usession-py3.11-2720/test_FromFormat-1/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_hpyunicode.py::AppTestUnicode::()::test_AsUTF8AndSize[debug] FAIL module/_hpy_universal/test/_vendored/test_hpyunicode.py::AppTestUnicode::()::test_FromFormat[debug] ===================== 2 failed, 40 passed in 74.42 seconds ===================== ++ 03:45:21 starting module/_hpy_universal/test/_vendored/test_importing.py [43 started in total] __ module/_hpy_universal/test/_vendored/test_hpytype.py [41 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 74 items module/_hpy_universal/test/_vendored/test_hpytype.py ................ss........................................F.....F......... =================================== FAILURES =================================== _______________ AppTestType.test_specparam_basestuple[universal] _______________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000014c024ae8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_specparam_basestuple[universal]...ll__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_specparam_basestuple[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001288d20c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001483150e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_specparam_basestuple[universal]...ll__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_specparam_basestuple[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001483150e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_specparam_basestuple[universal]...ll__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_specparam_basestuple[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_specparam_basestuple[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000149ce1858> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012bd25c60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012bd25c60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_specparam_basestuple[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000149ce17e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012bd25c20> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012bd25c20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_specparam_basestuple[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_specparam_basestuple[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_specparam_basestuple[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_specparam_basestuple[universal]'> space = StdObjSpace target = <function test_specparam_basestuple at 0x000000014c024b60> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>,) w_func = <Function test_specparam_basestuple> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_specparam_basestuple> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_specparam_basestuple> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_specparam_basestuple, file "[/Users/matti/build-worker-arm64...build/pypy/module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 name = 'test_specparam_basestuple', qualname = 'test_specparam_basestuple' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 pycode = <code object test_specparam_basestuple, file "[/Users/matti/build-worker-arm64...build/pypy/module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012afa0598> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01t\x01|\x01j\x02t\x03\x83\x02s\rJ\x00\x82\x01|\x01j\x02j\x04d\x02k\x02s\x15J\x00\x82\x0...x00\x82\x01G\x00d\x06\x84\x00d\x07|\x01j\x02\x83\x03}\x02t\x01|\x02\x83\x00|\x01j\x02\x83\x02sQJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012afa0598> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01\xa1\x01}\x01t\x01|\x01j\x02t\x03\x83\x02s\rJ\x00\x82\x01|\x01j\x02j\x04d\x02k\x02s\x15J\x00\x82\x0...x00\x82\x01G\x00d\x06\x84\x00d\x07|\x01j\x02\x83\x03}\x02t\x01|\x02\x83\x00|\x01j\x02\x83\x02sQJ\x00\x82\x01d\x00S\x00' next_instr = 8L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012afa0598> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 oparg = 1, ignored = (8L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_specpara.../module/_hpy_universal/test/_vendored/test_hpytype.py:1431]", line 1> at line 2 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n... }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014c8f9440> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n... }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014c8f9440> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n... }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014c8f9440> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000014c8f9440> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n... }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x000000014c8f9520> space = StdObjSpace scope_w = [W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n ... }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n static HPyType_Spec Dummy_spec = {\n .name = "mytest.Dummy",\n .itemsize ... HPy_Close(ctx, h_Dummy);\n }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000012bd257e0> main_src = '\n static HPyType_Spec Dummy_spec = {\n .name = "mytest.Dummy",\n .itemsize ... HPy_Close(ctx, h_Dummy);\n }\n @EXTRA_INIT_FUNC(make_Dummy)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.test_hpytype.PointTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2718/test_specparam_basestuple-0' ext = <setuptools.extension.Extension instance at 0x0000000142ba78a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000012bd259e0> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2718/test_specparam_basestuple-0' ext = <setuptools.extension.Extension instance at 0x0000000142ba78a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000012bd259e0> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x0000000142ba78e0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012bfde790> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012bfde790> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012bfde790> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012bfde790> ext = <setuptools.extension.Extension instance at 0x0000000142ba78a0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012bfde790> ext = <setuptools.extension.Extension instance at 0x0000000142ba78a0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000142ba77e0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2718/test_specparam_basestuple-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000142ba77e0> obj = '/tmp/buildbot-arm64/usession-py3.11-2718/test_specparam_basestuple-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError _____________________ AppTestType.test_get_name[universal] _____________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000014b9b7f88>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_name[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_name[universal]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001288d20c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001483150e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_name[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_name[universal]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001483150e0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_name[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_name[universal]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_name[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000014c2784d0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000118937a20> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000118937a20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_name[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000014c278458> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001189379e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001189379e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_name[universal]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_get_name[universal]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_get_name[universal]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_get_name[universal]'>, space = StdObjSpace target = <function test_get_name at 0x000000014bbb6458> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>,) w_func = <Function test_get_name> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_get_name> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_get_name> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000149c49be8>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_get_name, file "[/Users/matti/build-worker-arm64/own-macos-a...build/pypy/module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 name = 'test_get_name', qualname = 'test_get_name' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 pycode = <code object test_get_name, file "[/Users/matti/build-worker-arm64/own-macos-a...build/pypy/module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012afa0598> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 co_code = 'd\x01d\x00l\x00}\x01|\x00\xa0\x01d\x02\xa1\x01}\x02|\x02j\x02j\x03d\x03k\x02s\x11J\x00\x82\x01|\x02\xa0\x04|\x02j\x02...|\x01j\x06\xa1\x01d\x05k\x02s.J\x00\x82\x01d\x00S\x00\x02\xa0\x04|\x01j\x06\xa1\x01d\x05k\x02s.J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012afa0598> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 co_code = 'd\x01d\x00l\x00}\x01|\x00\xa0\x01d\x02\xa1\x01}\x02|\x02j\x02j\x03d\x03k\x02s\x11J\x00\x82\x01|\x02\xa0\x04|\x02j\x02...|\x01j\x06\xa1\x01d\x05k\x02s.J\x00\x82\x01d\x00S\x00\x02\xa0\x04|\x01j\x06\xa1\x01d\x05k\x02s.J\x00\x82\x01d\x00S\x00' next_instr = 16L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012afa0598> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 oparg = 1, ignored = (16L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_name.../module/_hpy_universal/test/_vendored/test_hpytype.py:1566]", line 1> at line 3 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n...y", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000015b2d8bb8> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n...y", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000015b2d8bb8> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n...y", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000015b2d8bb8> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000015b2d8bb8> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n...y", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x000000015b2d8c98> space = StdObjSpace scope_w = [W_UnicodeObject('\n static HPyType_Spec Dummy_spec = {\n ...mmy", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n static HPyType_Spec Dummy_spec = {\n .name = "mytest.Dummy",\n .itemsize ... }\n\n @EXPORT_TYPE("Dummy", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x00000001189378e0> main_src = '\n static HPyType_Spec Dummy_spec = {\n .name = "mytest.Dummy",\n .itemsize ... }\n\n @EXPORT_TYPE("Dummy", Dummy_spec)\n @EXPORT(get_name)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.test_hpytype.PointTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2718/test_get_name-0' ext = <setuptools.extension.Extension instance at 0x000000015921d260> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x0000000118937920> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2718/test_get_name-0' ext = <setuptools.extension.Extension instance at 0x000000015921d260> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x0000000118937920> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x000000015921d2a0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012ba4fa60> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012ba4fa60> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012ba4fa60> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012ba4fa60> ext = <setuptools.extension.Extension instance at 0x000000015921d260> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x000000012ba4fa60> ext = <setuptools.extension.Extension instance at 0x000000015921d260> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000015921d1a0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2718/test_get_name-0' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000015921d1a0> obj = '/tmp/buildbot-arm64/usession-py3.11-2718/test_get_name-0/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_hpytype.py::AppTestType::()::test_specparam_basestuple[universal] FAIL module/_hpy_universal/test/_vendored/test_hpytype.py::AppTestType::()::test_get_name[universal] =============== 2 failed, 70 passed, 2 skipped in 92.45 seconds ================ ++ 03:45:24 starting module/_hpy_universal/test/_vendored/test_legacy_forbidden.py [44 started in total] __ module/_hpy_universal/test/_vendored/test_importing.py [42 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/_hpy_universal/test/_vendored/test_importing.py ss ========================== 2 skipped in 8.16 seconds =========================== ++ 03:45:33 starting module/_hpy_universal/test/_vendored/test_number.py [45 started in total] __ module/_hpy_universal/test/_vendored/test_legacy_forbidden.py [43 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/_hpy_universal/test/_vendored/test_legacy_forbidden.py ....ssss ===================== 4 passed, 4 skipped in 8.58 seconds ====================== ++ 03:45:36 starting module/_hpy_universal/test/_vendored/test_object.py [46 started in total] __ module/_hpy_universal/test/_vendored/test_object.py [44 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 50 items module/_hpy_universal/test/_vendored/test_object.py .................................................. ========================== 50 passed in 66.89 seconds ========================== ++ 03:46:49 starting module/_hpy_universal/test/_vendored/test_slots.py [47 started in total] __ module/_hpy_universal/test/_vendored/test_number.py [45 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 18 items module/_hpy_universal/test/_vendored/test_number.py .................. ========================== 18 passed in 73.47 seconds ========================== ++ 03:46:53 starting module/_hpy_universal/test/_vendored/test_slots_legacy.py [48 started in total] __ module/_hpy_universal/test/_vendored/test_slots.py [46 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items module/_hpy_universal/test/_vendored/test_slots.py .......................................... ========================== 42 passed in 58.88 seconds ========================== ++ 03:47:55 starting module/_hpy_universal/test/_vendored/test_support.py [49 started in total] __ module/_hpy_universal/test/_vendored/test_support.py [47 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.04 seconds =========================== ++ 03:47:59 starting module/_hpy_universal/test/_vendored/test_tracker.py [50 started in total] __ module/_hpy_universal/test/_vendored/test_hpytype_legacy.py [48 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 84 items module/_hpy_universal/test/_vendored/test_hpytype_legacy.py ................ss.................................................................. ==================== 82 passed, 2 skipped in 258.12 seconds ==================== ++ 03:48:14 starting module/_hpy_universal/test/pypy [51 started in total] __ module/_hpy_universal/test/pypy [49 done in total, somefailed=False] _______ ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 34 items module/_hpy_universal/test/pypy/test_apiset.py ....... module/_hpy_universal/test/pypy/test_handlemanager.py ..................s...... module/_hpy_universal/test/pypy/test_storage.py . module/_hpy_universal/test/pypy/test_ztranslation.py s ===================== 32 passed, 2 skipped in 9.03 seconds ===================== ++ 03:48:29 starting module/_io/test [52 started in total] __ module/_hpy_universal/test/_vendored/test_tracker.py [50 done in total, somefailed=True] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items module/_hpy_universal/test/_vendored/test_tracker.py ...F...F.... =================================== FAILURES =================================== _____________ AppTestHPyTracker.test_new_with_size_and_free[debug] _____________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000124e8e110>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>...call__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000012820a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120a40d20>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>...call__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120a40d20>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>...call__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000124e8b650> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ree[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000124e5c6a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000124e5c6a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ree[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000124e8b5d8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ree[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000124e5c660> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000124e5c660> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ree[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_new_with_size_and_free[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_new_with_size_and_free[debug]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_new_with_size_and_free[debug]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_new_with_size_and_free[debug]'>, space = StdObjSpace target = <function test_new_with_size_and_free at 0x0000000124e8e188> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>,) w_func = <Function test_new_with_size_and_free> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_new_with_size_and_free> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_new_with_size_and_free> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_new_with_size_and_free, file "[/Users/matti/build-worker-arm...4/build/pypy/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 name = 'test_new_with_size_and_free', qualname = 'test_new_with_size_and_free' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 pycode = <code object test_new_with_size_and_free, file "[/Users/matti/build-worker-arm...4/build/pypy/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02d\x03\xcc\x02}\x01|\x01\xa0\x01\xa1\x00\x01\x00d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02d\x03\xcc\x02}\x01|\x01\xa0\x01\xa1\x00\x01\x00d\x00S\x00' next_instr = 12L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD_KW.index: > self.CALL_METHOD_KW(oparg, next_instr) interpreter/pyopcode.py:315: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_new_with...py/module/_hpy_universal/test/_vendored/test_tracker.py:39]", line 1> at line 2 n_arguments = 0, ignored = (12L,) W_AbstractTupleObject = <class 'pypy.objspace.std.tupleobject.W_AbstractTupleObject'> w_self = None, space = StdObjSpace @jit.unroll_safe def CALL_METHOD_KW(f, n_arguments, *ignored): from pypy.objspace.std.tupleobject import W_AbstractTupleObject # opargs contains the arg + kwarg count, excluding the implicit 'self' w_self = f.peekvalue_maybe_none(n_arguments + 1) space = f.space # like in BUILD_CONST_KEY_MAP we can't use space.fixedview because then # the immutability of the tuple is lost w_tup_varnames = space.interp_w(W_AbstractTupleObject, f.popvalue()) n_keywords = space.len_w(w_tup_varnames) keyword_names_w = [None] * n_keywords keywords_w = [None] * n_keywords for i in range(n_keywords): keyword_names_w[i] = w_tup_varnames.getitem(space, i) w_value = f.peekvalue(n_keywords - 1 - i) keywords_w[i] = w_value f.dropvalues(n_keywords) n_arguments -= n_keywords n = n_arguments + (w_self is not None) arguments = f.popvalues(n) # includes w_self if it is not None if w_self is None: f.popvalue_maybe_none() # removes w_self, which is None w_callable = f.popvalue() args = f.argument_factory( arguments, keyword_names_w, keywords_w, None, None, methodcall=w_self is not None, w_function=w_callable) if f.get_is_being_profiled() and function.is_builtin_code(w_callable): w_result = f.space.call_args_and_c_profile(f, w_callable, args) else: > w_result = f.space.call_args(w_callable, args) objspace/std/callmethod.py:126: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_obj = bound method hpytracker_module args = Arguments([], ['ops', 'size'], [W_UnicodeObject(''), W_IntObject(10)]) def call_args(space, w_obj, args): # two special cases for performance if isinstance(w_obj, Function): return w_obj.call_args(args) if isinstance(w_obj, Method): > return w_obj.call_args(args) objspace/descroperation.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = bound method hpytracker_module args = Arguments([], ['ops', 'size'], [W_UnicodeObject(''), W_IntObject(10)]) def call_args(self, args): space = self.space > return space.call_obj_args(self.w_function, self.w_instance, args) interpreter/function.py:577: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_callable = <Function hpytracker_module> w_obj = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> args = Arguments([], ['ops', 'size'], [W_UnicodeObject(''), W_IntObject(10)]) def call_obj_args(self, w_callable, w_obj, args): if not self.config.objspace.disable_call_speedhacks: # start of hack for performance from pypy.interpreter.function import Function if isinstance(w_callable, Function): > return w_callable.call_obj_args(w_obj, args) interpreter/baseobjspace.py:1209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function hpytracker_module> w_obj = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> args = Arguments([], ['ops', 'size'], [W_UnicodeObject(''), W_IntObject(10)]) def call_obj_args(self, w_obj, args): # delegate activation to code > w_res = self.getcode().funcrun_obj(self, w_obj, args) interpreter/function.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <code object hpytracker_module, file "?", line 2> func = <Function hpytracker_module> w_obj = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> args = Arguments([], ['ops', 'size'], [W_UnicodeObject(''), W_IntObject(10)]) def funcrun_obj(self, func, w_obj, args): frame = self.space.createframe(self, func.w_func_globals, func) sig = self._signature # speed hack fresh_frame = jit.hint(frame, access_directly=True, fresh_virtualizable=True) args.parse_into_scope(w_obj, fresh_frame.locals_cells_stack_w, func.qualname, sig, func.defs_w, func.w_kw_defs) fresh_frame.init_cells() > return frame.run(func.name, func.qualname) interpreter/pycode.py:292: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 name = 'hpytracker_module', qualname = 'anonymous.<locals>.hpytracker_module' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 pycode = <code object hpytracker_module, file "?", line 2>, next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 co_code = '|\x00\xa0\x00d\x01\xa0\x01|\x01|\x02d\x02\xcc\x02\xa1\x01S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 co_code = '|\x00\xa0\x00d\x01\xa0\x01|\x01|\x02d\x02\xcc\x02\xa1\x01S\x00' next_instr = 18L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 oparg = 1, ignored = (18L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000124e89210> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000124e89210> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000124e89210> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x0000000124e89210> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x0000000124e89360> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n ... }\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self,\... return result;\n }\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x0000000124e5c560> main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self,\... return result;\n }\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2728/test_new_with_size_and_free-1' ext = <setuptools.extension.Extension instance at 0x0000000124ec01a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x0000000124e5c5a0> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2728/test_new_with_size_and_free-1' ext = <setuptools.extension.Extension instance at 0x0000000124ec01a0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x0000000124e5c5a0> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x0000000124ec01e0> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124ebd130> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124ebd130> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124ebd130> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124ebd130> ext = <setuptools.extension.Extension instance at 0x0000000124ec01a0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124ebd130> ext = <setuptools.extension.Extension instance at 0x0000000124ec01a0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000124ec00e0> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2728/test_new_with_size_and_free-1' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000124ec00e0> obj = '/tmp/buildbot-arm64/usession-py3.11-2728/test_new_with_size_and_free-1/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError _______________ AppTestHPyTracker.test_add_and_remove_all[debug] _______________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000122b6ce30>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_add_and_remove_all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_add_and_remove_all[debug]'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000012820a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120a40d20>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_add_and_remove_all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_add_and_remove_all[debug]'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120a40d20>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_add_and_remove_all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_add_and_remove_all[debug]'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_add_and_remove_all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000142c36c00> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012b309160> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012b309160> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_add_and_remove_all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000142c36b88> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012b309120> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012b309120> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_add_and_remove_all[debug]'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_add_and_remove_all[debug]'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_add_and_remove_all[debug]'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_add_and_remove_all[debug]'>, space = StdObjSpace target = <function test_add_and_remove_all at 0x0000000122b6cea8> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>,) w_func = <Function test_add_and_remove_all> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_add_and_remove_all> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_add_and_remove_all> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_add_and_remove_all, file "[/Users/matti/build-worker-arm64/o...4/build/pypy/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 name = 'test_add_and_remove_all', qualname = 'test_add_and_remove_all' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 pycode = <code object test_add_and_remove_all, file "[/Users/matti/build-worker-arm64/o...4/build/pypy/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02\xcc\x01}\x01|\x01\xa0\x01d\x03\xa1\x01d\x00u\x00s\x0fJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02\xcc\x01}\x01|\x01\xa0\x01d\x03\xa1\x01d\x00u\x00s\x0fJ\x00\x82\x01d\x00S\x00' next_instr = 10L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD_KW.index: > self.CALL_METHOD_KW(oparg, next_instr) interpreter/pyopcode.py:315: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_add_and_...py/module/_hpy_universal/test/_vendored/test_tracker.py:49]", line 1> at line 2 n_arguments = 0, ignored = (10L,) W_AbstractTupleObject = <class 'pypy.objspace.std.tupleobject.W_AbstractTupleObject'> w_self = None, space = StdObjSpace @jit.unroll_safe def CALL_METHOD_KW(f, n_arguments, *ignored): from pypy.objspace.std.tupleobject import W_AbstractTupleObject # opargs contains the arg + kwarg count, excluding the implicit 'self' w_self = f.peekvalue_maybe_none(n_arguments + 1) space = f.space # like in BUILD_CONST_KEY_MAP we can't use space.fixedview because then # the immutability of the tuple is lost w_tup_varnames = space.interp_w(W_AbstractTupleObject, f.popvalue()) n_keywords = space.len_w(w_tup_varnames) keyword_names_w = [None] * n_keywords keywords_w = [None] * n_keywords for i in range(n_keywords): keyword_names_w[i] = w_tup_varnames.getitem(space, i) w_value = f.peekvalue(n_keywords - 1 - i) keywords_w[i] = w_value f.dropvalues(n_keywords) n_arguments -= n_keywords n = n_arguments + (w_self is not None) arguments = f.popvalues(n) # includes w_self if it is not None if w_self is None: f.popvalue_maybe_none() # removes w_self, which is None w_callable = f.popvalue() args = f.argument_factory( arguments, keyword_names_w, keywords_w, None, None, methodcall=w_self is not None, w_function=w_callable) if f.get_is_being_profiled() and function.is_builtin_code(w_callable): w_result = f.space.call_args_and_c_profile(f, w_callable, args) else: > w_result = f.space.call_args(w_callable, args) objspace/std/callmethod.py:126: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_obj = bound method hpytracker_module args = Arguments([], ['ops'], [W_UnicodeObject('\n HPyTracker_Add(ctx, ht, args[0]);\n HPyTracker_ForgetAll(ctx, ht);\n ')]) def call_args(space, w_obj, args): # two special cases for performance if isinstance(w_obj, Function): return w_obj.call_args(args) if isinstance(w_obj, Method): > return w_obj.call_args(args) objspace/descroperation.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = bound method hpytracker_module args = Arguments([], ['ops'], [W_UnicodeObject('\n HPyTracker_Add(ctx, ht, args[0]);\n HPyTracker_ForgetAll(ctx, ht);\n ')]) def call_args(self, args): space = self.space > return space.call_obj_args(self.w_function, self.w_instance, args) interpreter/function.py:577: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_callable = <Function hpytracker_module> w_obj = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> args = Arguments([], ['ops'], [W_UnicodeObject('\n HPyTracker_Add(ctx, ht, args[0]);\n HPyTracker_ForgetAll(ctx, ht);\n ')]) def call_obj_args(self, w_callable, w_obj, args): if not self.config.objspace.disable_call_speedhacks: # start of hack for performance from pypy.interpreter.function import Function if isinstance(w_callable, Function): > return w_callable.call_obj_args(w_obj, args) interpreter/baseobjspace.py:1209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function hpytracker_module> w_obj = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> args = Arguments([], ['ops'], [W_UnicodeObject('\n HPyTracker_Add(ctx, ht, args[0]);\n HPyTracker_ForgetAll(ctx, ht);\n ')]) def call_obj_args(self, w_obj, args): # delegate activation to code > w_res = self.getcode().funcrun_obj(self, w_obj, args) interpreter/function.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <code object hpytracker_module, file "?", line 2> func = <Function hpytracker_module> w_obj = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x00000001295912f0> args = Arguments([], ['ops'], [W_UnicodeObject('\n HPyTracker_Add(ctx, ht, args[0]);\n HPyTracker_ForgetAll(ctx, ht);\n ')]) def funcrun_obj(self, func, w_obj, args): frame = self.space.createframe(self, func.w_func_globals, func) sig = self._signature # speed hack fresh_frame = jit.hint(frame, access_directly=True, fresh_virtualizable=True) args.parse_into_scope(w_obj, fresh_frame.locals_cells_stack_w, func.qualname, sig, func.defs_w, func.w_kw_defs) fresh_frame.init_cells() > return frame.run(func.name, func.qualname) interpreter/pycode.py:292: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 name = 'hpytracker_module', qualname = 'anonymous.<locals>.hpytracker_module' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 pycode = <code object hpytracker_module, file "?", line 2>, next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 co_code = '|\x00\xa0\x00d\x01\xa0\x01|\x01|\x02d\x02\xcc\x02\xa1\x01S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 co_code = '|\x00\xa0\x00d\x01\xa0\x01|\x01|\x02d\x02\xcc\x02\xa1\x01S\x00' next_instr = 18L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001428e4090> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 oparg = 1, ignored = (18L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode descr_make_module> nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object hpytracker_module, file "?", line 2> at line 3 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000013381f9f0> func = <FunctionWithFixedCode descr_make_module> args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000013381f9f0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000013381f9f0> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x000000013381f9f0> func = <FunctionWithFixedCode descr_make_module>, w_obj = None args = Arguments([W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARA... }\n @EXPORT(f)\n @INIT\n ')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_text_W_Root object at 0x000000013381fb40> space = StdObjSpace scope_w = [W_UnicodeObject('\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n ... }\n @EXPORT(f)\n @INIT\n '), W_UnicodeObject('mytest'), None] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), space.text_w(scope_w[1]), scope_w[2]) <2439-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self,\... return result;\n }\n @EXPORT(f)\n @INIT\n ' name = 'mytest', w_extra_sources = None @unwrap_spec(main_src='text', name='text', w_extra_sources=W_Root) def descr_make_module(space, main_src, name='mytest', w_extra_sources=None): if w_extra_sources is None: extra_sources = () else: items_w = space.unpackiterable(w_extra_sources) extra_sources = [space.text_w(item) for item in items_w] # Include mode in the cache key so that different ABI modes # (e.g. universal vs debug) get separate .so files. Both # compile identically but are loaded as distinct shared # libraries, which prevents C-level static variables from # leaking between runs (e.g. test_tp_finalize's # saw_expected_finalize_call / test_finished). cache_key = (main_src, ExtensionTemplate.__name__, name, tuple(extra_sources), hpy_abi, mode) if cache_key in _compiled_module_cache: so_filename = _compiled_module_cache[cache_key] else: module = compiler.compile_module(main_src, ExtensionTemplate, > name, extra_sources) module/_hpy_universal/test/support.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal.test._vendored.support.ExtensionCompiler instance at 0x000000012b308920> main_src = '\n HPyDef_METH(f, "f", HPyFunc_VARARGS)\n static HPy f_impl(HPyContext *ctx, HPy self,\... return result;\n }\n @EXPORT(f)\n @INIT\n ' ExtensionTemplate = <class 'pypy.module._hpy_universal.test._vendored.support.DefaultExtensionTemplate'> name = 'mytest', extra_sources = () def compile_module(self, main_src, ExtensionTemplate=None, name='mytest', extra_sources=()): """ Create and compile a HPy module from the template """ ExtensionTemplate = self._fixup_template(ExtensionTemplate) from distutils.core import Extension filename = self._expand(ExtensionTemplate, name, main_src) sources = [str(filename)] for i, src in enumerate(extra_sources): extra_filename = self._expand(ExtensionTemplate, 'extmod_%d' % i, src) sources.append(extra_filename) # if self.dump_dir: pytest.skip("dumping test sources only") if sys.platform == 'win32': # not strictly true, could be mingw compile_args = [ '/Od', '/WX', # turn warnings into errors (all, for now) # '/Wall', # this is too aggressive, makes windows itself fail '/Zi', '-D_CRT_SECURE_NO_WARNINGS', # something about _snprintf and _snprintf_s '/FS', # Since the tests run in parallel ] link_args = [ '/DEBUG', '/LTCG', ] else: compile_args = [ '-g', '-O0', '-Wfatal-errors', # stop after one error (unrelated to warnings) '-Werror', # turn warnings into errors (all, for now) ] link_args = [ '-g', ] # ext = Extension( name, sources=sources, include_dirs=self.extra_include_dirs, extra_compile_args=compile_args, extra_link_args=link_args + self.extra_link_args) hpy_abi = self.hpy_abi if hpy_abi == 'debug' or hpy_abi == 'trace': # there is no compile-time difference between universal and debug # extensions. The only difference happens at load time hpy_abi = 'universal' elif hpy_abi in ('hybrid+debug', 'hybrid+trace'): hpy_abi = 'hybrid' so_filename = c_compile(str(self.tmpdir), ext, hpy_devel=self.hpy_devel, hpy_abi=hpy_abi, > compiler_verbose=self.compiler_verbose) module/_hpy_universal/test/_vendored/support.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2728/test_add_and_remove_all-1' ext = <setuptools.extension.Extension instance at 0x00000001330f4ee0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000012b308960> hpy_abi = 'universal', compiler_verbose = False, debug = None def c_compile(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): """Compile a C extension module using distutils.""" saved_environ = os.environ.copy() try: > outputfilename = _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose, debug) module/_hpy_universal/test/_vendored/support.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmpdir = '/tmp/buildbot-arm64/usession-py3.11-2728/test_add_and_remove_all-1' ext = <setuptools.extension.Extension instance at 0x00000001330f4ee0> hpy_devel = <pypy.module._hpy_universal._vendored.hpy.devel.HPyDevel instance at 0x000000012b308960> hpy_abi = 'universal', compiler_verbose = False, debug = 0 def _build(tmpdir, ext, hpy_devel, hpy_abi, compiler_verbose=0, debug=None): # XXX compact but horrible :-( from distutils.core import Distribution import distutils.errors import distutils.log # dist = Distribution() dist.parse_config_files() if debug is None: debug = sys.flags.debug options_build_ext = dist.get_option_dict('build_ext') options_build_ext['debug'] = ('ffiplatform', debug) options_build_ext['force'] = ('ffiplatform', True) options_build_ext['build_lib'] = ('ffiplatform', tmpdir) options_build_ext['build_temp'] = ('ffiplatform', tmpdir) options_build_py = dist.get_option_dict('build_py') options_build_py['build_lib'] = ('ffiplatform', tmpdir) # this is the equivalent of passing --hpy-abi from setup.py's command line dist.hpy_abi = hpy_abi # Use static libs when they have been pre-built (speeds up test compilation # by avoiding recompiling the same helper sources for every test module). dist.hpy_use_static_libs = bool(hpy_devel.get_static_libs(hpy_abi)) dist.hpy_ext_modules = [ext] # We need to explicitly specify which Python modules we expect because some # test cases create several distributions in the same temp directory. dist.py_modules = [ext.name] hpy_devel.fix_distribution(dist) old_level = distutils.log.set_threshold(0) or 0 old_dir = os.getcwd() try: os.chdir(tmpdir) distutils.log.set_verbosity(compiler_verbose) > dist.run_command('build_ext') module/_hpy_universal/test/_vendored/support.py:617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <setuptools.dist.Distribution instance at 0x00000001330f4f20> command = 'build_ext' def run_command(self, command): """Do whatever it takes to run a command (including nothing at all, if the command has already been run). Specifically: if we have already created and run the command named by 'command', return silently without doing anything. If the command named by 'command' doesn't even have a command object yet, create one. Then invoke 'run()' on that command object (or an existing one). """ # Already been here, done that? then return silently. if self.have_run.get(command): return log.info("running %s", command) cmd_obj = self.get_command_obj(command) cmd_obj.ensure_finalized() > cmd_obj.run() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/dist.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124a923a0> def run(self): """Build extensions in build directory, then copy if --inplace""" old_inplace, self.inplace = self.inplace, 0 > _build_ext.run(self) ../virt_test/site-packages/setuptools/command/build_ext.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124a923a0> def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. > self.build_extensions() ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124a923a0> def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) for ext in self.extensions: > self.build_extension(ext) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:459: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124a923a0> ext = <setuptools.extension.Extension instance at 0x00000001330f4ee0> def build_extension(self, ext): ext._convert_pyx_sources_to_lang() _compiler = self.compiler try: if isinstance(ext, Library): self.compiler = self.shlib_compiler > _build_ext.build_extension(self, ext) ../virt_test/site-packages/setuptools/command/build_ext.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module._hpy_universal._vendored.hpy.devel.build_ext_hpy object at 0x0000000124a923a0> ext = <setuptools.extension.Extension instance at 0x00000001330f4ee0> def build_extension(self, ext): sources = ext.sources if sources is None or type(sources) not in (ListType, TupleType): raise DistutilsSetupError, \ ("in 'ext_modules' option (extension '%s'), " + "'sources' must be present and must be " + "a list of source filenames") % ext.name sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, > depends=ext.depends) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/command/build_ext.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x00000001330f4e20> sources = ['mytest.c'] output_dir = '/tmp/buildbot-arm64/usession-py3.11-2728/test_add_and_remove_all-1' macros = [('HPY', None), ('HPY_ABI_UNIVERSAL', None)] include_dirs = [PosixPath('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/inclu...on_h'), '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include'] debug = 0, extra_preargs = None extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'], depends = [] def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x00000001330f4e20> obj = '/tmp/buildbot-arm64/usession-py3.11-2728/test_add_and_remove_all-1/mytest.o' src = 'mytest.c', ext = '.c' cc_args = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_.../build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include', '-c'] extra_postargs = ['-g', '-O0', '-Wfatal-errors', '-Werror'] pp_opts = ['-DHPY', '-DHPY_ABI_UNIVERSAL', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_hpy_universal/_...-arm64/build/pypy/module/_hpy_universal/_vendored/hpy/devel/include', '-I/Users/matti/oss/pypy-arm64-buildbot/include'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/_hpy_universal/test/_vendored/test_tracker.py::AppTestHPyTracker::()::test_new_with_size_and_free[debug] FAIL module/_hpy_universal/test/_vendored/test_tracker.py::AppTestHPyTracker::()::test_add_and_remove_all[debug] ===================== 2 failed, 10 passed in 44.17 seconds ===================== ++ 03:48:51 starting module/_jitlog/test [53 started in total] __ module/_jitlog/test [51 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/_jitlog/test/test__jitlog.py . ========================== 1 passed in 13.87 seconds =========================== ++ 03:49:05 starting module/_locale/test [54 started in total] __ module/_locale/test [52 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items module/_locale/test/test_locale.py ssssssssssssss. ==================== 1 passed, 14 skipped in 14.28 seconds ===================== ++ 03:49:22 starting module/_lsprof/test [55 started in total] __ module/_lsprof/test [53 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/_lsprof/test/test_cprofile.py ...... ========================== 6 passed in 10.58 seconds =========================== ++ 03:49:35 starting module/_md5/test [56 started in total] __ module/_md5/test [54 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/_md5/test/test_md5.py ........ =========================== 8 passed in 8.44 seconds =========================== ++ 03:49:45 starting module/_minimal_curses/test [57 started in total] __ module/_hpy_universal/test/_vendored/test_slots_legacy.py [55 done in total, somefailed=False] ('warning: setuptools.command.build does not exist in setuptools', '44.1.1', 'on', '2.7.18 (c7f2b53ceffe, Aug 22 2024, 13:13:36)\n[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]') ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 54 items module/_hpy_universal/test/_vendored/test_slots_legacy.py ...................................................... ========================= 54 passed in 194.48 seconds ========================== ++ 03:50:16 starting module/_multibytecodec/test [58 started in total] __ module/_io/test [56 done in total, somefailed=False] _______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 286 items / 1 skipped module/_io/test/apptest_bufferedio.py . module/_io/test/apptest_bytesio.py ................. module/_io/test/apptest_io.py ........................................... module/_io/test/apptest_stringio.py ........................... module/_io/test/apptest_textio.py ..............................s................. module/_io/test/test_bufferedio.py .......................................................................ss................................ module/_io/test/test_fileio.py .................................... module/_io/test/test_interp_textio.py ......... =================== 283 passed, 4 skipped in 126.23 seconds ==================== ++ 03:50:39 starting module/_multiprocessing/test [59 started in total] __ module/_multibytecodec/test [57 done in total, somefailed=False] ___________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 67 items module/_multibytecodec/test/apptest_codecs.py ................... module/_multibytecodec/test/apptest_incremental.py .................... module/_multibytecodec/test/apptest_stream.py ..... module/_multibytecodec/test/test_c_codecs.py ..................s module/_multibytecodec/test/test_multibtye_codecs.py ... module/_multibytecodec/test/test_translation.py s ==================== 65 passed, 2 skipped in 30.77 seconds ===================== ++ 03:50:48 starting module/_opcode/test [60 started in total] __ module/_minimal_curses/test [58 done in total, somefailed=False] ___________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/_minimal_curses/test/test_curses.py ...... ========================== 6 passed in 65.80 seconds =========================== ++ 03:50:58 starting module/_pickle/test [61 started in total] __ module/_opcode/test [59 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items module/_opcode/test/apptest_opcode.py ..... ========================== 5 passed in 11.43 seconds =========================== ++ 03:51:01 starting module/_pickle_support/test [62 started in total] __ module/_multiprocessing/test [60 done in total, somefailed=True] ___________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items module/_multiprocessing/test/test_interp_semaphore.py s module/_multiprocessing/test/test_semaphore.py .Fsssss.s module/_multiprocessing/test/test_win32.py s module/_multiprocessing/test/test_ztranslation.py . =================================== FAILURES =================================== ____________________ AppTestSemaphore.test_semaphore_basic _____________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000129aaff30> def test_semaphore_basic(self): from _multiprocessing import SemLock import sys assert SemLock.SEM_VALUE_MAX > 10 kind = self.SEMAPHORE value = 1 maxvalue = 1 # the following line gets OSError: [Errno 38] Function not implemented # if /dev/shm is not mounted on Linux sem = SemLock(kind, value, maxvalue, "1", unlink=True) assert sem.kind == kind assert sem.maxvalue == maxvalue assert isinstance(sem.handle, int) assert sem.name is None assert sem._count() == 0 if sys.platform == 'darwin': raises(NotImplementedError, 'sem._get_value()') else: assert sem._get_value() == 1 > assert sem._is_zero() == False E (application-level) AssertionError [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/_multiprocessing/test/test_semaphore.py:35]:22: AssertionError =========================== short test summary info ============================ FAIL module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_semaphore_basic ================ 1 failed, 3 passed, 8 skipped in 21.30 seconds ================ ++ 03:51:03 starting module/_posixsubprocess/test [63 started in total] __ module/_pickle_support/test [61 done in total, somefailed=False] ___________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/_pickle_support/test/apptest__pickle_support.py . =========================== 1 passed in 7.50 seconds =========================== ++ 03:51:09 starting module/_pypyjson/test [64 started in total] __ module/_pypyjson/test [62 done in total, somefailed=False] _________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items / 1 skipped module/_pypyjson/test/apptest__pypyjson.py ........ module/_pypyjson/test/test__pypyjson.py ............................................ ==================== 52 passed, 1 skipped in 27.83 seconds ===================== ++ 03:51:42 starting module/_random/test [65 started in total] __ module/_random/test [63 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items module/_random/test/test_random.py ............ module/_random/test/test_ztranslation.py . ========================== 13 passed in 19.67 seconds ========================== ++ 03:52:02 starting module/_rawffi/alt/test [66 started in total] __ module/_pickle/test [64 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 96 items module/_pickle/test/apptest_optional_frames.py .. module/_pickle/test/apptest_pickle.py ...............................................................s... module/_pickle/test/apptest_pypy_extensions.py ........................... ==================== 95 passed, 1 skipped in 61.11 seconds ===================== ++ 03:52:04 starting module/_rawffi/test [67 started in total] __ module/_posixsubprocess/test [65 done in total, somefailed=True] ___________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items module/_posixsubprocess/test/apptest_subprocess.py ........F module/_posixsubprocess/test/test_ztranslation.py . =================================== FAILURES =================================== _____________________________ test_restore_signals _____________________________ def test_restore_signals(): import posix as os # Copied from lib-python/3/subprocess._execute_child # when calling subprocess.check_output(['cat', '/proc/self/status'], # restore_signals=True, universal_newlines=True) def check_output(restore_signals): c2pread, c2pwrite = os.pipe() errpipe_read, errpipe_write = os.pipe() try: low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) args = [b'cat', b'/proc/self/status'] executable_list=[b'/usr/bin/cat'] close_fds = True fds_to_keep = (errpipe_write,) cwd = None env_list = None p2cread = p2cwrite = -1 errread = errwrite = umask = -1 call_setsid = False pgid_to_set = -1 preexec_fn = None gid = gids = uid = None pid = _posixsubprocess.fork_exec(args, executable_list, close_fds, fds_to_keep, cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, call_setsid, pgid_to_set, gid, gids, uid, umask, preexec_fn, subprocess._USE_VFORK) os.close(errpipe_write) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break if errpipe_data: newpid, sts = os.waitpid(pid, 0) raise RuntimeError('running commande returned %s' % sts) out = os.read(c2pread, 50000) finally: os.close(c2pwrite) os.close(c2pread) os.close(errpipe_read) return out sig_ign_mask1 = '' sig_ign_mask2 = '' > for line in check_output(True).splitlines(): module/_posixsubprocess/test/apptest_subprocess.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ restore_signals = W_BoolObject(True) def check_output(restore_signals): c2pread, c2pwrite = os.pipe() errpipe_read, errpipe_write = os.pipe() try: low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) args = [b'cat', b'/proc/self/status'] executable_list=[b'/usr/bin/cat'] close_fds = True fds_to_keep = (errpipe_write,) cwd = None env_list = None p2cread = p2cwrite = -1 errread = errwrite = umask = -1 call_setsid = False pgid_to_set = -1 preexec_fn = None gid = gids = uid = None pid = _posixsubprocess.fork_exec(args, executable_list, close_fds, fds_to_keep, cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, call_setsid, pgid_to_set, gid, gids, uid, umask, preexec_fn, subprocess._USE_VFORK) os.close(errpipe_write) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break if errpipe_data: newpid, sts = os.waitpid(pid, 0) > raise RuntimeError('running commande returned %s' % sts) E (application-level) RuntimeError: running commande returned 65280 module/_posixsubprocess/test/apptest_subprocess.py:277: RuntimeError =========================== short test summary info ============================ FAIL module/_posixsubprocess/test/apptest_subprocess.py::test_restore_signals ===================== 1 failed, 9 passed in 58.52 seconds ====================== ++ 03:52:09 starting module/_socket/test [68 started in total] __ module/_rawffi/alt/test [66 done in total, somefailed=False] _______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 73 items module/_rawffi/alt/test/test_ffitype.py ..... module/_rawffi/alt/test/test_funcptr.py ..................................ssssss.s module/_rawffi/alt/test/test_struct.py ............... module/_rawffi/alt/test/test_type_converter.py ........... ==================== 66 passed, 7 skipped in 13.52 seconds ===================== ++ 03:52:17 starting module/_sre/test [69 started in total] __ module/_sre/test [67 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 160 items module/_sre/test/apptest_sre.py .................................................................. module/_sre/test/test_app_sre.py .................................................................. module/_sre/test/test_sre_buf.py ............................ ========================= 160 passed in 45.14 seconds ========================== ++ 03:53:08 starting module/_vmprof/test [70 started in total] __ module/_rawffi/test [68 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 84 items module/_rawffi/test/apptest_rawffi.py . module/_rawffi/test/test__rawffi.py .....s.............................................s..........s...... module/_rawffi/test/test_exit.py . module/_rawffi/test/test_nested.py ...... module/_rawffi/test/test_struct.py ... module/_rawffi/test/test_tracker.py ... module/_rawffi/test/test_ztranslation.py . ==================== 81 passed, 3 skipped in 60.60 seconds ===================== n: 2 Arg 0: 3 Arg 1: 15 ++ 03:53:10 starting module/_warnings/test [71 started in total] __ module/_warnings/test [69 done in total, somefailed=False] _________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items module/_warnings/test/apptest_warnings.py ........s.s..... module/_warnings/test/test_warnings.py . ==================== 15 passed, 2 skipped in 17.80 seconds ===================== ++ 03:53:30 starting module/_weakref/test [72 started in total] __ module/_vmprof/test [70 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items module/_vmprof/test/test__vmprof.py ....s module/_vmprof/test/test_direct.py .. ===================== 6 passed, 1 skipped in 22.90 seconds ===================== ++ 03:53:32 starting module/_winreg/test [73 started in total] __ module/_winreg/test [71 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.15 seconds =========================== ++ 03:53:33 starting module/array/test [74 started in total] __ module/_weakref/test [72 done in total, somefailed=False] __________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 43 items module/_weakref/test/apptest_weakref.py ........................................... ========================== 43 passed in 36.47 seconds ========================== ++ 03:54:08 starting module/atexit/test [75 started in total] __ module/_socket/test [73 done in total, somefailed=True] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 87 items module/_socket/test/apptest_socket.py .....................ss..s............s.ss...........F...sssss module/_socket/test/test_sock_app.py ....................s... module/_socket/test/test_ztranslation.py . =================================== FAILURES =================================== ___________________________ test_tcp_bytearray_name ____________________________ def test_tcp_bytearray_name(): import _socket as socket if not hasattr(socket, 'AF_UNIX'): pytest.skip('AF_UNIX not supported.') s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) > s.bind(bytearray(b"\x00python\x00test\x00")) E (application-level) FileNotFoundError: [Errno 2] No such file or directory module/_socket/test/apptest_socket.py:830: OSError =========================== short test summary info ============================ FAIL module/_socket/test/apptest_socket.py::test_tcp_bytearray_name ============== 1 failed, 74 passed, 12 skipped in 116.89 seconds =============== ++ 03:54:13 starting module/binascii/test [76 started in total] __ module/atexit/test [74 done in total, somefailed=False] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/atexit/test/apptest_atexit.py .. ========================== 2 passed in 12.87 seconds =========================== ++ 03:54:23 starting module/bz2/test [77 started in total] __ module/binascii/test [75 done in total, somefailed=False] __________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 18 items module/binascii/test/test_binascii.py .................. ========================== 18 passed in 17.20 seconds ========================== ++ 03:54:33 starting module/cmath/test [78 started in total] __ module/cmath/test [76 done in total, somefailed=False] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 18 items module/cmath/test/test_cmath.py .................. ========================== 18 passed in 8.87 seconds =========================== ++ 03:54:43 starting module/cpyext/test/test_api.py [79 started in total] __ module/array/test [77 done in total, somefailed=True] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 64 items module/array/test/apptest_array.py ... module/array/test/test_array.py ................E.....s..................s................... module/array/test/test_ztranslation.py . ==================================== ERRORS ==================================== ____________ ERROR at teardown of AppTestArray.test_reversingslice _____________ self = <CallInfo when='teardown' exception: { <C object Array of Char {'nolength': True} at 0x600002c7e900>: <C object Arra...cos-arm64/build/pypy/module/array/interp_array.py", line 214, in setlen rffi.CCHARP.TO, byte_size, flavor='raw') }> func = <function <lambda> at 0x000000012a1664d0>, when = 'teardown' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_teardown'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <...kwargs={...}>}>, 'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <AppTestMethod 'test_getslice_large_step'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000012820a0c8> hook = <_HookCaller 'pytest_runtest_teardown'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <...kwargs={...}>}>, 'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <AppTestMethod 'test_getslice_large_step'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_teardown'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <...kwargs={...}>}>, 'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <AppTestMethod 'test_getslice_large_step'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <AppTestMethod 'test_getslice_large_step'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_teardown at 0x000000012a6a02a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...large_step'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014a5185a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000014a5185a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...large_step'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_reversingslice'>, 'nextitem': <AppTestMethod 'test_getslice_large_step'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.conftest.LeakFinder instance at 0x00000001381784e0> item = <AppTestMethod 'test_reversingslice'> @pytest.hookimpl(trylast=True) def pytest_runtest_teardown(self, item): if not isinstance(item, py.test.collect.Function): return if (not getattr(item.obj, 'dont_track_allocations', False) and leakfinder.TRACK_ALLOCATIONS): kwds = {} try: kwds['do_collection'] = item.track_allocations_collect except AttributeError: pass item._pypytest_leaks = leakfinder.stop_tracking_allocations(False, **kwds) else: # stop_tracking_allocations() already called item._pypytest_leaks = None # check for leaks, but only if the test passed so far if getattr(item, '_success', False) and item._pypytest_leaks: > raise leakfinder.MallocMismatch(item._pypytest_leaks) E MallocMismatch: { E E <C object Array of Char {'nolength': True} at 0x600002c7e900>: E <C object Array of Char {'nolength': True} at 0x600002c58b40>: E <C object Array of Char {'nolength': True} at 0x600002c7ebf0>: E <C object Array of Char {'nolength': True} at 0x600002c58890>: E <C object Array of Char {'nolength': True} at 0x600002c4c0e0>: E <C object Array of Char {'nolength': True} at 0x600002c596a0>: E <C object Array of Char {'nolength': True} at 0x600002c7b880>: E <C object Array of Char {'nolength': True} at 0x600002c5ef70>: E <C object Array of Char {'nolength': True} at 0x600002c42920>: E <C object Array of Char {'nolength': True} at 0x600002c44540>: E <C object Array of Char {'nolength': True} at 0x600002c65d30>: E <C object Array of Char {'nolength': True} at 0x600002c449e0>: E <C object Array of Char {'nolength': True} at 0x600002c4d900>: E <C object Array of Char {'nolength': True} at 0x600002c4a0d0>: E <C object Array of Char {'nolength': True} at 0x600002c4e900>: E <C object Array of Char {'nolength': True} at 0x600002c7d130>: E <C object Array of Char {'nolength': True} at 0x600002c727a0>: E <C object Array of Char {'nolength': True} at 0x600002c4acd0>: E <C object Array of Char {'nolength': True} at 0x600002c214f0>: E <C object Array of Char {'nolength': True} at 0x600002c20560>: E <C object Array of Char {'nolength': True} at 0x600002c4b9f0>: E <C object Array of Char {'nolength': True} at 0x600002c5a630>: E <C object Array of Char {'nolength': True} at 0x600002c5c240>: E <C object Array of Char {'nolength': True} at 0x600002c5a6a0>: E <C object Array of Char {'nolength': True} at 0x600002c505e0>: E <C object Array of Char {'nolength': True} at 0x600002c58330>: E <C object Array of Char {'nolength': True} at 0x600002c713d0>: E <C object Array of Char {'nolength': True} at 0x600002c3a890>: E <C object Array of Char {'nolength': True} at 0x600002c500f0>: E <C object Array of Char {'nolength': True} at 0x600002c53660>: E <C object Array of Char {'nolength': True} at 0x600002c4f750>: E <C object Array of Char {'nolength': True} at 0x600002c66030>: E <C object Array of Char {'nolength': True} at 0x600002c46190>: E <C object Array of Char {'nolength': True} at 0x600002c52500>: E <C object Array of Char {'nolength': True} at 0x600002c5a060>: E <C object Array of Char {'nolength': True} at 0x600002c52f40>: E ... E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 645, in descr_getitem E return self.getitem_slice(space, w_idx) E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 1242, in getitem_slice E w_a.setlen(size, overallocate=False) E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 214, in setlen E rffi.CCHARP.TO, byte_size, flavor='raw') E E <C object Array of Char {'nolength': True} at 0x600002c7f290>: E <C object Array of Char {'nolength': True} at 0x600002c58590>: E <C object Array of Char {'nolength': True} at 0x600002e695e0>: E <C object Array of Char {'nolength': True} at 0x600002e693c0>: E <C object Array of Char {'nolength': True} at 0x600002c59300>: E <C object Array of Char {'nolength': True} at 0x600002c5a720>: E <C object Array of Char {'nolength': True} at 0x600002e683a0>: E <C object Array of Char {'nolength': True} at 0x600002e68020>: E <C object Array of Char {'nolength': True} at 0x600002c7f650>: E <C object Array of Char {'nolength': True} at 0x600002c370b0>: E <C object Array of Char {'nolength': True} at 0x600002e68b00>: E <C object Array of Char {'nolength': True} at 0x600002e694c0>: E <C object Array of Char {'nolength': True} at 0x600002e69780>: E <C object Array of Char {'nolength': True} at 0x600002e68640>: E <C object Array of Char {'nolength': True} at 0x600002e698e0>: E <C object Array of Char {'nolength': True} at 0x600002e39360>: E <C object Array of Char {'nolength': True} at 0x600002e6d340>: E <C object Array of Char {'nolength': True} at 0x600002c47830>: E <C object Array of Char {'nolength': True} at 0x6000020316b0>: E <C object Array of Char {'nolength': True} at 0x600002033390>: E <C object Array of Char {'nolength': True} at 0x600002e6d1a0>: E <C object Array of Char {'nolength': True} at 0x600002e6d360>: E <C object Array of Char {'nolength': True} at 0x600002e6d4e0>: E <C object Array of Char {'nolength': True} at 0x600002e6d560>: E <C object Array of Char {'nolength': True} at 0x600002e6d0e0>: E <C object Array of Char {'nolength': True} at 0x600002e6d620>: E <C object Array of Char {'nolength': True} at 0x600002e6d840>: E <C object Array of Char {'nolength': True} at 0x600002c4c970>: E <C object Array of Char {'nolength': True} at 0x600002c4dfd0>: E <C object Array of Char {'nolength': True} at 0x600002e14760>: E <C object Array of Char {'nolength': True} at 0x600002e146e0>: E <C object Array of Char {'nolength': True} at 0x600002c59fd0>: E <C object Array of Char {'nolength': True} at 0x600002c59cc0>: E <C object Array of Char {'nolength': True} at 0x600002e15040>: E <C object Array of Char {'nolength': True} at 0x600002e15540>: E <C object Array of Char {'nolength': True} at 0x600002c67750>: E <C object Array of Char {'nolength': True} at 0x600002c5c1a0>: E <C object Array of Char {'nolength': True} at 0x600002e14e00>: E <C object Array of Char {'nolength': True} at 0x600002e153c0>: E <C object Array of Char {'nolength': True} at 0x600002c5f5c0>: E <C object Array of Char {'nolength': True} at 0x600002c58d10>: E <C object Array of Char {'nolength': True} at 0x600002e2da00>: E <C object Array of Char {'nolength': True} at 0x600002e25ac0>: E <C object Array of Char {'nolength': True} at 0x600002e6ca80>: E <C object Array of Char {'nolength': True} at 0x600002c73f30>: E <C object Array of Char {'nolength': True} at 0x600002032a90>: E <C object Array of Char {'nolength': True} at 0x600002031410>: E <C object Array of Char {'nolength': True} at 0x600002e6d240>: E <C object Array of Char {'nolength': True} at 0x600002e6d640>: E <C object Array of Char {'nolength': True} at 0x600002e6c980>: E <C object Array of Char {'nolength': True} at 0x600002e393e0>: E <C object Array of Char {'nolength': True} at 0x600002e394c0>: E <C object Array of Char {'nolength': True} at 0x600002e692c0>: E <C object Array of Char {'nolength': True} at 0x600002e69980>: E <C object Array of Char {'nolength': True} at 0x600002e697c0>: E <C object Array of Char {'nolength': True} at 0x600002e69720>: E <C object Array of Char {'nolength': True} at 0x600002e699a0>: E <C object Array of Char {'nolength': True} at 0x600002e69640>: E <C object Array of Char {'nolength': True} at 0x600002e698a0>: E <C object Array of Char {'nolength': True} at 0x600002e68d80>: E <C object Array of Char {'nolength': True} at 0x600002e2d180>: E <C object Array of Char {'nolength': True} at 0x600002e2db00>: E <C object Array of Char {'nolength': True} at 0x600002e15180>: E <C object Array of Char {'nolength': True} at 0x600002c5b6c0>: E <C object Array of Char {'nolength': True} at 0x600002006df0>: E <C object Array of Char {'nolength': True} at 0x600002006dc0>: E <C object Array of Char {'nolength': True} at 0x600002e12360>: E <C object Array of Char {'nolength': True} at 0x600002e12340>: E <C object Array of Char {'nolength': True} at 0x600002e11620>: E <C object Array of Char {'nolength': True} at 0x600002e12080>: E <C object Array of Char {'nolength': True} at 0x600002e11c80>: E <C object Array of Char {'nolength': True} at 0x600002e11f60>: E <C object Array of Char {'nolength': True} at 0x600002e11e20>: E <C object Array of Char {'nolength': True} at 0x600002e6d660>: E <C object Array of Char {'nolength': True} at 0x600002e6d800>: E <C object Array of Char {'nolength': True} at 0x600002e6d880>: E <C object Array of Char {'nolength': True} at 0x600002e6d140>: E <C object Array of Char {'nolength': True} at 0x600002e6d940>: E <C object Array of Char {'nolength': True} at 0x600002e2cba0>: E <C object Array of Char {'nolength': True} at 0x600002e2dba0>: E <C object Array of Char {'nolength': True} at 0x600002c43840>: E <C object Array of Char {'nolength': True} at 0x600002e11fe0>: E <C object Array of Char {'nolength': True} at 0x600002e152a0>: E <C object Array of Char {'nolength': True} at 0x600002c46ba0>: E <C object Array of Char {'nolength': True} at 0x600002e15400>: E <C object Array of Char {'nolength': True} at 0x600002e6d7e0>: E <C object Array of Char {'nolength': True} at 0x600002e6d3c0>: E <C object Array of Char {'nolength': True} at 0x600002c451b0>: E <C object Array of Char {'nolength': True} at 0x600002c44a70>: E <C object Array of Char {'nolength': True} at 0x600002e6d6c0>: E <C object Array of Char {'nolength': True} at 0x600002e6d7c0>: E <C object Array of Char {'nolength': True} at 0x600002c16f60>: E <C object Array of Char {'nolength': True} at 0x600002c5a100>: E <C object Array of Char {'nolength': True} at 0x600002e6cee0>: E <C object Array of Char {'nolength': True} at 0x600002e6cec0>: E <C object Array of Char {'nolength': True} at 0x600002c458a0>: E <C object Array of Char {'nolength': True} at 0x600002c47a30>: E <C object Array of Char {'nolength': True} at 0x600002e6da40>: E <C object Array of Char {'nolength': True} at 0x600002e6c6c0>: E <C object Array of Char {'nolength': True} at 0x600002e6d440>: E <C object Array of Char {'nolength': True} at 0x600002e6dae0>: E <C object Array of Char {'nolength': True} at 0x600002e6d6e0>: E <C object Array of Char {'nolength': True} at 0x600002e6d9c0>: E <C object Array of Char {'nolength': True} at 0x600002e2da40>: E <C object Array of Char {'nolength': True} at 0x600002e2daa0>: E <C object Array of Char {'nolength': True} at 0x600002e2d8a0>: E <C object Array of Char {'nolength': True} at 0x600002c4e0c0>: E <C object Array of Char {'nolength': True} at 0x600002e698c0>: E <C object Array of Char {'nolength': True} at 0x600002e6cf40>: E <C object Array of Char {'nolength': True} at 0x600002c77ff0>: E <C object Array of Char {'nolength': True} at 0x600002e68aa0>: E <C object Array of Char {'nolength': True} at 0x600002e11f80>: E <C object Array of Char {'nolength': True} at 0x600002e119c0>: E <C object Array of Char {'nolength': True} at 0x600002c4aca0>: E <C object Array of Char {'nolength': True} at 0x600002c7e2c0>: E <C object Array of Char {'nolength': True} at 0x600002e11ee0>: E <C object Array of Char {'nolength': True} at 0x600002e123a0>: E <C object Array of Char {'nolength': True} at 0x600002c4cad0>: E <C object Array of Char {'nolength': True} at 0x600002c4e7c0>: E <C object Array of Char {'nolength': True} at 0x600002e11920>: E <C object Array of Char {'nolength': True} at 0x600002e123e0>: E <C object Array of Char {'nolength': True} at 0x600002c7e870>: E <C object Array of Char {'nolength': True} at 0x600002c7ec50>: E <C object Array of Char {'nolength': True} at 0x600002e114e0>: E <C object Array of Char {'nolength': True} at 0x600002e11500>: E <C object Array of Char {'nolength': True} at 0x600002c4c750>: E <C object Array of Char {'nolength': True} at 0x600002c4ce40>: E <C object Array of Char {'nolength': True} at 0x600002e120e0>: E <C object Array of Char {'nolength': True} at 0x600002e11460>: E <C object Array of Char {'nolength': True} at 0x600002c383e0>: E <C object Array of Char {'nolength': True} at 0x600002c39e50>: E <C object Array of Char {'nolength': True} at 0x600002e25a80>: E <C object Array of Char {'nolength': True} at 0x600002e22100>: E <C object Array of Char {'nolength': True} at 0x600002e23680>: E <C object Array of Char {'nolength': True} at 0x600002e23c20>: E <C object Array of Char {'nolength': True} at 0x600002e12140>: E <C object Array of Char {'nolength': True} at 0x600002e11e60>: E <C object Array of Char {'nolength': True} at 0x600002e11680>: E <C object Array of Char {'nolength': True} at 0x600002e12260>: E <C object Array of Char {'nolength': True} at 0x600002e12540>: E <C object Array of Char {'nolength': True} at 0x600002c4b150>: E <C object Array of Char {'nolength': True} at 0x60000201b2d0>: E <C object Array of Char {'nolength': True} at 0x60000201b8d0>: E <C object Array of Char {'nolength': True} at 0x600002e15280>: E <C object Array of Char {'nolength': True} at 0x600002e151a0>: E <C object Array of Char {'nolength': True} at 0x600002e15560>: E <C object Array of Char {'nolength': True} at 0x600002e6d6a0>: E <C object Array of Char {'nolength': True} at 0x600002e6d920>: E <C object Array of Char {'nolength': True} at 0x600002e6d260>: E <C object Array of Char {'nolength': True} at 0x600002e6d720>: E <C object Array of Char {'nolength': True} at 0x600002c71b10>: E <C object Array of Char {'nolength': True} at 0x600002c423a0>: E <C object Array of Char {'nolength': True} at 0x600002e6d8e0>: E <C object Array of Char {'nolength': True} at 0x600002e6d580>: E <C object Array of Char {'nolength': True} at 0x600002c5b320>: E <C object Array of Char {'nolength': True} at 0x600002c43200>: E <C object Array of Char {'nolength': True} at 0x600002e6d5a0>: E <C object Array of Char {'nolength': True} at 0x600002e6d820>: E <C object Array of Char {'nolength': True} at 0x600002c5c9e0>: E <C object Array of Char {'nolength': True} at 0x600002c5e030>: E <C object Array of Char {'nolength': True} at 0x600002e6db00>: E <C object Array of Char {'nolength': True} at 0x600002e6d3a0>: E <C object Array of Char {'nolength': True} at 0x600002e6c800>: E <C object Array of Char {'nolength': True} at 0x600002e6d780>: E <C object Array of Char {'nolength': True} at 0x600002e6dc60>: E <C object Array of Char {'nolength': True} at 0x600002e6cde0>: E <C object Array of Char {'nolength': True} at 0x600002e6db60>: E <C object Array of Char {'nolength': True} at 0x600002c5ffd0>: E <C object Array of Char {'nolength': True} at 0x6000020332a0>: E <C object Array of Char {'nolength': True} at 0x600002026160>: E <C object Array of Char {'nolength': True} at 0x600002e6dda0>: E <C object Array of Char {'nolength': True} at 0x600002e2d3a0>: E <C object Array of Char {'nolength': True} at 0x600002e235c0>: E <C object Array of Char {'nolength': True} at 0x600002e699c0>: E <C object Array of Char {'nolength': True} at 0x600002e68820>: E <C object Array of Char {'nolength': True} at 0x600002e69aa0>: E <C object Array of Char {'nolength': True} at 0x600002e69bc0>: E <C object Array of Char {'nolength': True} at 0x600002c50000>: E <C object Array of Char {'nolength': True} at 0x600002c512a0>: E <C object Array of Char {'nolength': True} at 0x600002e691e0>: E <C object Array of Char {'nolength': True} at 0x600002e69200>: E <C object Array of Char {'nolength': True} at 0x600002c597b0>: E <C object Array of Char {'nolength': True} at 0x600002c595f0>: E <C object Array of Char {'nolength': True} at 0x600002e69940>: E <C object Array of Char {'nolength': True} at 0x600002e69960>: E <C object Array of Char {'nolength': True} at 0x600002c67e00>: E <C object Array of Char {'nolength': True} at 0x600002c50020>: E <C object Array of Char {'nolength': True} at 0x600002e69740>: E <C object Array of Char {'nolength': True} at 0x600002e25dc0>: E <C object Array of Char {'nolength': True} at 0x600002c3b000>: E <C object Array of Char {'nolength': True} at 0x600002c482f0>: E <C object Array of Char {'nolength': True} at 0x600002e2dca0>: E <C object Array of Char {'nolength': True} at 0x600002e14fe0>: E <C object Array of Char {'nolength': True} at 0x600002e153a0>: E <C object Array of Char {'nolength': True} at 0x600002c44dd0>: E <C object Array of Char {'nolength': True} at 0x600002006f40>: E <C object Array of Char {'nolength': True} at 0x600002e12460>: E <C object Array of Char {'nolength': True} at 0x600002e124a0>: E <C object Array of Char {'nolength': True} at 0x600002e392e0>: E <C object Array of Char {'nolength': True} at 0x600002e39740>: E <C object Array of Char {'nolength': True} at 0x600002e69b20>: E <C object Array of Char {'nolength': True} at 0x600002e697e0>: E <C object Array of Char {'nolength': True} at 0x600002e69ca0>: E <C object Array of Char {'nolength': True} at 0x600002e69080>: E <C object Array of Char {'nolength': True} at 0x600002e69c00>: E <C object Array of Char {'nolength': True} at 0x600002e69d00>: E <C object Array of Char {'nolength': True} at 0x600002e69ba0>: E <C object Array of Char {'nolength': True} at 0x600002e69d40>: E <C object Array of Char {'nolength': True} at 0x600002e69c40>: E <C object Array of Char {'nolength': True} at 0x600002e69a80>: E <C object Array of Char {'nolength': True} at 0x600002e69d80>: E <C object Array of Char {'nolength': True} at 0x600002e69e40>: E <C object Array of Char {'nolength': True} at 0x600002e690e0>: E <C object Array of Char {'nolength': True} at 0x600002c52080>: E <C object Array of Char {'nolength': True} at 0x600002e69de0>: E <C object Array of Char {'nolength': True} at 0x600002e69920>: E <C object Array of Char {'nolength': True} at 0x600002e69dc0>: E <C object Array of Char {'nolength': True} at 0x600002e69900>: E <C object Array of Char {'nolength': True} at 0x600002e69d60>: E <C object Array of Char {'nolength': True} at 0x600002e69520>: E <C object Array of Char {'nolength': True} at 0x600002e69820>: E <C object Array of Char {'nolength': True} at 0x600002e69b60>: E <C object Array of Char {'nolength': True} at 0x600002e69ee0>: E <C object Array of Char {'nolength': True} at 0x600002c50a70>: E <C object Array of Char {'nolength': True} at 0x600002c52370>: E <C object Array of Char {'nolength': True} at 0x600002e694a0>: E <C object Array of Char {'nolength': True} at 0x600002e696e0>: E <C object Array of Char {'nolength': True} at 0x600002c53d00>: E <C object Array of Char {'nolength': True} at 0x600002c4c260>: E <C object Array of Char {'nolength': True} at 0x600002e15440>: E <C object Array of Char {'nolength': True} at 0x600002e149e0>: E <C object Array of Char {'nolength': True} at 0x600002c48a00>: E <C object Array of Char {'nolength': True} at 0x600002c34230>: E <C object Array of Char {'nolength': True} at 0x600002e15840>: E <C object Array of Char {'nolength': True} at 0x600002e15580>: E <C object Array of Char {'nolength': True} at 0x600002e156a0>: E <C object Array of Char {'nolength': True} at 0x600002e15740>: E <C object Array of Char {'nolength': True} at 0x600002e15760>: E <C object Array of Char {'nolength': True} at 0x600002e15780>: E <C object Array of Char {'nolength': True} at 0x600002e15360>: E <C object Array of Char {'nolength': True} at 0x600002c4ed70>: E <C object Array of Char {'nolength': True} at 0x60000201b3f0>: E <C object Array of Char {'nolength': True} at 0x60000201b3c0>: E <C object Array of Char {'nolength': True} at 0x600002e14d00>: E <C object Array of Char {'nolength': True} at 0x600002e15620>: E <C object Array of Char {'nolength': True} at 0x600002e15240>: E <C object Array of Char {'nolength': True} at 0x600002e15820>: E <C object Array of Char {'nolength': True} at 0x600002e2db80>: E <C object Array of Char {'nolength': True} at 0x600002e2dc00>: E <C object Array of Char {'nolength': True} at 0x600002e11520>: E <C object Array of Char {'nolength': True} at 0x600002c47360>: E <C object Array of Char {'nolength': True} at 0x600002c77fc0>: E <C object Array of Char {'nolength': True} at 0x600002e125a0>: E <C object Array of Char {'nolength': True} at 0x600002e124c0>: E <C object Array of Char {'nolength': True} at 0x600002c52ee0>: E <C object Array of Char {'nolength': True} at 0x600002c45470>: E <C object Array of Char {'nolength': True} at 0x600002e12200>: E <C object Array of Char {'nolength': True} at 0x600002e12680>: E <C object Array of Char {'nolength': True} at 0x600002c5beb0>: E <C object Array of Char {'nolength': True} at 0x600002c475c0>: E <C object Array of Char {'nolength': True} at 0x600002e11d40>: E <C object Array of Char {'nolength': True} at 0x600002e126c0>: E <C object Array of Char {'nolength': True} at 0x600002c50280>: E <C object Array of Char {'nolength': True} at 0x600002c526b0>: E <C object Array of Char {'nolength': True} at 0x600002e12100>: E <C object Array of Char {'nolength': True} at 0x600002e12240>: E <C object Array of Char {'nolength': True} at 0x600002e12020>: E <C object Array of Char {'nolength': True} at 0x600002c47b40>: E <C object Array of Char {'nolength': True} at 0x60000201b510>: E <C object Array of Char {'nolength': True} at 0x60000201bab0>: E <C object Array of Char {'nolength': True} at 0x600002e15200>: E <C object Array of Char {'nolength': True} at 0x600002e154c0>: E <C object Array of Char {'nolength': True} at 0x600002e15660>: E <C object Array of Char {'nolength': True} at 0x600002e15a80>: E <C object Array of Char {'nolength': True} at 0x600002e15700>: E <C object Array of Char {'nolength': True} at 0x600002e15960>: E <C object Array of Char {'nolength': True} at 0x600002e15ae0>: E <C object Array of Char {'nolength': True} at 0x600002e15120>: E <C object Array of Char {'nolength': True} at 0x600002e15a00>: E <C object Array of Char {'nolength': True} at 0x600002e15b40>: E <C object Array of Char {'nolength': True} at 0x600002e15800>: E <C object Array of Char {'nolength': True} at 0x600002e15a20>: E <C object Array of Char {'nolength': True} at 0x600002e15aa0>: E <C object Array of Char {'nolength': True} at 0x600002e14740>: E <C object Array of Char {'nolength': True} at 0x600002e157e0>: E <C object Array of Char {'nolength': True} at 0x600002e2dae0>: E <C object Array of Char {'nolength': True} at 0x600002c4cbe0>: E <C object Array of Char {'nolength': True} at 0x600002006f10>: E <C object Array of Char {'nolength': True} at 0x6000020074b0>: E <C object Array of Char {'nolength': True} at 0x600002e12060>: E <C object Array of Char {'nolength': True} at 0x600002e12660>: E <C object Array of Char {'nolength': True} at 0x600002e12400>: E <C object Array of Char {'nolength': True} at 0x600002e128c0>: E <C object Array of Char {'nolength': True} at 0x600002e12a00>: E <C object Array of Char {'nolength': True} at 0x600002e11d80>: E <C object Array of Char {'nolength': True} at 0x600002e12800>: E <C object Array of Char {'nolength': True} at 0x600002e12a40>: E <C object Array of Char {'nolength': True} at 0x600002e12480>: E <C object Array of Char {'nolength': True} at 0x600002e12860>: E <C object Array of Char {'nolength': True} at 0x600002e2dcc0>: E <C object Array of Char {'nolength': True} at 0x600002e2cda0>: E <C object Array of Char {'nolength': True} at 0x600002e2dd20>: E <C object Array of Char {'nolength': True} at 0x600002e158c0>: E <C object Array of Char {'nolength': True} at 0x600002e159e0>: E <C object Array of Char {'nolength': True} at 0x600002e15be0>: E <C object Array of Char {'nolength': True} at 0x600002c57a50>: E <C object Array of Char {'nolength': True} at 0x600002025800>: E <C object Array of Char {'nolength': True} at 0x600002025830>: E <C object Array of Char {'nolength': True} at 0x600002e6dee0>: E <C object Array of Char {'nolength': True} at 0x600002e6d960>: E <C object Array of Char {'nolength': True} at 0x600002e6dbe0>: E <C object Array of Char {'nolength': True} at 0x600002e6d740>: E <C object Array of Char {'nolength': True} at 0x600002e6dc80>: E <C object Array of Char {'nolength': True} at 0x600002e6dd60>: E <C object Array of Char {'nolength': True} at 0x600002e6d8a0>: E <C object Array of Char {'nolength': True} at 0x600002e6dd00>: E <C object Array of Char {'nolength': True} at 0x600002e6de40>: E <C object Array of Char {'nolength': True} at 0x600002e6dbc0>: E <C object Array of Char {'nolength': True} at 0x600002e6de00>: E <C object Array of Char {'nolength': True} at 0x600002e6dea0>: E <C object Array of Char {'nolength': True} at 0x600002e6cf80>: E <C object Array of Char {'nolength': True} at 0x600002e6dde0>: E <C object Array of Char {'nolength': True} at 0x600002c22f80>: E <C object Array of Char {'nolength': True} at 0x600002e397c0>: E <C object Array of Char {'nolength': True} at 0x600002e15b00>: E <C object Array of Char {'nolength': True} at 0x600002e15900>: E <C object Array of Char {'nolength': True} at 0x600002e154e0>: E <C object Array of Char {'nolength': True} at 0x600002e15e80>: E <C object Array of Char {'nolength': True} at 0x600002e15a40>: E <C object Array of Char {'nolength': True} at 0x600002e15ba0>: E <C object Array of Char {'nolength': True} at 0x600002c539f0>: E <C object Array of Char {'nolength': True} at 0x600002c4b6c0>: E <C object Array of Char {'nolength': True} at 0x600002e15220>: E ... E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 414, in descr_fromlist E self.fromsequence(w_lst) E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 1106, in fromsequence E self.setlen(oldlen + len(lst)) E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 214, in setlen E rffi.CCHARP.TO, byte_size, flavor='raw') E E <C object Array of Char {'nolength': True} at 0x600002031e00>: E <C object Array of Char {'nolength': True} at 0x6000020326a0>: E <C object Array of Char {'nolength': True} at 0x600002006b20>: E <C object Array of Char {'nolength': True} at 0x600002e6d900>: E <C object Array of Char {'nolength': True} at 0x600002e121c0>: E <C object Array of Char {'nolength': True} at 0x60000201afa0>: E <C object Array of Char {'nolength': True} at 0x6000020317d0>: E <C object Array of Char {'nolength': True} at 0x600002e11f40>: E <C object Array of Char {'nolength': True} at 0x600002e69a60>: E <C object Array of Char {'nolength': True} at 0x60000201b0c0>: E <C object Array of Char {'nolength': True} at 0x60000201b1b0>: E <C object Array of Char {'nolength': True} at 0x600002006cd0>: E <C object Array of Char {'nolength': True} at 0x6000020258f0>: E ... E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 1280, in setitem_slice E self.fromsequence(w_lst) E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 1106, in fromsequence E self.setlen(oldlen + len(lst)) E File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/array/interp_array.py", line 214, in setlen E rffi.CCHARP.TO, byte_size, flavor='raw') E } ../rpython/conftest.py:103: MallocMismatch ----------------------------- Captured stderr call ----------------------------- Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7e900>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142edebb8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7f290>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142edebf0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c58590>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142edec28> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e695e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142edec60> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e693c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142ef0c28> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c58b40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142ef0c60> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c59300>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142ef0c98> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5a720>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142ef0cd0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e683a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142ef0d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e68020>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f023d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7ebf0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f02410> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7f650>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f02448> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c370b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f02480> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e68b00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f024b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e694c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f024f0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c58890>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f10288> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69780>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f102c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e68640>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f102f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e698e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f10330> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002031e00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f10368> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e39360>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f11980> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d340>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f28250> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c47830>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f28288> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x6000020316b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f28ec8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002033390>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f29718> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d1a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f29750> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d360>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f29830> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d4e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f788a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d560>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f78988> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d0e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f9ee58> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d620>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f9ef38> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d840>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f9ef70> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4c0e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142f9efa8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4c970>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142fb2aa0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4dfd0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142fb2ad8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e14760>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142fb2b10> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e146e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142fb2b48> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c596a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142fb2b80> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c59fd0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000142fb2bb8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c59cc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b72d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15040>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b72d40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15540>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b72d78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7b880>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b72db0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c67750>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b72de8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5c1a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b84528> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e14e00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b84560> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e153c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b84598> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5ef70>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b845d0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5f5c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b84608> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c58d10>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b84640> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2da00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b85e50> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x6000020326a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b85e88> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e25ac0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b85f30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6ca80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b93018> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c73f30>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000138b939b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002032a90>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143002058> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002031410>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430031d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d240>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143003210> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d640>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143012218> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6c980>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143012250> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e393e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143012330> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e394c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143012368> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e692c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430136a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69980>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430136e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e697c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430137c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69720>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143026918> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e699a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430269f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69640>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143026a30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e698a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014304a1a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e68d80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014304a1e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2d180>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014306ade8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002006b20>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014306ae20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2db00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014306aec8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15180>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a460988> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5b6c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4609c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002006df0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a461440> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002006dc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a461d70> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12360>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a461da8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12340>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a461e88> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11620>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a496c28> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12080>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a496d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11c80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a496d40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11f60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a497de0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11e20>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a497e18> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d660>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a497ef8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d800>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a497f30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d880>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4a5360> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d140>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4a5398> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d940>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4a5478> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2cba0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4b45d0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2dba0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4b46b0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d900>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4b46e8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c42920>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4b4720> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c43840>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4b4758> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11fe0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4b5e18> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e152a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2827c8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c46ba0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a282800> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15400>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a282838> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d7e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a283be8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d3c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a283c20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c44540>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a283c58> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c451b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a283c90> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c44a70>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2d91a0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d6c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2d91d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d7c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2d9210> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c65d30>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2d9248> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c16f60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2d9280> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5a100>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2d92b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6cee0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2eecd0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6cec0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2eed08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c449e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2eed40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c458a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2eed78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c47a30>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2eedb0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6da40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a2eede8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6c6c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430b0d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d440>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430b0de8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dae0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430b0e20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d6e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bc020> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d9c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bc058> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2da40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bc138> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2daa0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bd1d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2d8a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bd2b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e121c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bd2f0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4d900>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bd328> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4e0c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430bd360> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e698c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430cc870> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6cf40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430cd088> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c77ff0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430cd0c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e68aa0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001430cdd38> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11f80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431266b0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e119c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143127050> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4a0d0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143127088> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4aca0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431270c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7e2c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431270f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11ee0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143127130> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e123a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143127168> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4e900>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431271a0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4cad0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b06cd0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4e7c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b06d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11920>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b06d40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e123e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b06d78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7d130>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b06db0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7e870>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b06de8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c7ec50>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b18918> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e114e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b18950> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11500>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b18988> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c727a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b189c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4c750>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b189f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4ce40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b26218> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e120e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b26250> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11460>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b26288> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4acd0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b262c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c383e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b262f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c39e50>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b26330> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e25a80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b27f68> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e22100>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b27fa0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c214f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b38020> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e23680>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b38058> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e23c20>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b38090> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12140>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b380c8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11e60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b44d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c20560>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b44d40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11680>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b44d78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201afa0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b44db0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12260>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a330138> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12540>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a330170> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4b150>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3301a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b2d0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3314b0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b8d0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a331520> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15280>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a331558> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e151a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a364678> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15560>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3646b0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d6a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a364790> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d920>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3774e8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d260>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3775c8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d720>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a393a98> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4b9f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a393ad0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c71b10>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a393b08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c423a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a393b40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d8e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a393b78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d580>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014313b2f0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5a630>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014313b328> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5b320>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014313b360> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c43200>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014313b398> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d5a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014313b3d0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d820>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014313b408> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5c240>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014314d210> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5c9e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014314d248> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5e030>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014314d280> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6db00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014314d2b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d3a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431606e8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5a6a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143160720> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6c800>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143160758> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d780>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143160790> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dc60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431607c8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x6000020317d0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143160800> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6cde0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431763d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6db60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143176410> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5ffd0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143176448> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x6000020332a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431776e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002026160>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143177750> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dda0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000143177788> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2d3a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431aa790> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e235c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431aa7c8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e699c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431aa8a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e68820>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431abc20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69aa0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431abd00> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69bc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431abd38> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c505e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431abd70> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c50000>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001431abda8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c512a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b55638> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e691e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b55670> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69200>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b556a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c58330>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b556e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c597b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b55718> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c595f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b65328> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69940>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b65360> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69960>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b65398> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c713d0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b653d0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c67e00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b65408> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c50020>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b65440> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69740>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b74fe0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e25dc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b75018> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c3a890>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b75050> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c3b000>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b75088> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c482f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b750c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2dca0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b869f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11f40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b86a30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e14fe0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b86ad8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e153a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b86b10> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c44dd0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b86b48> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002006f40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b98218> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12460>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113b98d08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e124a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3e2918> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e392e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3e29f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e39740>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3e2a30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69b20>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3e3f68> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e697e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a3e3fa0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69ca0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4080c8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69080>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a409600> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69c00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4096e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69d00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a409718> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69ba0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a410950> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69d40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a410988> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69c40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a410a68> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69a80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a411a60> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69d80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a411b40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69a60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a411b78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69e40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a411c20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e690e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a422f00> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c52080>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a422f38> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69de0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a422f70> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69920>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a423da8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69dc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a423de0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69900>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113bf2d78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69d60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113bf2db0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69520>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113bf2e90> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69820>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113bf2ec8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69b60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c08250> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e69ee0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c08288> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c500f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c082c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c50a70>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c082f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c52370>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c08330> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e694a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c09b08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e696e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c09b40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c53660>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c09b78> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c53d00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c09bb0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4c260>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c09be8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15440>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c09c20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e149e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c17788> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4f750>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c177c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c48a00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c177f8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c34230>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c17830> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15840>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c4ba28> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15580>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c4ba60> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c66030>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c4ba98> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e156a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c4bad0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15740>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c4bb08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15760>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a4d99f0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b0c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a51da28> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15780>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a51dad0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15360>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a51db08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4ed70>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a51db40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b3f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a535558> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b3c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a535e50> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e14d00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a535e88> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15620>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a535f68> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15240>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a57afe0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15820>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58e800> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2db80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58e838> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2dc00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58f670> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11520>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58f6a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c46190>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58f6e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c47360>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58f718> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c77fc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58f750> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e125a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a58f788> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e124c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a59d248> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c52500>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a59d280> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c52ee0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a59d2b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c45470>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a59d2f0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12200>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a59d328> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12680>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a59d360> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5a060>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5af168> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c5beb0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5af1a0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c475c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5af1d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11d40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5af210> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e126c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5af248> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c52f40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5af280> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c50280>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a47ab80> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c526b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a47abb8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12100>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a47abf0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b1b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a47ac28> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12240>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a47acd0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12020>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a488250> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c47b40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a488288> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201b510>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a488db0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x60000201bab0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a488e20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15200>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a488e58> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e154c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4c6020> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15660>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4c6058> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15a80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4c6138> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15700>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4c71a0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15960>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4c7280> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15ae0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4c72b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15120>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4d2480> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15a00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4d24b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15b40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4d2598> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15800>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4e5ef8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15a20>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4f4020> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15aa0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000014a4f4058> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e14740>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5c7c20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002006cd0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5c7c58> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e157e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5c7d00> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2dae0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5c7d38> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4cbe0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5d5050> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002006f10>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5d5a98> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x6000020074b0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5d5b08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12060>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a5d5b40> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12660>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a60ccd0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12400>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a60cd08> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e128c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a60cde8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12a00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a60ce20> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e11d80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a60def8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12800>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a60df30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12a40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a620058> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12480>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a621558> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e12860>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a621638> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2dcc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a621670> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2cda0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a62ab48> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e2dd20>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a62ab80> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e158c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a62ac60> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x6000020258f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a62ac98> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e159e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a638170> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15be0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6381a8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c57a50>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6381e0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002025800>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6394b0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002025830>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a639d70> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dee0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a639da8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d960>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a639e88> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dbe0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a639ec0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d740>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6751d8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dc80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a675210> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dd60>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6752f0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6d8a0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6869c0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dd00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a686aa0> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6de40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a686ad8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dbc0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a687e18> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6de00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a687e50> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dea0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a687f30> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6cf80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a697520> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e6dde0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a697600> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c22f80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6a5280> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e397c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x000000012a6a52b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15b00>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c50138> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15900>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c50170> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e154e0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c51018> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15e80>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c51050> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15a40>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c7a138> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15ba0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c7a218> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c539f0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c9e480> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002c4b6c0>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c9e4b8> ignored Exception KeyError: KeyError(<C object Array of Char {'nolength': True} at 0x600002e15220>,) in method __del__ of <pypy.module.array.interp_array.W_ArrayTypei object at 0x0000000113c9e4f0> ignored ================ 62 passed, 2 skipped, 1 error in 66.70 seconds ================ ++ 03:54:46 starting module/cpyext/test/test_arraymodule.py [80 started in total] __ module/bz2/test [78 done in total, somefailed=False] _______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 53 items module/bz2/test/apptest_bz2_compdecomp.py .s... module/bz2/test/test_bz2_compdecomp.py ..s............. module/bz2/test/test_bz2_file.py ............................ module/bz2/test/test_interpbz2.py ... module/bz2/test/test_large.py s ==================== 50 passed, 3 skipped in 50.81 seconds ===================== ++ 03:55:14 starting module/cpyext/test/test_async_iter.py [81 started in total] __ module/cpyext/test/test_api.py [79 done in total, somefailed=False] ________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items module/cpyext/test/test_api.py .... ========================== 4 passed in 33.15 seconds =========================== ++ 03:55:27 starting module/cpyext/test/test_boolobject.py [82 started in total] __ module/cpyext/test/test_async_iter.py [80 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_async_iter.py sss ========================== 3 skipped in 28.57 seconds ========================== ++ 03:55:52 starting module/cpyext/test/test_borrow.py [83 started in total] __ module/cpyext/test/test_arraymodule.py [81 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 18 items module/cpyext/test/test_arraymodule.py ..........x....... ==================== 17 passed, 1 xfailed in 79.92 seconds ===================== ++ 03:56:21 starting module/cpyext/test/test_buffer.py [84 started in total] __ module/cpyext/test/test_boolobject.py [82 done in total, somefailed=True] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items module/cpyext/test/test_boolobject.py ..F. =================================== FAILURES =================================== _________________________ AppTestBoolMacros.test_toint _________________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x000000014a12c980>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_toint'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000014821a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001492074a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_toint'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001492074a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_toint'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013a160d68> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013a153b20> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013a153b20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013a160cf0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013a153ae0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000013a153ae0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_toint'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_toint'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_toint'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_toint'>, space = StdObjSpace target = <function test_toint at 0x000000014a12c9f8> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000148bd7c20>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000148bd7c20>,) w_func = <Function test_toint> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000148bd7c20> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_toint> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000148bd7c20>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_toint> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000148bd7c20>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_toint, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 name = 'test_toint', qualname = 'test_toint' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 pycode = <code object test_toint, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001493089c0> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01|\x01\xa0\x01d\x03\xa1\x01d\x04k\x02s\x10J\x00\x82\x01|\x01\xa0\x01d\x05\xa1\x01d\x06k\x02s\x19J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001493089c0> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01|\x01\xa0\x01d\x03\xa1\x01d\x04k\x02s\x10J\x00\x82\x01|\x01\xa0\x01d\x05\xa1\x01d\x06k\x02s\x19J\x00\x82\x01d\x00S\x00' next_instr = 12L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x00000001493089c0> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 oparg = 2, ignored = (12L,), n_args = 2, w_self = None, n = 2 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 dropvalues = 4, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_toint, f...-arm64/build/pypy/module/cpyext/test/test_boolobject.py:23]", line 1> at line 2 dropvalues = 4, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....nt");\n return NULL;\n }\n '))])]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000139bc2250> func = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....nt");\n return NULL;\n }\n '))])]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000139bc2250> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....nt");\n return NULL;\n }\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000139bc2250> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000139bc2250> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....nt");\n return NULL;\n }\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_W_Root_text_W_Root_text_bool object at 0x0000000139bc2368> space = StdObjSpace scope_w = [W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... int");\n ...eturn NULL;\n }\n '))]), W_UnicodeObject(''), None, W_UnicodeObject(''), W_BoolObject(False)] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), scope_w[1], space.text_w(scope_w[2]), scope_w[3], space.text_w(scope_w[4]), space.is_true(scope_w[5])) <2701-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, modname = 'foo' w_functions = W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... int");\n return NULL;\n }\n '))]) prologue = '', w_include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False @unwrap_spec(modname='text', prologue='text', more_init='text', PY_SSIZE_T_CLEAN=bool) def import_extension(space, modname, w_functions, prologue="", w_include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): functions = space.unwrap(w_functions) include_dirs = _unwrap_include_dirs(space, w_include_dirs) # If there's already a module under this name (file-based or a # previous inline extension), save it in _module_keepalive before # it's displaced. This prevents its raw allocations (method-name # strings, type dicts, etc.) from being freed during a later # test's leakfinder tracking window. self._file_module_cache.pop(modname, None) w_modules = space.sys.get('modules') try: w_old = space.getitem(w_modules, space.newtext(modname)) self._module_keepalive.append(w_old) except OperationError: pass w_result = self.sys_info.import_extension( modname, functions, prologue, include_dirs, more_init, > PY_SSIZE_T_CLEAN) module/cpyext/test/test_cpyext.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000149dfcfa8> modname = 'foo' functions = [(u'to_int', u'METH_O', u'\n if (args->ob_type->tp_as_number && args->ob_type->tp_as_number->nb_int) {\...ng(PyExc_TypeError,"cannot convert bool to int");\n return NULL;\n }\n ')] prologue = '', include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False def import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): body = prologue + make_methods(functions, modname) init = """PyObject *mod = PyModule_Create(&moduledef); """ if more_init: init += """#define INITERROR return NULL """ init += more_init init += "\nreturn mod;" return self.import_module( name=modname, init=init, body=body, include_dirs=include_dirs, > PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) tool/cpyext/extbuild.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000149dfcfa8> name = 'foo' init = 'PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;' body = u'\n static PyObject* foo_to_int(PyObject *self, PyObject *args)\n {\n \n if (args...LL, /* m_doc */\n -1, /* m_size */\n methods, /* m_methods */\n };\n ' filename = None, include_dirs = None, PY_SSIZE_T_CLEAN = False, use_imp = False def import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): """ init specifies the overall template of the module. if init is None, the module source will be loaded from a file in this test directory, give a name given by the filename parameter. if filename is None, the module name will be used to construct the filename. """ if body or init: if init is None: init = "return PyModule_Create(&moduledef);" if init is not None: code = make_source(name, init, body, PY_SSIZE_T_CLEAN) kwds = dict(source_strings=[code]) else: assert not PY_SSIZE_T_CLEAN if filename is None: filename = name filename = HERE / (filename + ".c") kwds = dict(source_files=[filename]) mod = self.compile_extension_module( > name, include_dirs=include_dirs, **kwds) tool/cpyext/extbuild.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000149dfcfa8> name = 'foo', include_dirs = [] source_files = [local('/tmp/buildbot-arm64/usession-py3.11-2763/foo-1/source_0.c')] source_strings = [u'\n \n #include <Python.h>\n\n \n static PyObject* foo_to_int(PyObject *self, PyObject *args)\n ...\n PyInit_foo(void) {\n PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;\n }\n '] def compile_extension_module(self, name, include_dirs=None, source_files=None, source_strings=None): """ Build an extension module and return the filename of the resulting native code file. name is the name of the module, possibly including dots if it is a module inside a package. """ include_dirs = include_dirs or [] modname = name.split('.')[-1] dirname = self.get_builddir(name=modname) if source_strings: assert not source_files files = convert_sources_to_files(source_strings, dirname) source_files = files soname = c_compile(source_files, outputfilename=str(dirname / modname), compile_extra=self.compile_extra, link_extra=self.link_extra, include_dirs=self.include_extra + include_dirs, > libraries=self.extra_libs) tool/cpyext/extbuild.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2763/foo-1/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2763/foo-1/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2763'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def c_compile(cfilenames, outputfilename, compile_extra=None, link_extra=None, include_dirs=None, libraries=None, library_dirs=None): compile_extra = compile_extra or [] link_extra = link_extra or [] include_dirs = include_dirs or [] libraries = libraries or [] library_dirs = library_dirs or [] if sys.platform == 'win32': link_extra = link_extra + ['/DEBUG'] # generate .pdb file if sys.platform == 'darwin': # support Fink & Darwinports for s in ('/sw/', '/opt/local/'): if (s + 'include' not in include_dirs and os.path.exists(s + 'include')): include_dirs.append(s + 'include') if s + 'lib' not in library_dirs and os.path.exists(s + 'lib'): library_dirs.append(s + 'lib') outputfilename = py.path.local(outputfilename).new(ext=so_ext) saved_environ = os.environ.copy() try: _build( cfilenames, outputfilename, compile_extra, link_extra, > include_dirs, libraries, library_dirs) tool/cpyext/extbuild.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2763/foo-1/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2763/foo-1/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2763'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def _build(cfilenames, outputfilename, compile_extra, link_extra, include_dirs, libraries, library_dirs): try: # monkeypatch distutils for some versions of msvc compiler import setuptools except ImportError: # XXX if this fails and is required, # we must call pypy -mensurepip after translation pass from distutils.ccompiler import new_compiler from distutils import sysconfig # XXX for Darwin running old versions of CPython 2.7.x sysconfig.get_config_vars() compiler = new_compiler(force=1) sysconfig.customize_compiler(compiler) # XXX objects = [] for cfile in cfilenames: cfile = py.path.local(cfile) old = cfile.dirpath().chdir() try: res = compiler.compile([cfile.basename], > include_dirs=include_dirs, extra_preargs=compile_extra) tool/cpyext/extbuild.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000015b20eca0> sources = ['source_0.c'], output_dir = None, macros = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2763'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] debug = 0, extra_preargs = [], extra_postargs = [], depends = None def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x000000015b20eca0> obj = 'source_0.o', src = 'source_0.c', ext = '.c' cc_args = ['-I/tmp/buildbot-arm64/usession-py3.11-2763', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp.../build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c', '-c'] extra_postargs = [] pp_opts = ['-I/tmp/buildbot-arm64/usession-py3.11-2763', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp...-arm64/build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/cpyext/test/test_boolobject.py::AppTestBoolMacros::()::test_toint ===================== 1 failed, 3 passed in 46.57 seconds ====================== ++ 03:56:26 starting module/cpyext/test/test_bytearrayobject.py [85 started in total] __ module/cpyext/test/test_borrow.py [83 done in total, somefailed=False] _____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_borrow.py ... ========================== 3 passed in 46.21 seconds =========================== ++ 03:56:50 starting module/cpyext/test/test_bytesobject.py [86 started in total] __ module/cpyext/test/test_buffer.py [84 done in total, somefailed=False] _____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items module/cpyext/test/test_buffer.py ..... ========================== 5 passed in 56.88 seconds =========================== ++ 03:57:26 starting module/cpyext/test/test_capsule.py [87 started in total] __ module/cpyext/test/test_bytearrayobject.py [85 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/cpyext/test/test_bytearrayobject.py ...... ========================== 6 passed in 51.75 seconds =========================== ++ 03:57:32 starting module/cpyext/test/test_cell.py [88 started in total] __ module/cpyext/test/test_bytesobject.py [86 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items module/cpyext/test/test_bytesobject.py .................... ========================== 20 passed in 72.82 seconds ========================== ++ 03:58:18 starting module/cpyext/test/test_classobject.py [89 started in total] __ module/cpyext/test/test_cell.py [87 done in total, somefailed=False] _______ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_cell.py . ========================== 1 passed in 44.69 seconds =========================== ++ 03:58:30 starting module/cpyext/test/test_codecs.py [90 started in total] __ module/cpyext/test/test_capsule.py [88 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_capsule.py ... ========================== 3 passed in 55.35 seconds =========================== ++ 03:58:32 starting module/cpyext/test/test_complexobject.py [91 started in total] __ module/cpyext/test/test_classobject.py [89 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/cpyext/test/test_classobject.py .. ========================== 2 passed in 44.28 seconds =========================== ++ 03:59:16 starting module/cpyext/test/test_contextvars.py [92 started in total] __ module/cpyext/test/test_codecs.py [90 done in total, somefailed=False] _____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_codecs.py ... ========================== 3 passed in 45.46 seconds =========================== ++ 03:59:29 starting module/cpyext/test/test_cpyext.py [93 started in total] __ module/cpyext/test/test_complexobject.py [91 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/cpyext/test/test_complexobject.py ...... ========================== 6 passed in 51.18 seconds =========================== ++ 03:59:38 starting module/cpyext/test/test_datetime.py [94 started in total] __ module/cpyext/test/test_contextvars.py [92 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_contextvars.py . ========================== 1 passed in 46.43 seconds =========================== ++ 04:00:15 starting module/cpyext/test/test_dictobject.py [95 started in total] __ module/cpyext/test/test_datetime.py [93 done in total, somefailed=False] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items module/cpyext/test/test_datetime.py ................ ========================== 16 passed in 77.73 seconds ========================== ++ 04:01:05 starting module/cpyext/test/test_eval.py [96 started in total] __ module/cpyext/test/test_cpyext.py [94 done in total, somefailed=False] _____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items module/cpyext/test/test_cpyext.py ..s........s.............. ==================== 24 passed, 2 skipped in 104.85 seconds ==================== ++ 04:01:25 starting module/cpyext/test/test_exception.py [97 started in total] __ module/cpyext/test/test_dictobject.py [95 done in total, somefailed=True] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items module/cpyext/test/test_dictobject.py ...............F..F =================================== FAILURES =================================== _______________________ AppTestDictObject.test_advanced ________________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x00000001421271f0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_advanced'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000013006a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x000000012225f9a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_advanced'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x000000012225f9a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_advanced'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000014216c368> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000123bd7560> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000123bd7560> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000014216c318> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000123bd7520> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000123bd7520> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_advanced'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_advanced'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_advanced'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_advanced'>, space = StdObjSpace target = <function test_advanced at 0x000000014010acc8> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>,) w_func = <Function test_advanced> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_advanced> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_advanced> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_advanced, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 name = 'test_advanced', qualname = 'test_advanced' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 pycode = <code object test_advanced, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000141a57b40> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02d\x03d\x04d\x05d\x06g\x05\xa1\x02}\x01d\x07d\x08d\t\x9c\x02}\x02|\x01\xa0\x01|\x02\xa1\x01d\x0...x02\xa1\x01}\x03|\x03d\x08k\x02sDJ\x00\x82\x01|\x01\xa0\x05d\x07d\r\x9c\x01\xa1\x01d\x07k\x02sOJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000141a57b40> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02d\x03d\x04d\x05d\x06g\x05\xa1\x02}\x01d\x07d\x08d\t\x9c\x02}\x02|\x01\xa0\x01|\x02\xa1\x01d\x0...x02\xa1\x01}\x03|\x03d\x08k\x02sDJ\x00\x82\x01|\x01\xa0\x05d\x07d\r\x9c\x01\xa1\x01d\x07k\x02sOJ\x00\x82\x01d\x00S\x00' next_instr = 20L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000141a57b40> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 oparg = 2, ignored = (20L,), n_args = 2, w_self = None, n = 2 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 dropvalues = 4, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_advanced...arm64/build/pypy/module/cpyext/test/test_dictobject.py:315]", line 1> at line 2 dropvalues = 4, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... }\n return PyLong_FromLong(pos);\n '))])]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000159c00f70> func = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... }\n return PyLong_FromLong(pos);\n '))])]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000159c00f70> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... }\n return PyLong_FromLong(pos);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000159c00f70> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000159c00f70> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... }\n return PyLong_FromLong(pos);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_W_Root_text_W_Root_text_bool object at 0x0000000159c01088> space = StdObjSpace scope_w = [W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... ... return PyLong_FromLong(pos);\n '))]), W_UnicodeObject(''), None, W_UnicodeObject(''), W_BoolObject(False)] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), scope_w[1], space.text_w(scope_w[2]), scope_w[3], space.text_w(scope_w[4]), space.is_true(scope_w[5])) <2824-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, modname = 'foo' w_functions = W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... }\n return PyLong_FromLong(pos);\n '))]) prologue = '', w_include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False @unwrap_spec(modname='text', prologue='text', more_init='text', PY_SSIZE_T_CLEAN=bool) def import_extension(space, modname, w_functions, prologue="", w_include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): functions = space.unwrap(w_functions) include_dirs = _unwrap_include_dirs(space, w_include_dirs) # If there's already a module under this name (file-based or a # previous inline extension), save it in _module_keepalive before # it's displaced. This prevents its raw allocations (method-name # strings, type dicts, etc.) from being freed during a later # test's leakfinder tracking window. self._file_module_cache.pop(modname, None) w_modules = space.sys.get('modules') try: w_old = space.getitem(w_modules, space.newtext(modname)) self._module_keepalive.append(w_old) except OperationError: pass w_result = self.sys_info.import_extension( modname, functions, prologue, include_dirs, more_init, > PY_SSIZE_T_CLEAN) module/cpyext/test/test_cpyext.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x00000001326a8e90> modname = 'foo' functions = [(u'dict_len', u'METH_O', u'\n int ret = args->ob_type->tp_as_mapping->mp_length(args);\n ...Dict_Next(args, &pos, &key, &val)) {\n }\n return PyLong_FromLong(pos);\n ')] prologue = '', include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False def import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): body = prologue + make_methods(functions, modname) init = """PyObject *mod = PyModule_Create(&moduledef); """ if more_init: init += """#define INITERROR return NULL """ init += more_init init += "\nreturn mod;" return self.import_module( name=modname, init=init, body=body, include_dirs=include_dirs, > PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) tool/cpyext/extbuild.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x00000001326a8e90> name = 'foo' init = 'PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;' body = u'\n static PyObject* foo_dict_len(PyObject *self, PyObject *args)\n {\n \n int re...LL, /* m_doc */\n -1, /* m_size */\n methods, /* m_methods */\n };\n ' filename = None, include_dirs = None, PY_SSIZE_T_CLEAN = False, use_imp = False def import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): """ init specifies the overall template of the module. if init is None, the module source will be loaded from a file in this test directory, give a name given by the filename parameter. if filename is None, the module name will be used to construct the filename. """ if body or init: if init is None: init = "return PyModule_Create(&moduledef);" if init is not None: code = make_source(name, init, body, PY_SSIZE_T_CLEAN) kwds = dict(source_strings=[code]) else: assert not PY_SSIZE_T_CLEAN if filename is None: filename = name filename = HERE / (filename + ".c") kwds = dict(source_files=[filename]) mod = self.compile_extension_module( > name, include_dirs=include_dirs, **kwds) tool/cpyext/extbuild.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x00000001326a8e90> name = 'foo', include_dirs = [] source_files = [local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-7/source_0.c')] source_strings = [u'\n \n #include <Python.h>\n\n \n static PyObject* foo_dict_len(PyObject *self, PyObject *args)\n ...\n PyInit_foo(void) {\n PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;\n }\n '] def compile_extension_module(self, name, include_dirs=None, source_files=None, source_strings=None): """ Build an extension module and return the filename of the resulting native code file. name is the name of the module, possibly including dots if it is a module inside a package. """ include_dirs = include_dirs or [] modname = name.split('.')[-1] dirname = self.get_builddir(name=modname) if source_strings: assert not source_files files = convert_sources_to_files(source_strings, dirname) source_files = files soname = c_compile(source_files, outputfilename=str(dirname / modname), compile_extra=self.compile_extra, link_extra=self.link_extra, include_dirs=self.include_extra + include_dirs, > libraries=self.extra_libs) tool/cpyext/extbuild.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-7/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-7/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2776'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def c_compile(cfilenames, outputfilename, compile_extra=None, link_extra=None, include_dirs=None, libraries=None, library_dirs=None): compile_extra = compile_extra or [] link_extra = link_extra or [] include_dirs = include_dirs or [] libraries = libraries or [] library_dirs = library_dirs or [] if sys.platform == 'win32': link_extra = link_extra + ['/DEBUG'] # generate .pdb file if sys.platform == 'darwin': # support Fink & Darwinports for s in ('/sw/', '/opt/local/'): if (s + 'include' not in include_dirs and os.path.exists(s + 'include')): include_dirs.append(s + 'include') if s + 'lib' not in library_dirs and os.path.exists(s + 'lib'): library_dirs.append(s + 'lib') outputfilename = py.path.local(outputfilename).new(ext=so_ext) saved_environ = os.environ.copy() try: _build( cfilenames, outputfilename, compile_extra, link_extra, > include_dirs, libraries, library_dirs) tool/cpyext/extbuild.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-7/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-7/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2776'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def _build(cfilenames, outputfilename, compile_extra, link_extra, include_dirs, libraries, library_dirs): try: # monkeypatch distutils for some versions of msvc compiler import setuptools except ImportError: # XXX if this fails and is required, # we must call pypy -mensurepip after translation pass from distutils.ccompiler import new_compiler from distutils import sysconfig # XXX for Darwin running old versions of CPython 2.7.x sysconfig.get_config_vars() compiler = new_compiler(force=1) sysconfig.customize_compiler(compiler) # XXX objects = [] for cfile in cfilenames: cfile = py.path.local(cfile) old = cfile.dirpath().chdir() try: res = compiler.compile([cfile.basename], > include_dirs=include_dirs, extra_preargs=compile_extra) tool/cpyext/extbuild.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000123b81e20> sources = ['source_0.c'], output_dir = None, macros = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2776'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] debug = 0, extra_preargs = [], extra_postargs = [], depends = None def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000123b81e20> obj = 'source_0.o', src = 'source_0.c', ext = '.c' cc_args = ['-I/tmp/buildbot-arm64/usession-py3.11-2776', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp.../build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c', '-c'] extra_postargs = [] pp_opts = ['-I/tmp/buildbot-arm64/usession-py3.11-2776', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp...-arm64/build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError _______________________ AppTestDictObject.test_contains ________________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x0000000133219e20>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_contains'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000013006a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x000000012225f9a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_contains'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x000000012225f9a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_contains'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001221a2890> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012315e720> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012315e720> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001221a22f0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012315e660> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000012315e660> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...t_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_contains'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_contains'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_contains'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_contains'>, space = StdObjSpace target = <function test_contains at 0x00000001212f4f20> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>,) w_func = <Function test_contains> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_contains> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_contains> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000142b3f328>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_contains, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 name = 'test_contains', qualname = 'test_contains' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 pycode = <code object test_contains, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000141a57b40> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01G\x00d\x03\x84\x00d\x04\x83\x02}\x02t\x01t\x02|\x01j\x03i\x00|\x02\x83\x00\x...k\x02s*J\x00\x82\x01d\x00S\x00\x03|\x01\xa0\x03|\x03\x83\x00d\x07\xa1\x02}\x04|\x04d\x08k\x02s*J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000141a57b40> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01G\x00d\x03\x84\x00d\x04\x83\x02}\x02t\x01t\x02|\x01j\x03i\x00|\x02\x83\x00\x...k\x02s*J\x00\x82\x01d\x00S\x00\x03|\x01\xa0\x03|\x03\x83\x00d\x07\xa1\x02}\x04|\x04d\x08k\x02s*J\x00\x82\x01d\x00S\x00' next_instr = 12L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000141a57b40> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 oparg = 2, ignored = (12L,), n_args = 2, w_self = None, n = 2 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 dropvalues = 4, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_contains...arm64/build/pypy/module/cpyext/test/test_dictobject.py:463]", line 1> at line 2 dropvalues = 4, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....) return NULL;\n return PyLong_FromLong(ret);\n '))])]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x00000001330c52f0> func = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....) return NULL;\n return PyLong_FromLong(ret);\n '))])]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x00000001330c52f0> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....) return NULL;\n return PyLong_FromLong(ret);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x00000001330c52f0> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x00000001330c52f0> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....) return NULL;\n return PyLong_FromLong(ret);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_W_Root_text_W_Root_text_bool object at 0x00000001330c5408> space = StdObjSpace scope_w = [W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... 0) return N... return PyLong_FromLong(ret);\n '))]), W_UnicodeObject(''), None, W_UnicodeObject(''), W_BoolObject(False)] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), scope_w[1], space.text_w(scope_w[2]), scope_w[3], space.text_w(scope_w[4]), space.is_true(scope_w[5])) <2824-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, modname = 'foo' w_functions = W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... 0) return NULL;\n return PyLong_FromLong(ret);\n '))]) prologue = '', w_include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False @unwrap_spec(modname='text', prologue='text', more_init='text', PY_SSIZE_T_CLEAN=bool) def import_extension(space, modname, w_functions, prologue="", w_include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): functions = space.unwrap(w_functions) include_dirs = _unwrap_include_dirs(space, w_include_dirs) # If there's already a module under this name (file-based or a # previous inline extension), save it in _module_keepalive before # it's displaced. This prevents its raw allocations (method-name # strings, type dicts, etc.) from being freed during a later # test's leakfinder tracking window. self._file_module_cache.pop(modname, None) w_modules = space.sys.get('modules') try: w_old = space.getitem(w_modules, space.newtext(modname)) self._module_keepalive.append(w_old) except OperationError: pass w_result = self.sys_info.import_extension( modname, functions, prologue, include_dirs, more_init, > PY_SSIZE_T_CLEAN) module/cpyext/test/test_cpyext.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x00000001326a8e90> modname = 'foo' functions = [(u'contains', u'METH_VARARGS', u'\n PyObject *d, *key;\n if (!PyArg_ParseTuple(args, "OO", &d..._Contains(d, key);\n if (ret < 0) return NULL;\n return PyLong_FromLong(ret);\n ')] prologue = '', include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False def import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): body = prologue + make_methods(functions, modname) init = """PyObject *mod = PyModule_Create(&moduledef); """ if more_init: init += """#define INITERROR return NULL """ init += more_init init += "\nreturn mod;" return self.import_module( name=modname, init=init, body=body, include_dirs=include_dirs, > PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) tool/cpyext/extbuild.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x00000001326a8e90> name = 'foo' init = 'PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;' body = u'\n static PyObject* foo_contains(PyObject *self, PyObject *args)\n {\n \n PyObject ...LL, /* m_doc */\n -1, /* m_size */\n methods, /* m_methods */\n };\n ' filename = None, include_dirs = None, PY_SSIZE_T_CLEAN = False, use_imp = False def import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): """ init specifies the overall template of the module. if init is None, the module source will be loaded from a file in this test directory, give a name given by the filename parameter. if filename is None, the module name will be used to construct the filename. """ if body or init: if init is None: init = "return PyModule_Create(&moduledef);" if init is not None: code = make_source(name, init, body, PY_SSIZE_T_CLEAN) kwds = dict(source_strings=[code]) else: assert not PY_SSIZE_T_CLEAN if filename is None: filename = name filename = HERE / (filename + ".c") kwds = dict(source_files=[filename]) mod = self.compile_extension_module( > name, include_dirs=include_dirs, **kwds) tool/cpyext/extbuild.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x00000001326a8e90> name = 'foo', include_dirs = [] source_files = [local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-10/source_0.c')] source_strings = [u'\n \n #include <Python.h>\n\n \n static PyObject* foo_contains(PyObject *self, PyObject *args)\n ...\n PyInit_foo(void) {\n PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;\n }\n '] def compile_extension_module(self, name, include_dirs=None, source_files=None, source_strings=None): """ Build an extension module and return the filename of the resulting native code file. name is the name of the module, possibly including dots if it is a module inside a package. """ include_dirs = include_dirs or [] modname = name.split('.')[-1] dirname = self.get_builddir(name=modname) if source_strings: assert not source_files files = convert_sources_to_files(source_strings, dirname) source_files = files soname = c_compile(source_files, outputfilename=str(dirname / modname), compile_extra=self.compile_extra, link_extra=self.link_extra, include_dirs=self.include_extra + include_dirs, > libraries=self.extra_libs) tool/cpyext/extbuild.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-10/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-10/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2776'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def c_compile(cfilenames, outputfilename, compile_extra=None, link_extra=None, include_dirs=None, libraries=None, library_dirs=None): compile_extra = compile_extra or [] link_extra = link_extra or [] include_dirs = include_dirs or [] libraries = libraries or [] library_dirs = library_dirs or [] if sys.platform == 'win32': link_extra = link_extra + ['/DEBUG'] # generate .pdb file if sys.platform == 'darwin': # support Fink & Darwinports for s in ('/sw/', '/opt/local/'): if (s + 'include' not in include_dirs and os.path.exists(s + 'include')): include_dirs.append(s + 'include') if s + 'lib' not in library_dirs and os.path.exists(s + 'lib'): library_dirs.append(s + 'lib') outputfilename = py.path.local(outputfilename).new(ext=so_ext) saved_environ = os.environ.copy() try: _build( cfilenames, outputfilename, compile_extra, link_extra, > include_dirs, libraries, library_dirs) tool/cpyext/extbuild.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-10/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2776/foo-10/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2776'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def _build(cfilenames, outputfilename, compile_extra, link_extra, include_dirs, libraries, library_dirs): try: # monkeypatch distutils for some versions of msvc compiler import setuptools except ImportError: # XXX if this fails and is required, # we must call pypy -mensurepip after translation pass from distutils.ccompiler import new_compiler from distutils import sysconfig # XXX for Darwin running old versions of CPython 2.7.x sysconfig.get_config_vars() compiler = new_compiler(force=1) sysconfig.customize_compiler(compiler) # XXX objects = [] for cfile in cfilenames: cfile = py.path.local(cfile) old = cfile.dirpath().chdir() try: res = compiler.compile([cfile.basename], > include_dirs=include_dirs, extra_preargs=compile_extra) tool/cpyext/extbuild.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x00000001597081e0> sources = ['source_0.c'], output_dir = None, macros = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2776'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] debug = 0, extra_preargs = [], extra_postargs = [], depends = None def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x00000001597081e0> obj = 'source_0.o', src = 'source_0.c', ext = '.c' cc_args = ['-I/tmp/buildbot-arm64/usession-py3.11-2776', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp.../build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c', '-c'] extra_postargs = [] pp_opts = ['-I/tmp/buildbot-arm64/usession-py3.11-2776', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp...-arm64/build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_advanced FAIL module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_contains ===================== 2 failed, 17 passed in 77.98 seconds ===================== ++ 04:01:50 starting module/cpyext/test/test_fileobject.py [98 started in total] __ module/cpyext/test/test_exception.py [96 done in total, somefailed=False] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/cpyext/test/test_exception.py ...... ========================== 6 passed in 50.53 seconds =========================== ++ 04:02:31 starting module/cpyext/test/test_floatobject.py [99 started in total] __ module/cpyext/test/test_eval.py [97 done in total, somefailed=False] _______ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items module/cpyext/test/test_eval.py ...............x... ==================== 18 passed, 1 xfailed in 74.18 seconds ===================== ++ 04:02:33 starting module/cpyext/test/test_frameobject.py [100 started in total] __ module/cpyext/test/test_fileobject.py [98 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_fileobject.py . ========================== 1 passed in 44.68 seconds =========================== ++ 04:02:48 starting module/cpyext/test/test_funcobject.py [101 started in total] __ module/cpyext/test/test_frameobject.py [99 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items module/cpyext/test/test_frameobject.py .... ========================== 4 passed in 52.86 seconds =========================== ++ 04:03:39 starting module/cpyext/test/test_genobject.py [102 started in total] __ module/cpyext/test/test_floatobject.py [100 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items module/cpyext/test/test_floatobject.py .............. ========================== 14 passed in 70.82 seconds ========================== ++ 04:03:51 starting module/cpyext/test/test_getargs.py [103 started in total] __ module/cpyext/test/test_funcobject.py [101 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items module/cpyext/test/test_funcobject.py .............. ========================== 14 passed in 80.68 seconds ========================== ++ 04:04:23 starting module/cpyext/test/test_import.py [104 started in total] __ module/cpyext/test/test_genobject.py [102 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_genobject.py ... ========================== 3 passed in 63.37 seconds =========================== ++ 04:04:59 starting module/cpyext/test/test_iterator.py [105 started in total] __ module/cpyext/test/test_getargs.py [103 done in total, somefailed=False] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items module/cpyext/test/test_getargs.py ................ ========================== 16 passed in 73.26 seconds ========================== ++ 04:05:19 starting module/cpyext/test/test_listobject.py [106 started in total] __ module/cpyext/test/test_import.py [104 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/cpyext/test/test_import.py ........ ========================== 8 passed in 77.30 seconds =========================== ++ 04:05:50 starting module/cpyext/test/test_longobject.py [107 started in total] __ module/cpyext/test/test_iterator.py [105 done in total, somefailed=False] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/cpyext/test/test_iterator.py ...... ========================== 6 passed in 51.90 seconds =========================== ++ 04:06:05 starting module/cpyext/test/test_mapping.py [108 started in total] __ module/cpyext/test/test_listobject.py [106 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items module/cpyext/test/test_listobject.py .............. ========================== 14 passed in 64.87 seconds ========================== ++ 04:06:39 starting module/cpyext/test/test_marshal.py [109 started in total] __ module/cpyext/test/test_mapping.py [107 done in total, somefailed=False] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items module/cpyext/test/test_mapping.py ..... ========================== 5 passed in 37.19 seconds =========================== ++ 04:06:56 starting module/cpyext/test/test_memoryobject.py [110 started in total] __ module/cpyext/test/test_longobject.py [108 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items module/cpyext/test/test_longobject.py ......................... ========================== 25 passed in 82.76 seconds ========================== ++ 04:07:25 starting module/cpyext/test/test_methodobject.py [111 started in total] __ module/cpyext/test/test_marshal.py [109 done in total, somefailed=False] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items module/cpyext/test/test_marshal.py .. ========================== 2 passed in 47.22 seconds =========================== ++ 04:07:37 starting module/cpyext/test/test_misc.py [112 started in total] __ module/cpyext/test/test_memoryobject.py [110 done in total, somefailed=True] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items module/cpyext/test/test_memoryobject.py ...s..s.F.... =================================== FAILURES =================================== ______________________ AppTestPyBuffer.test_releasebuffer ______________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000015a7ed750> def test_releasebuffer(self): module = self.import_extension('foo', [ ("create_test", "METH_NOARGS", """ PyObject *obj; obj = PyObject_New(PyObject, (PyTypeObject*)type); return obj; """), ("get_cnt", "METH_NOARGS", 'return PyLong_FromLong(cnt);'), ("get_dealloc_cnt", "METH_NOARGS", 'return PyLong_FromLong(dealloc_cnt);'), ], prologue=""" static float test_data = 42.f; static int cnt=0; static int dealloc_cnt=0; static PyHeapTypeObject * type=NULL; void dealloc(PyObject *self) { dealloc_cnt++; } int getbuffer(PyObject *obj, Py_buffer *view, int flags) { cnt ++; memset(view, 0, sizeof(Py_buffer)); view->obj = obj; /* see the CPython docs for why we need this incref: https://docs.python.org/3.5/c-api/typeobj.html#c.PyBufferProcs.bf_getbuffer */ Py_INCREF(obj); view->ndim = 0; view->buf = (void *) &test_data; view->itemsize = sizeof(float); view->len = 1; view->strides = NULL; view->shape = NULL; view->format = "f"; return 0; } void releasebuffer(PyObject *obj, Py_buffer *view) { cnt --; } """, more_init=""" type = (PyHeapTypeObject *) PyType_Type.tp_alloc(&PyType_Type, 0); type->ht_type.tp_name = "Test"; type->ht_type.tp_basicsize = sizeof(PyObject); type->ht_name = PyUnicode_FromString("Test"); type->ht_type.tp_flags |= Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HEAPTYPE; type->ht_type.tp_flags &= ~Py_TPFLAGS_HAVE_GC; type->ht_type.tp_dealloc = dealloc; type->ht_type.tp_as_buffer = &type->as_buffer; type->as_buffer.bf_getbuffer = getbuffer; type->as_buffer.bf_releasebuffer = releasebuffer; if (PyType_Ready(&type->ht_type) < 0) INITERROR; """, ) import gc assert module.get_cnt() == 0 a = memoryview(module.create_test()) assert module.get_cnt() == 1 assert module.get_dealloc_cnt() == 0 del a self.debug_collect() assert module.get_cnt() == 0 > assert module.get_dealloc_cnt() == 1 E (application-level) AssertionError [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_memoryobject.py:296]:69: AssertionError ----------------------------- Captured stdout call ----------------------------- dealloc_trigger... deallocating PyObject * <C object Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type } at 0x600003c171e0> deallocating PyObject * <C object Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type } at 0x600003c28d60> deallocating PyObject * <C object Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type } at 0x600003c293e0> dealloc_trigger DONE ----------------------------- Captured stderr call ----------------------------- <function PyModule_Create2 at 0x00000001312cc110> DONE <function PyUnicode_FromString at 0x0000000131642cc8> DONE <function PyType_Ready at 0x0000000142a74ea8> DONE <function PyLong_FromLong at 0x00000001317b9010> DONE <function PyLong_FromLong at 0x00000001317b9010> DONE <function PyLong_FromLong at 0x00000001317b9010> DONE <function PyLong_FromLong at 0x00000001317b9010> DONE <function PyLong_FromLong at 0x00000001317b9010> DONE =========================== short test summary info ============================ FAIL module/cpyext/test/test_memoryobject.py::AppTestPyBuffer::()::test_releasebuffer =============== 1 failed, 10 passed, 2 skipped in 65.40 seconds ================ ++ 04:08:16 starting module/cpyext/test/test_module.py [113 started in total] __ module/cpyext/test/test_misc.py [111 done in total, somefailed=False] ______ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_misc.py . ========================== 1 passed in 45.78 seconds =========================== ++ 04:08:36 starting module/cpyext/test/test_namespaceobject.py [114 started in total] __ module/cpyext/test/test_methodobject.py [112 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items module/cpyext/test/test_methodobject.py .............. ========================== 14 passed in 77.18 seconds ========================== ++ 04:08:52 starting module/cpyext/test/test_ndarrayobject.py [115 started in total] __ module/cpyext/test/test_ndarrayobject.py [113 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.51 seconds =========================== ++ 04:09:02 starting module/cpyext/test/test_number.py [116 started in total] __ module/cpyext/test/test_namespaceobject.py [114 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_namespaceobject.py . ========================== 1 passed in 46.00 seconds =========================== ++ 04:09:34 starting module/cpyext/test/test_object.py [117 started in total] __ module/cpyext/test/test_module.py [115 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items module/cpyext/test/test_module.py ......................... ========================== 25 passed in 98.77 seconds ========================== ++ 04:10:05 starting module/cpyext/test/test_pyerrors.py [118 started in total] __ module/cpyext/test/test_number.py [116 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items module/cpyext/test/test_number.py ....... ========================== 7 passed in 56.01 seconds =========================== ++ 04:10:08 starting module/cpyext/test/test_pyfile.py [119 started in total] __ module/cpyext/test/test_pyfile.py [117 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items module/cpyext/test/test_pyfile.py ...x... ===================== 6 passed, 1 xfailed in 48.00 seconds ===================== ++ 04:11:07 starting module/cpyext/test/test_pymem.py [120 started in total] __ module/cpyext/test/test_object.py [118 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 40 items module/cpyext/test/test_object.py .......................s................ ==================== 39 passed, 1 skipped in 115.48 seconds ==================== ++ 04:11:45 starting module/cpyext/test/test_pysignals.py [121 started in total] __ module/cpyext/test/test_pymem.py [119 done in total, somefailed=False] _____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_pymem.py . ========================== 1 passed in 45.21 seconds =========================== ++ 04:12:05 starting module/cpyext/test/test_pystate.py [122 started in total] __ module/cpyext/test/test_pyerrors.py [120 done in total, somefailed=True] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 33 items module/cpyext/test/test_pyerrors.py ........s.....sF.......s...s..... =================================== FAILURES =================================== _______________ AppTestFetch.test_SetFromErrnoWithFilename_basic _______________ self = <CallInfo when='call' exception: 'ascii' codec can't encode character u'\u0308' in position 107: ordinal not in range(128)> func = <function <lambda> at 0x0000000121d054c0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'...all__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001308fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000152469060>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'...all__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000152469060>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'...all__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001122b96c8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...name_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122da0ae0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122da0ae0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...name_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001122b9678> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...name_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122da0aa0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122da0aa0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...name_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_SetFromErrnoWithFilename_basic'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_SetFromErrnoWithFilename_basic'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_SetFromErrnoWithFilename_basic'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_SetFromErrnoWithFilename_basic'> space = StdObjSpace target = <function test_SetFromErrnoWithFilename_basic at 0x000000013011b880> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153c4c480>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153c4c480>,) w_func = <Function test_SetFromErrnoWithFilename_basic> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153c4c480> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_SetFromErrnoWithFilename_basic> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153c4c480>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_SetFromErrnoWithFilename_basic> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153c4c480>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_SetFromErrnoWithFilename_basic, file "[/Users/matti/build-wo...4/own-macos-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 name = 'test_SetFromErrnoWithFilename_basic' qualname = 'test_SetFromErrnoWithFilename_basic' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 e = UnicodeEncodeError('ascii', u'\n errno = EBADF;\n ... return NULL;\n ', 107, 108, 'ordinal not in range(128)') def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 pycode = <code object test_SetFromErrnoWithFilename_basic, file "[/Users/matti/build-wo...4/own-macos-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> next_instr = 88 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000152c40b80> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 co_code = '|\x00j\x00}\x01|\x01d\x00u\x00r\td\x01}\x01d\x02d\x00l\x01}\x02d\x02d\x00l\x02}\x03d\x02d\x00l\x03}\x04d\x03d\x04d\x0...01|\x07j\tj\nd\x13k\x02\x90\x01s\x0cJ\x00\x82\x01|\x07j\tj\x14d\x14k\x02\x90\x01s\x15J\x00\x82\x01d\x00S\x00d\x00S\x00' next_instr = 88 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000152c40b80> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 co_code = '|\x00j\x00}\x01|\x01d\x00u\x00r\td\x01}\x01d\x02d\x00l\x01}\x02d\x02d\x00l\x02}\x03d\x02d\x00l\x03}\x04d\x03d\x04d\x0...01|\x07j\tj\nd\x13k\x02\x90\x01s\x0cJ\x00\x82\x01|\x07j\tj\x14d\x14k\x02\x90\x01s\x15J\x00\x82\x01d\x00S\x00d\x00S\x00' next_instr = 102 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000152c40b80> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD_KW.index: > self.CALL_METHOD_KW(oparg, next_instr) interpreter/pyopcode.py:315: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_SetFromE...-arm64/build/pypy/module/cpyext/test/test_pyerrors.py:250]", line 1> at line 56 n_arguments = 2, ignored = (102,) W_AbstractTupleObject = <class 'pypy.objspace.std.tupleobject.W_AbstractTupleObject'> w_self = None, space = StdObjSpace @jit.unroll_safe def CALL_METHOD_KW(f, n_arguments, *ignored): from pypy.objspace.std.tupleobject import W_AbstractTupleObject # opargs contains the arg + kwarg count, excluding the implicit 'self' w_self = f.peekvalue_maybe_none(n_arguments + 1) space = f.space # like in BUILD_CONST_KEY_MAP we can't use space.fixedview because then # the immutability of the tuple is lost w_tup_varnames = space.interp_w(W_AbstractTupleObject, f.popvalue()) n_keywords = space.len_w(w_tup_varnames) keyword_names_w = [None] * n_keywords keywords_w = [None] * n_keywords for i in range(n_keywords): keyword_names_w[i] = w_tup_varnames.getitem(space, i) w_value = f.peekvalue(n_keywords - 1 - i) keywords_w[i] = w_value f.dropvalues(n_keywords) n_arguments -= n_keywords n = n_arguments + (w_self is not None) arguments = f.popvalues(n) # includes w_self if it is not None if w_self is None: f.popvalue_maybe_none() # removes w_self, which is None w_callable = f.popvalue() args = f.argument_factory( arguments, keyword_names_w, keywords_w, None, None, methodcall=w_self is not None, w_function=w_callable) if f.get_is_being_profiled() and function.is_builtin_code(w_callable): w_result = f.space.call_args_and_c_profile(f, w_callable, args) else: > w_result = f.space.call_args(w_callable, args) objspace/std/callmethod.py:126: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_obj = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... '))])], ['prologue'], [W_UnicodeObject('#include <errno.h>')]) def call_args(space, w_obj, args): # two special cases for performance if isinstance(w_obj, Function): > return w_obj.call_args(args) objspace/descroperation.py:192: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... '))])], ['prologue'], [W_UnicodeObject('#include <errno.h>')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000133a0eaa0> func = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... '))])], ['prologue'], [W_UnicodeObject('#include <errno.h>')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000133a0eaa0> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... '))])], ['prologue'], [W_UnicodeObject('#include <errno.h>')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000133a0eaa0> space = StdObjSpace e = UnicodeEncodeError('ascii', u'\n errno = EBADF;\n ... return NULL;\n ', 107, 108, 'ordinal not in range(128)') def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000133a0eaa0> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... '))])], ['prologue'], [W_UnicodeObject('#include <errno.h>')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_W_Root_text_W_Root_text_bool object at 0x0000000133a0eb80> space = StdObjSpace scope_w = [W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000..., "/path/to/...n NULL;\n '))]), W_UnicodeObject('#include <errno.h>'), None, W_UnicodeObject(''), W_BoolObject(False)] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), scope_w[1], space.text_w(scope_w[2]), scope_w[3], space.text_w(scope_w[4]), space.is_true(scope_w[5])) <3101-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, modname = 'foo' w_functions = W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000..., "/path/to/a\xcc\x88");\n return NULL;\n '))]) prologue = '#include <errno.h>', w_include_dirs = None, more_init = '' PY_SSIZE_T_CLEAN = False @unwrap_spec(modname='text', prologue='text', more_init='text', PY_SSIZE_T_CLEAN=bool) def import_extension(space, modname, w_functions, prologue="", w_include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): functions = space.unwrap(w_functions) include_dirs = _unwrap_include_dirs(space, w_include_dirs) # If there's already a module under this name (file-based or a # previous inline extension), save it in _module_keepalive before # it's displaced. This prevents its raw allocations (method-name # strings, type dicts, etc.) from being freed during a later # test's leakfinder tracking window. self._file_module_cache.pop(modname, None) w_modules = space.sys.get('modules') try: w_old = space.getitem(w_modules, space.newtext(modname)) self._module_keepalive.append(w_old) except OperationError: pass w_result = self.sys_info.import_extension( modname, functions, prologue, include_dirs, more_init, > PY_SSIZE_T_CLEAN) module/cpyext/test/test_cpyext.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000121456058> modname = 'foo' functions = [(u'set_from_errno', u'METH_NOARGS', u'\n errno = EBADF;\n PyErr_SetFromErrnoWithFilen...PyErr_SetFromErrnoWithFilename(PyExc_OSError, "/path/to/a\u0308");\n return NULL;\n ')] prologue = '#include <errno.h>', include_dirs = None, more_init = '' PY_SSIZE_T_CLEAN = False def import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): > body = prologue + make_methods(functions, modname) tool/cpyext/extbuild.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ functions = [(u'set_from_errno', u'METH_NOARGS', u'\n errno = EBADF;\n PyErr_SetFromErrnoWithFilen...PyErr_SetFromErrnoWithFilename(PyExc_OSError, "/path/to/a\u0308");\n return NULL;\n ')] modname = 'foo' def make_methods(functions, modname): methods_table = [] codes = [] for funcname, flags, code in functions: cfuncname = "%s_%s" % (modname, funcname) if 'METH_FASTCALL' in flags and 'METH_KEYWORDS' in flags: signature = ('(PyObject *self, PyObject *const *args, ' 'Py_ssize_t len_args, PyObject *kwnames)') elif 'METH_KEYWORDS' in flags: signature = '(PyObject *self, PyObject *args, PyObject *kwargs)' elif 'METH_FASTCALL' in flags: signature = ('(PyObject *self, PyObject *const *args, ' 'Py_ssize_t len_args)') else: signature = '(PyObject *self, PyObject *args)' methods_table.append( "{\"%s\", (PyCFunction)%s, %s}," % (funcname, cfuncname, flags)) func_code = """ static PyObject* {cfuncname}{signature} {{ {code} }} > """.format(cfuncname=cfuncname, signature=signature, code=code) E UnicodeEncodeError: 'ascii' codec can't encode character u'\u0308' in position 107: ordinal not in range(128) tool/cpyext/extbuild.py:139: UnicodeEncodeError =========================== short test summary info ============================ FAIL module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilename_basic =============== 1 failed, 28 passed, 4 skipped in 113.41 seconds =============== ++ 04:12:09 starting module/cpyext/test/test_pystrhex.py [123 started in total] __ module/cpyext/test/test_pysignals.py [121 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_pysignals.py . ========================== 1 passed in 40.08 seconds =========================== ++ 04:12:36 starting module/cpyext/test/test_pystrtod.py [124 started in total] __ module/cpyext/test/test_pystrhex.py [122 done in total, somefailed=False] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_pystrhex.py . ========================== 1 passed in 39.81 seconds =========================== ++ 04:13:00 starting module/cpyext/test/test_sequence.py [125 started in total] __ module/cpyext/test/test_pystate.py [123 done in total, somefailed=True] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items module/cpyext/test/test_pystate.py ....x.FF..sx.. =================================== FAILURES =================================== ________________________ AppTestThreads.test_savethread ________________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x00000001226cd4c0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_savethread'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000014027a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001405a92a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_savethread'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001405a92a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_savethread'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000153abd7b8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000121296b60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000121296b60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000153abd510> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000121296aa0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000121296aa0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_savethread'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_savethread'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_savethread'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_savethread'>, space = StdObjSpace target = <function test_savethread at 0x00000001226cdad8> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>,) w_func = <Function test_savethread> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_savethread> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_savethread> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_savethread, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 name = 'test_savethread', qualname = 'test_savethread' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 pycode = <code object test_savethread, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000153a70db0> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01|\x01\xa0\x01\xa1\x00}\x02|\x02d\x03k\x02s\x11J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000153a70db0> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01|\x01\xa0\x01\xa1\x00}\x02|\x02d\x03k\x02s\x11J\x00\x82\x01d\x00S\x00' next_instr = 12L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000153a70db0> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 oparg = 2, ignored = (12L,), n_args = 2, w_self = None, n = 2 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 dropvalues = 4, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_savethre...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:140]", line 1> at line 2 dropvalues = 4, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... return PyLong_FromLong(3);\n '))])]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122093210> func = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... return PyLong_FromLong(3);\n '))])]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122093210> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... return PyLong_FromLong(3);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122093210> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122093210> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.... return PyLong_FromLong(3);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_W_Root_text_W_Root_text_bool object at 0x0000000122093328> space = StdObjSpace scope_w = [W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... ...Long(3);\n '))]), W_UnicodeObject(''), None, W_UnicodeObject(''), W_BoolObject(False)] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), scope_w[1], space.text_w(scope_w[2]), scope_w[3], space.text_w(scope_w[4]), space.is_true(scope_w[5])) <2701-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, modname = 'foo' w_functions = W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000... return PyLong_FromLong(3);\n '))]) prologue = '', w_include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False @unwrap_spec(modname='text', prologue='text', more_init='text', PY_SSIZE_T_CLEAN=bool) def import_extension(space, modname, w_functions, prologue="", w_include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): functions = space.unwrap(w_functions) include_dirs = _unwrap_include_dirs(space, w_include_dirs) # If there's already a module under this name (file-based or a # previous inline extension), save it in _module_keepalive before # it's displaced. This prevents its raw allocations (method-name # strings, type dicts, etc.) from being freed during a later # test's leakfinder tracking window. self._file_module_cache.pop(modname, None) w_modules = space.sys.get('modules') try: w_old = space.getitem(w_modules, space.newtext(modname)) self._module_keepalive.append(w_old) except OperationError: pass w_result = self.sys_info.import_extension( modname, functions, prologue, include_dirs, more_init, > PY_SSIZE_T_CLEAN) module/cpyext/test/test_cpyext.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000153ae7f30> modname = 'foo' functions = [(u'bounce', u'METH_NOARGS', u'\n PyThreadState * tstate;\n if (PyEval_ThreadsInitiali..._FromLong(2);\n }\n\n return PyLong_FromLong(3);\n ')] prologue = '', include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False def import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): body = prologue + make_methods(functions, modname) init = """PyObject *mod = PyModule_Create(&moduledef); """ if more_init: init += """#define INITERROR return NULL """ init += more_init init += "\nreturn mod;" return self.import_module( name=modname, init=init, body=body, include_dirs=include_dirs, > PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) tool/cpyext/extbuild.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000153ae7f30> name = 'foo' init = 'PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;' body = u'\n static PyObject* foo_bounce(PyObject *self, PyObject *args)\n {\n \n PyThrea...LL, /* m_doc */\n -1, /* m_size */\n methods, /* m_methods */\n };\n ' filename = None, include_dirs = None, PY_SSIZE_T_CLEAN = False, use_imp = False def import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): """ init specifies the overall template of the module. if init is None, the module source will be loaded from a file in this test directory, give a name given by the filename parameter. if filename is None, the module name will be used to construct the filename. """ if body or init: if init is None: init = "return PyModule_Create(&moduledef);" if init is not None: code = make_source(name, init, body, PY_SSIZE_T_CLEAN) kwds = dict(source_strings=[code]) else: assert not PY_SSIZE_T_CLEAN if filename is None: filename = name filename = HERE / (filename + ".c") kwds = dict(source_files=[filename]) mod = self.compile_extension_module( > name, include_dirs=include_dirs, **kwds) tool/cpyext/extbuild.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000153ae7f30> name = 'foo', include_dirs = [] source_files = [local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-5/source_0.c')] source_strings = [u'\n \n #include <Python.h>\n\n \n static PyObject* foo_bounce(PyObject *self, PyObject *args)\n ...\n PyInit_foo(void) {\n PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;\n }\n '] def compile_extension_module(self, name, include_dirs=None, source_files=None, source_strings=None): """ Build an extension module and return the filename of the resulting native code file. name is the name of the module, possibly including dots if it is a module inside a package. """ include_dirs = include_dirs or [] modname = name.split('.')[-1] dirname = self.get_builddir(name=modname) if source_strings: assert not source_files files = convert_sources_to_files(source_strings, dirname) source_files = files soname = c_compile(source_files, outputfilename=str(dirname / modname), compile_extra=self.compile_extra, link_extra=self.link_extra, include_dirs=self.include_extra + include_dirs, > libraries=self.extra_libs) tool/cpyext/extbuild.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-5/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-5/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2803'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def c_compile(cfilenames, outputfilename, compile_extra=None, link_extra=None, include_dirs=None, libraries=None, library_dirs=None): compile_extra = compile_extra or [] link_extra = link_extra or [] include_dirs = include_dirs or [] libraries = libraries or [] library_dirs = library_dirs or [] if sys.platform == 'win32': link_extra = link_extra + ['/DEBUG'] # generate .pdb file if sys.platform == 'darwin': # support Fink & Darwinports for s in ('/sw/', '/opt/local/'): if (s + 'include' not in include_dirs and os.path.exists(s + 'include')): include_dirs.append(s + 'include') if s + 'lib' not in library_dirs and os.path.exists(s + 'lib'): library_dirs.append(s + 'lib') outputfilename = py.path.local(outputfilename).new(ext=so_ext) saved_environ = os.environ.copy() try: _build( cfilenames, outputfilename, compile_extra, link_extra, > include_dirs, libraries, library_dirs) tool/cpyext/extbuild.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-5/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-5/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2803'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def _build(cfilenames, outputfilename, compile_extra, link_extra, include_dirs, libraries, library_dirs): try: # monkeypatch distutils for some versions of msvc compiler import setuptools except ImportError: # XXX if this fails and is required, # we must call pypy -mensurepip after translation pass from distutils.ccompiler import new_compiler from distutils import sysconfig # XXX for Darwin running old versions of CPython 2.7.x sysconfig.get_config_vars() compiler = new_compiler(force=1) sysconfig.customize_compiler(compiler) # XXX objects = [] for cfile in cfilenames: cfile = py.path.local(cfile) old = cfile.dirpath().chdir() try: res = compiler.compile([cfile.basename], > include_dirs=include_dirs, extra_preargs=compile_extra) tool/cpyext/extbuild.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000153749360> sources = ['source_0.c'], output_dir = None, macros = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2803'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] debug = 0, extra_preargs = [], extra_postargs = [], depends = None def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x0000000153749360> obj = 'source_0.o', src = 'source_0.c', ext = '.c' cc_args = ['-I/tmp/buildbot-arm64/usession-py3.11-2803', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp.../build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c', '-c'] extra_postargs = [] pp_opts = ['-I/tmp/buildbot-arm64/usession-py3.11-2803', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp...-arm64/build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError ______________________ AppTestThreads.test_thread_and_gil ______________________ self = <CallInfo when='call' exception: command 'cc' terminated by signal 10> func = <function <lambda> at 0x00000001212e8728>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_thread_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_thread_and_gil'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x000000014027a0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001405a92a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_thread_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_thread_and_gil'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001405a92a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_thread_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_thread_and_gil'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_thread_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001232feed0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ad_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001233cf1a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001233cf1a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ad_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_thread_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001232fee58> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ad_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001233cf160> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001233cf160> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...ad_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_thread_and_gil'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_thread_and_gil'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_thread_and_gil'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_thread_and_gil'>, space = StdObjSpace target = <function test_thread_and_gil at 0x00000001212e87a0> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>,) w_func = <Function test_thread_and_gil> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_thread_and_gil> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_thread_and_gil> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000153d90410>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_thread_and_gil, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 name = 'test_thread_and_gil', qualname = 'test_thread_and_gil' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 pycode = <code object test_thread_and_gil, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000153a70db0> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01|\x01\xa0\x01\xa1\x00}\x02|\x02d\x03k\x02s\x11J\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000153a70db0> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 co_code = '|\x00\xa0\x00d\x01d\x02g\x01\xa1\x02}\x01|\x01\xa0\x01\xa1\x00}\x02|\x02d\x03k\x02s\x11J\x00\x82\x01d\x00S\x00' next_instr = 12L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000153a70db0> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 oparg = 2, ignored = (12L,), n_args = 2, w_self = None, n = 2 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 dropvalues = 4, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_thread_a...os-arm64/build/pypy/module/cpyext/test/test_pystate.py:167]", line 1> at line 2 dropvalues = 4, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....ng_FromLong(-4);\n\n return PyLong_FromLong(4);\n '))])]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000123301e88> func = <FunctionWithFixedCode import_extension> args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....ng_FromLong(-4);\n\n return PyLong_FromLong(4);\n '))])]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000123301e88> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....ng_FromLong(-4);\n\n return PyLong_FromLong(4);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000123301e88> space = StdObjSpace e = CompileError(DistutilsExecError("command 'cc' terminated by signal 10",),) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000123301e88> func = <FunctionWithFixedCode import_extension>, w_obj = None args = Arguments([W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject....ng_FromLong(-4);\n\n return PyLong_FromLong(4);\n '))])]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_text_W_Root_text_W_Root_text_bool object at 0x0000000123301f68> space = StdObjSpace scope_w = [W_UnicodeObject('foo'), W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000...Long_FromLon... return PyLong_FromLong(4);\n '))]), W_UnicodeObject(''), None, W_UnicodeObject(''), W_BoolObject(False)] def _run(self, space, scope_w): > return self.behavior(space, space.text_w(scope_w[0]), scope_w[1], space.text_w(scope_w[2]), scope_w[3], space.text_w(scope_w[4]), space.is_true(scope_w[5])) <2701-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, modname = 'foo' w_functions = W_ListObject(<pypy.objspace.std.listobject.ObjectListStrategy object at 0x0000...Long_FromLong(-4);\n\n return PyLong_FromLong(4);\n '))]) prologue = '', w_include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False @unwrap_spec(modname='text', prologue='text', more_init='text', PY_SSIZE_T_CLEAN=bool) def import_extension(space, modname, w_functions, prologue="", w_include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): functions = space.unwrap(w_functions) include_dirs = _unwrap_include_dirs(space, w_include_dirs) # If there's already a module under this name (file-based or a # previous inline extension), save it in _module_keepalive before # it's displaced. This prevents its raw allocations (method-name # strings, type dicts, etc.) from being freed during a later # test's leakfinder tracking window. self._file_module_cache.pop(modname, None) w_modules = space.sys.get('modules') try: w_old = space.getitem(w_modules, space.newtext(modname)) self._module_keepalive.append(w_old) except OperationError: pass w_result = self.sys_info.import_extension( modname, functions, prologue, include_dirs, more_init, > PY_SSIZE_T_CLEAN) module/cpyext/test/test_cpyext.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000153ae7f30> modname = 'foo' functions = [(u'bounce', u'METH_NOARGS', u'\n PyThreadState * tstate;\n PyObject *dict;\n PyGILSt...e_Check() != 1)\n return PyLong_FromLong(-4);\n\n return PyLong_FromLong(4);\n ')] prologue = '', include_dirs = None, more_init = '', PY_SSIZE_T_CLEAN = False def import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): body = prologue + make_methods(functions, modname) init = """PyObject *mod = PyModule_Create(&moduledef); """ if more_init: init += """#define INITERROR return NULL """ init += more_init init += "\nreturn mod;" return self.import_module( name=modname, init=init, body=body, include_dirs=include_dirs, > PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) tool/cpyext/extbuild.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000153ae7f30> name = 'foo' init = 'PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;' body = u'\n static PyObject* foo_bounce(PyObject *self, PyObject *args)\n {\n \n PyThreadStat...LL, /* m_doc */\n -1, /* m_size */\n methods, /* m_methods */\n };\n ' filename = None, include_dirs = None, PY_SSIZE_T_CLEAN = False, use_imp = False def import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): """ init specifies the overall template of the module. if init is None, the module source will be loaded from a file in this test directory, give a name given by the filename parameter. if filename is None, the module name will be used to construct the filename. """ if body or init: if init is None: init = "return PyModule_Create(&moduledef);" if init is not None: code = make_source(name, init, body, PY_SSIZE_T_CLEAN) kwds = dict(source_strings=[code]) else: assert not PY_SSIZE_T_CLEAN if filename is None: filename = name filename = HERE / (filename + ".c") kwds = dict(source_files=[filename]) mod = self.compile_extension_module( > name, include_dirs=include_dirs, **kwds) tool/cpyext/extbuild.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.module.cpyext.test.test_cpyext.SpaceCompiler object at 0x0000000153ae7f30> name = 'foo', include_dirs = [] source_files = [local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-6/source_0.c')] source_strings = [u'\n \n #include <Python.h>\n\n \n static PyObject* foo_bounce(PyObject *self, PyObject *args)\n ...\n PyInit_foo(void) {\n PyObject *mod = PyModule_Create(&moduledef);\n \nreturn mod;\n }\n '] def compile_extension_module(self, name, include_dirs=None, source_files=None, source_strings=None): """ Build an extension module and return the filename of the resulting native code file. name is the name of the module, possibly including dots if it is a module inside a package. """ include_dirs = include_dirs or [] modname = name.split('.')[-1] dirname = self.get_builddir(name=modname) if source_strings: assert not source_files files = convert_sources_to_files(source_strings, dirname) source_files = files soname = c_compile(source_files, outputfilename=str(dirname / modname), compile_extra=self.compile_extra, link_extra=self.link_extra, include_dirs=self.include_extra + include_dirs, > libraries=self.extra_libs) tool/cpyext/extbuild.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-6/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-6/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2803'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def c_compile(cfilenames, outputfilename, compile_extra=None, link_extra=None, include_dirs=None, libraries=None, library_dirs=None): compile_extra = compile_extra or [] link_extra = link_extra or [] include_dirs = include_dirs or [] libraries = libraries or [] library_dirs = library_dirs or [] if sys.platform == 'win32': link_extra = link_extra + ['/DEBUG'] # generate .pdb file if sys.platform == 'darwin': # support Fink & Darwinports for s in ('/sw/', '/opt/local/'): if (s + 'include' not in include_dirs and os.path.exists(s + 'include')): include_dirs.append(s + 'include') if s + 'lib' not in library_dirs and os.path.exists(s + 'lib'): library_dirs.append(s + 'lib') outputfilename = py.path.local(outputfilename).new(ext=so_ext) saved_environ = os.environ.copy() try: _build( cfilenames, outputfilename, compile_extra, link_extra, > include_dirs, libraries, library_dirs) tool/cpyext/extbuild.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cfilenames = [local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-6/source_0.c')] outputfilename = local('/tmp/buildbot-arm64/usession-py3.11-2803/foo-6/foo.so') compile_extra = [], link_extra = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2803'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] libraries = [], library_dirs = [] def _build(cfilenames, outputfilename, compile_extra, link_extra, include_dirs, libraries, library_dirs): try: # monkeypatch distutils for some versions of msvc compiler import setuptools except ImportError: # XXX if this fails and is required, # we must call pypy -mensurepip after translation pass from distutils.ccompiler import new_compiler from distutils import sysconfig # XXX for Darwin running old versions of CPython 2.7.x sysconfig.get_config_vars() compiler = new_compiler(force=1) sysconfig.customize_compiler(compiler) # XXX objects = [] for cfile in cfilenames: cfile = py.path.local(cfile) old = cfile.dirpath().chdir() try: res = compiler.compile([cfile.basename], > include_dirs=include_dirs, extra_preargs=compile_extra) tool/cpyext/extbuild.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x00000001111403a0> sources = ['source_0.c'], output_dir = None, macros = [] include_dirs = [local('/tmp/buildbot-arm64/usession-py3.11-2803'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.../build/pypy/module/cpyext/parse'), local('/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c')] debug = 0, extra_preargs = [], extra_postargs = [], depends = None def compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): """Compile one or more source files. 'sources' must be a list of filenames, most likely C/C++ files, but in reality anything that can be handled by a particular compiler and compiler class (eg. MSVCCompiler can handle resource files in 'sources'). Return a list of object filenames, one per source filename in 'sources'. Depending on the implementation, not all source files will necessarily be compiled, but all corresponding object filenames will be returned. If 'output_dir' is given, object files will be put under it, while retaining their original path component. That is, "foo/bar.c" normally compiles to "foo/bar.o" (for a Unix implementation); if 'output_dir' is "build", then it would compile to "build/foo/bar.o". 'macros', if given, must be a list of macro definitions. A macro definition is either a (name, value) 2-tuple or a (name,) 1-tuple. The former defines a macro; if the value is None, the macro is defined without an explicit value. The 1-tuple case undefines a macro. Later definitions/redefinitions/ undefinitions take precedence. 'include_dirs', if given, must be a list of strings, the directories to add to the default include file search path for this compilation only. 'debug' is a boolean; if true, the compiler will be instructed to output debug symbols in (or alongside) the object file(s). 'extra_preargs' and 'extra_postargs' are implementation- dependent. On platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), they are most likely lists of strings: extra command-line arguments to prepand/append to the compiler command line. On other platforms, consult the implementation class documentation. In any event, they are intended as an escape hatch for those occasions when the abstract compiler framework doesn't cut the mustard. 'depends', if given, is a list of filenames that all targets depend on. If a source file is older than any file in depends, then the source file will be recompiled. This supports dependency tracking, but only at a coarse granularity. Raises CompileError on failure. """ # A concrete compiler class can either override this method # entirely or implement _compile(). macros, objects, extra_postargs, pp_opts, build = \ self._setup_compile(output_dir, macros, include_dirs, sources, depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) for obj in objects: try: src, ext = build[obj] except KeyError: continue > self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/ccompiler.py:574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <distutils.unixccompiler.UnixCCompiler instance at 0x00000001111403a0> obj = 'source_0.o', src = 'source_0.c', ext = '.c' cc_args = ['-I/tmp/buildbot-arm64/usession-py3.11-2803', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp.../build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c', '-c'] extra_postargs = [] pp_opts = ['-I/tmp/buildbot-arm64/usession-py3.11-2803', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/cp...-arm64/build/pypy/module/cpyext/parse', '-I/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/translator/c'] def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs) try: self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs) except DistutilsExecError, msg: > raise CompileError, msg E CompileError: command 'cc' terminated by signal 10 ../../../../oss/pypy-arm64-buildbot/lib-python/2.7/distutils/unixccompiler.py:139: CompileError =========================== short test summary info ============================ FAIL module/cpyext/test/test_pystate.py::AppTestThreads::()::test_savethread FAIL module/cpyext/test/test_pystate.py::AppTestThreads::()::test_thread_and_gil ========== 2 failed, 9 passed, 1 skipped, 2 xfailed in 54.29 seconds =========== ++ 04:13:11 starting module/cpyext/test/test_setobject.py [126 started in total] __ module/cpyext/test/test_pystrtod.py [124 done in total, somefailed=False] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items module/cpyext/test/test_pystrtod.py .................... ========================== 20 passed in 66.37 seconds ========================== ++ 04:13:57 starting module/cpyext/test/test_sliceobject.py [127 started in total] __ module/cpyext/test/test_setobject.py [125 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items module/cpyext/test/test_setobject.py ......... ========================== 9 passed in 57.97 seconds =========================== ++ 04:14:24 starting module/cpyext/test/test_structseq.py [128 started in total] __ module/cpyext/test/test_sequence.py [126 done in total, somefailed=False] __ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items module/cpyext/test/test_sequence.py ....................... ========================== 23 passed in 78.73 seconds ========================== ++ 04:14:27 starting module/cpyext/test/test_sysmodule.py [129 started in total] __ module/cpyext/test/test_sliceobject.py [127 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/cpyext/test/test_sliceobject.py ........ ========================== 8 passed in 55.00 seconds =========================== ++ 04:15:02 starting module/cpyext/test/test_thread.py [130 started in total] __ module/cpyext/test/test_structseq.py [128 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_structseq.py . ========================== 1 passed in 42.33 seconds =========================== ++ 04:15:15 starting module/cpyext/test/test_traceback.py [131 started in total] __ module/cpyext/test/test_sysmodule.py [129 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_sysmodule.py ... ========================== 3 passed in 48.11 seconds =========================== ++ 04:15:26 starting module/cpyext/test/test_translate.py [132 started in total] __ module/cpyext/test/test_translate.py [130 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_translate.py . =========================== 1 passed in 4.50 seconds =========================== ++ 04:15:41 starting module/cpyext/test/test_tupleobject.py [133 started in total] __ module/cpyext/test/test_traceback.py [131 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/cpyext/test/test_traceback.py . ========================== 1 passed in 31.31 seconds =========================== ++ 04:16:00 starting module/cpyext/test/test_typeobject.py [134 started in total] __ module/cpyext/test/test_thread.py [132 done in total, somefailed=False] ____ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items module/cpyext/test/test_thread.py x...x. ===================== 4 passed, 2 xfailed in 63.19 seconds ===================== ++ 04:16:15 starting module/cpyext/test/test_unicodeobject.py [135 started in total] __ module/cpyext/test/test_tupleobject.py [133 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items module/cpyext/test/test_tupleobject.py .......... ========================== 10 passed in 62.12 seconds ========================== ++ 04:16:53 starting module/cpyext/test/test_userslots.py [136 started in total] __ module/cpyext/test/test_userslots.py [134 done in total, somefailed=False] _ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items module/cpyext/test/test_userslots.py ....... ========================== 7 passed in 68.46 seconds =========================== called power ++ 04:18:14 starting module/cpyext/test/test_version.py [137 started in total] __ module/cpyext/test/test_version.py [135 done in total, somefailed=False] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/cpyext/test/test_version.py ... ========================== 3 passed in 51.81 seconds =========================== ++ 04:19:19 starting module/cpyext/test/test_weakref.py [138 started in total] __ module/cpyext/test/test_unicodeobject.py [136 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 78 items module/cpyext/test/test_unicodeobject.py .......................................................ss..................... ==================== 76 passed, 2 skipped in 191.96 seconds ==================== ++ 04:19:38 starting module/crypt/test [139 started in total] __ module/crypt/test [137 done in total, somefailed=False] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/crypt/test/test_crypt.py . ========================== 1 passed in 26.67 seconds =========================== ++ 04:20:06 starting module/errno/test [140 started in total] __ module/errno/test [138 done in total, somefailed=False] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/errno/test/test_errno.py ... =========================== 3 passed in 8.43 seconds =========================== ++ 04:20:16 starting module/exceptions/test [141 started in total] __ module/cpyext/test/test_weakref.py [139 done in total, somefailed=False] ___ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items module/cpyext/test/test_weakref.py ..... ========================== 5 passed in 56.23 seconds =========================== ++ 04:20:32 starting module/faulthandler/test [142 started in total] __ module/exceptions/test [140 done in total, somefailed=False] _______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 101 items module/exceptions/test/apptest_exceptions.py ..................................................... module/exceptions/test/test_exc.py ........s....................................... ==================== 100 passed, 1 skipped in 27.35 seconds ==================== ++ 04:20:44 starting module/fcntl/test [143 started in total] __ module/faulthandler/test [141 done in total, somefailed=False] _____________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items module/faulthandler/test/test_faulthander.py .. module/faulthandler/test/test_ztranslation.py . ========================== 3 passed in 19.30 seconds =========================== ++ 04:20:53 starting module/gc/test [144 started in total] __ module/fcntl/test [142 done in total, somefailed=True] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/fcntl/test/test_fcntl.py F.FFsFss =================================== FAILURES =================================== ___________________________ AppTestFcntl.test_fcntl ____________________________ self = <CallInfo when='call' exception: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0> func = <function <lambda> at 0x0000000130b605c0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_fcntl'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001508fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_fcntl'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_fcntl'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000141d501d8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000130e9c960> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000130e9c960> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000141d50188> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000130e9c920> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000130e9c920> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_fcntl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_fcntl'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_fcntl'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_fcntl'>, space = StdObjSpace target = <function test_fcntl at 0x0000000130b607a0> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) w_func = <Function test_fcntl> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_fcntl> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_fcntl> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_fcntl, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 name = 'test_fcntl', qualname = 'test_fcntl' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 e = TypeError("expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0",) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 pycode = <code object test_fcntl, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> next_instr = 346 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02\x89\x00d\x01d\x00l\x03}\x03G\x00d\x02\x84\x00d\x03\x83\x02}\x...x05|\x01j\x1d\x83\x04\x01\x00t\x08t%|\x01j\x00|\x05|\x01j\x1ed\x1a\x83\x05\x01\x00|\x05\xa0&\xa1\x00\x01\x00d\x00S\x00' next_instr = 346 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02\x89\x00d\x01d\x00l\x03}\x03G\x00d\x02\x84\x00d\x03\x83\x02}\x...x05|\x01j\x1d\x83\x04\x01\x00t\x08t%|\x01j\x00|\x05|\x01j\x1ed\x1a\x83\x05\x01\x00|\x05\xa0&\xa1\x00\x01\x00d\x00S\x00' next_instr = 358 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 oparg = 3, ignored = (358,), n_args = 3, w_self = None, n = 3 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <BuiltinFunction fcntl>, nargs = 3 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 dropvalues = 5, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction fcntl>, nargs = 3 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_fcntl, f...macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:21]", line 1> at line 30 dropvalues = 5, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, > f_1, f_0) interpreter/function.py:176: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001428128a8> space = StdObjSpace, func = <BuiltinFunction fcntl> w1 = <pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001410e7da8> w2 = W_IntObject(2), w3 = W_UnicodeObject('foo') @signature(sigtypes.self(), sigtypes.any(), w_root_or_none, w_root_or_none, w_root_or_none, w_root_or_none, returns=w_root_or_none) def fastcall_3(self, space, func, w1, w2, w3): try: w_result = self.fastfunc_3(space, w1, w2, w3) except DescrMismatch: return self._type_unwrap_mismatch(space, Arguments(space, [w1, w2, w3])) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:1031: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001428128a8> space = StdObjSpace e = TypeError("expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0",) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode3 object at 0x00000001428128a8> space = StdObjSpace, func = <BuiltinFunction fcntl> w1 = <pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001410e7da8> w2 = W_IntObject(2), w3 = W_UnicodeObject('foo') @signature(sigtypes.self(), sigtypes.any(), w_root_or_none, w_root_or_none, w_root_or_none, w_root_or_none, returns=w_root_or_none) def fastcall_3(self, space, func, w1, w2, w3): try: > w_result = self.fastfunc_3(space, w1, w2, w3) interpreter/gateway.py:1026: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace w0 = <pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001410e7da8> w1 = W_IntObject(2), w2 = W_UnicodeObject('foo') def fastfunc_fcntl_3(space, w0, w1, w2): > return func(space, w0, space.gateway_int_w(w1), w2) <2752-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace w_fd = <pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001410e7da8> op = 2L, w_arg = W_UnicodeObject('foo') @unwrap_spec(op=int, w_arg=WrappedDefault(0)) def fcntl(space, w_fd, op, w_arg): """fcntl(fd, op, [arg]) Perform the requested operation on file descriptor fd. The operation is defined by op and is operating system dependent. These constants are available from the fcntl module. The argument arg is optional, and defaults to 0; it may be an int or a string. If arg is given as a string, the return value of fcntl is a string of that length, containing the resulting value put in the arg buffer by the operating system. If the arg given is an integer or if none is specified, the result value is an integer corresponding to the return value of the fcntl call in the C code. """ fd = space.c_filedescriptor_w(w_fd) op = rffi.cast(rffi.INT, op) # C long => C int try: arg = space.getarg_w('s#', w_arg) except OperationError as e: if not e.match(space, space.w_TypeError): raise else: with rffi.scoped_str2charp(arg) as ll_arg: while True: > rv = fcntl_str(fd, op, ll_arg) module/fcntl/interp_fcntl.py:125: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (13, 2L, <* DEAD Array of Char {'nolength': True} >) real_args = (13L, 2L, <* DEAD Array of Char {'nolength': True} >), to_free = () i = 2 def wrapper(*args): assert len(args) == nb_args real_args = () # XXX 'to_free' leaks if an allocation fails with MemoryError # and was not the first in this function to_free = () for i, TARGET in unrolling_arg_tps: arg = args[i] if TARGET == CCHARP or TARGET is VOIDP: if arg is None: from rpython.rtyper.annlowlevel import llstr arg = lltype.nullptr(CCHARP.TO) # None => (char*)NULL to_free = to_free + (arg, llstr(None), '\x04') elif isinstance(arg, str): tup = get_nonmovingbuffer_ll_final_null(arg) to_free = to_free + tup arg = tup[0] elif isinstance(arg, unicode): _oops() elif TARGET == CWCHARP: if arg is None: arg = lltype.nullptr(CWCHARP.TO) # None => (wchar_t*)NULL to_free = to_free + (arg,) elif isinstance(arg, unicode): arg = unicode2wcharp(arg) to_free = to_free + (arg,) elif _isfunctype(TARGET) and not _isllptr(arg): # XXX pass additional arguments use_gil = invoke_around_handlers arg = llhelper(TARGET, _make_wrapper_for(TARGET, arg, callbackholder, use_gil)) else: SOURCE = lltype.typeOf(arg) if SOURCE != TARGET: if TARGET is lltype.Float: arg = float(arg) elif ((isinstance(SOURCE, lltype.Number) or SOURCE is lltype.Bool) and (isinstance(TARGET, lltype.Number) or TARGET is lltype.Bool)): arg = cast(TARGET, arg) real_args = real_args + (arg,) > res = call_external_function(*real_args) ../rpython/rtyper/lltypesystem/rffi.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a0 = 13L, a1 = 2L, a2 = <* DEAD Array of Char {'nolength': True} > def call_external_function(a0, a1, a2): rgil.release() # NB. it is essential that no exception checking occurs here! if 1: from rpython.rlib import rposix rposix._errno_before(1) if we_are_translated(): res = funcptr(a0, a1, a2) else: try: # only when non-translated > res = funcptr(a0, a1, a2) <2203-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <* fn fcntl> args = (13L, 2L, <* DEAD Array of Char {'nolength': True} >) rffi = <module 'rpython.rtyper.lltypesystem.rffi' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.pyc'> i = 2, a = <* DEAD Array of Char {'nolength': True} > def __call__(self, *args): from rpython.rtyper.lltypesystem import rffi if isinstance(self._T, FuncType): if len(args) != len(self._T.ARGS): raise TypeError("calling %r with wrong argument number: %r" % (self._T, args)) for i, a, ARG in zip(range(len(self._T.ARGS)), args, self._T.ARGS): if typeOf(a) != ARG: # ARG could be Void if ARG == Void: try: value = getattr(self._obj, '_void' + str(i)) except AttributeError: pass else: assert a == value # None is acceptable for any pointer elif isinstance(ARG, Ptr) and a is None: pass # Any pointer is convertible to void* elif ARG is rffi.VOIDP and isinstance(typeOf(a), Ptr): pass # special case: ARG can be a container type, in which # case a should be a pointer to it. This must also be # special-cased in the backends. elif (isinstance(ARG, ContainerType) and typeOf(a) == Ptr(ARG)): pass else: args_repr = [typeOf(arg) for arg in args] raise TypeError("calling %r with wrong argument " "types: %r" % (self._T, args_repr)) callb = self._obj._callable if callb is None: raise RuntimeError("calling undefined function") > return callb(*args) ../rpython/rtyper/lltypesystem/lltype.py:1384: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.rtyper.lltypesystem.ll2ctypes.LL2CtypesCallable object at 0x000000014110a838> argvalues = (13L, 2L, <* DEAD Array of Char {'nolength': True} >) cfunc = <ctypes._FuncPtr object at 0x0000000142b4c050> def __call__(self, *argvalues): with rlock: if self.trampoline is None: # lazily build the corresponding ctypes function object cfunc = get_ctypes_callable(self.funcptr, self.calling_conv, self.natural_arity) self.trampoline = get_ctypes_trampoline(self.FUNCTYPE, cfunc, self.natural_arity) # perform the call > return self.trampoline(*argvalues) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ argvalues = (13L, 2L, <* DEAD Array of Char {'nolength': True} >) cargs = [13L, 2L], i = 2 cvalue = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142b4c458> def invoke_via_ctypes(*argvalues): global _callback_exc_info cargs = [] for i in range(len(argvalues)): if i not in void_arguments: cvalue = lltype2ctypes(argvalues[i]) if i in container_arguments: cvalue = cvalue.contents if natural_arity > 0 and i >= natural_arity: > cvalue = cfunc.extraargs[i - natural_arity](cvalue) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1370: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142b4c440> value = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142b4c458> def __init__(self, value=None): if not hasattr(self, '_buffer'): self._buffer = ffiarray(1, autofree=True) if value is not None: > self.contents = value ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142b4c440> value = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142b4c458> def setcontents(self, value): if not isinstance(value, self._type_): raise TypeError("expected %s instead of %s" % ( > self._type_.__name__, type(value).__name__)) E TypeError: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0 ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:106: TypeError ___________________________ AppTestFcntl.test_lockf ____________________________ self = <CallInfo when='call' exception: expected ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } instead of LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }> func = <function <lambda> at 0x00000001537cfcb8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_lockf'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001508fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_lockf'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_lockf'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013114a188> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000131d05ca0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000131d05ca0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000013114a0e8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000131d05c60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000131d05c60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_lockf'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_lockf'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_lockf'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_lockf'>, space = StdObjSpace target = <function test_lockf at 0x00000001537cfe98> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) w_func = <Function test_lockf> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_lockf> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_lockf> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_lockf, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 name = 'test_lockf', qualname = 'test_lockf' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 e = TypeError('expected ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_typ...LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }',) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 pycode = <code object test_lockf, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03t\x03|\x00j\x04d\x02\x17\x00d\x03\x83\x02}\x04t\x05t\x06|...xa1\x01d\x01k\x02s\xabJ\x00\x82\x01|\x01\xa0\x07|\x04|\x01j\x08\xa1\x02\x01\x00|\x04\xa0\x16\xa1\x00\x01\x00d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03t\x03|\x00j\x04d\x02\x17\x00d\x03\x83\x02}\x04t\x05t\x06|...xa1\x01d\x01k\x02s\xabJ\x00\x82\x01|\x01\xa0\x07|\x04|\x01j\x08\xa1\x02\x01\x00|\x04\xa0\x16\xa1\x00\x01\x00d\x00S\x00' next_instr = 126L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 oparg = 2, ignored = (126L,), n_args = 2, w_self = None, n = 2 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <BuiltinFunction lockf>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 dropvalues = 4, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction lockf>, nargs = 2 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_lockf, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:160]", line 1> at line 13 dropvalues = 4, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction lockf> args = Arguments([<pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001434cb248>, W_IntObject(6)]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122a667c8> func = <BuiltinFunction lockf> args = Arguments([<pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001434cb248>, W_IntObject(6)]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122a667c8> func = <BuiltinFunction lockf>, w_obj = None args = Arguments([<pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001434cb248>, W_IntObject(6)]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122a667c8> space = StdObjSpace e = TypeError('expected ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_typ...LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }',) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode object at 0x0000000122a667c8> func = <BuiltinFunction lockf>, w_obj = None args = Arguments([<pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001434cb248>, W_IntObject(6)]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_W_Root_int_int_int_int object at 0x0000000122a66988> space = StdObjSpace scope_w = [<pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001434cb248>, W_IntObject(6), W_IntObject(0), W_IntObject(0), W_IntObject(0)] def _run(self, space, scope_w): > return self.behavior(space, scope_w[0], space.gateway_int_w(scope_w[1]), space.gateway_int_w(scope_w[2]), space.gateway_int_w(scope_w[3]), space.gateway_int_w(scope_w[4])) <2754-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace w_fd = <pypy.module._io.interp_textio.W_TextIOWrapper object at 0x00000001434cb248> op = 8L, length = 0, start = 0, whence = 0 @unwrap_spec(op=int, length=int, start=int, whence=int) def lockf(space, w_fd, op, length=0, start=0, whence=0): """lockf (fd, operation, length=0, start=0, whence=0) This is essentially a wrapper around the fcntl() locking calls. fd is the file descriptor of the file to lock or unlock, and operation is one of the following values: LOCK_UN - unlock LOCK_SH - acquire a shared lock LOCK_EX - acquire an exclusive lock When operation is LOCK_SH or LOCK_EX, it can also be bit-wise OR'd with LOCK_NB to avoid blocking on lock acquisition. If LOCK_NB is used and the lock cannot be acquired, an IOError will be raised and the exception will have an errno attribute set to EACCES or EAGAIN (depending on the operating system -- for portability, check for either value). length is the number of bytes to lock, with the default meaning to lock to EOF. start is the byte offset, relative to whence, to that the lock starts. whence is as with fileobj.seek(), specifically: 0 - relative to the start of the file (SEEK_SET) 1 - relative to the current buffer position (SEEK_CUR) 2 - relative to the end of the file (SEEK_END)""" fd = space.c_filedescriptor_w(w_fd) if op == LOCK_UN: l_type = F_UNLCK elif op & LOCK_SH: l_type = F_RDLCK elif op & LOCK_EX: l_type = F_WRLCK else: raise oefmt(space.w_ValueError, "unrecognized lock operation") op = [F_SETLKW, F_SETLK][int(bool(op & LOCK_NB))] op = rffi.cast(rffi.INT, op) # C long => C int with lltype.scoped_alloc(_flock.TO) as l: rffi.setintfield(l, 'c_l_type', l_type) rffi.setintfield(l, 'c_l_start', int(start)) rffi.setintfield(l, 'c_l_len', int(length)) rffi.setintfield(l, 'c_l_whence', int(whence)) while True: > rv = fcntl_flock(fd, op, l) module/fcntl/interp_fcntl.py:207: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (14, 8L, <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }>) real_args = (14L, 8L, <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }>) to_free = (), i = 2 def wrapper(*args): assert len(args) == nb_args real_args = () # XXX 'to_free' leaks if an allocation fails with MemoryError # and was not the first in this function to_free = () for i, TARGET in unrolling_arg_tps: arg = args[i] if TARGET == CCHARP or TARGET is VOIDP: if arg is None: from rpython.rtyper.annlowlevel import llstr arg = lltype.nullptr(CCHARP.TO) # None => (char*)NULL to_free = to_free + (arg, llstr(None), '\x04') elif isinstance(arg, str): tup = get_nonmovingbuffer_ll_final_null(arg) to_free = to_free + tup arg = tup[0] elif isinstance(arg, unicode): _oops() elif TARGET == CWCHARP: if arg is None: arg = lltype.nullptr(CWCHARP.TO) # None => (wchar_t*)NULL to_free = to_free + (arg,) elif isinstance(arg, unicode): arg = unicode2wcharp(arg) to_free = to_free + (arg,) elif _isfunctype(TARGET) and not _isllptr(arg): # XXX pass additional arguments use_gil = invoke_around_handlers arg = llhelper(TARGET, _make_wrapper_for(TARGET, arg, callbackholder, use_gil)) else: SOURCE = lltype.typeOf(arg) if SOURCE != TARGET: if TARGET is lltype.Float: arg = float(arg) elif ((isinstance(SOURCE, lltype.Number) or SOURCE is lltype.Bool) and (isinstance(TARGET, lltype.Number) or TARGET is lltype.Bool)): arg = cast(TARGET, arg) real_args = real_args + (arg,) > res = call_external_function(*real_args) ../rpython/rtyper/lltypesystem/rffi.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a0 = 14L, a1 = 8L a2 = <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }> def call_external_function(a0, a1, a2): rgil.release() # NB. it is essential that no exception checking occurs here! if 1: from rpython.rlib import rposix rposix._errno_before(1) if we_are_translated(): res = funcptr(a0, a1, a2) else: try: # only when non-translated > res = funcptr(a0, a1, a2) <2204-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <* fn fcntl> args = (14L, 8L, <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }>) rffi = <module 'rpython.rtyper.lltypesystem.rffi' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.pyc'> i = 2 a = <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }> def __call__(self, *args): from rpython.rtyper.lltypesystem import rffi if isinstance(self._T, FuncType): if len(args) != len(self._T.ARGS): raise TypeError("calling %r with wrong argument number: %r" % (self._T, args)) for i, a, ARG in zip(range(len(self._T.ARGS)), args, self._T.ARGS): if typeOf(a) != ARG: # ARG could be Void if ARG == Void: try: value = getattr(self._obj, '_void' + str(i)) except AttributeError: pass else: assert a == value # None is acceptable for any pointer elif isinstance(ARG, Ptr) and a is None: pass # Any pointer is convertible to void* elif ARG is rffi.VOIDP and isinstance(typeOf(a), Ptr): pass # special case: ARG can be a container type, in which # case a should be a pointer to it. This must also be # special-cased in the backends. elif (isinstance(ARG, ContainerType) and typeOf(a) == Ptr(ARG)): pass else: args_repr = [typeOf(arg) for arg in args] raise TypeError("calling %r with wrong argument " "types: %r" % (self._T, args_repr)) callb = self._obj._callable if callb is None: raise RuntimeError("calling undefined function") > return callb(*args) ../rpython/rtyper/lltypesystem/lltype.py:1384: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.rtyper.lltypesystem.ll2ctypes.LL2CtypesCallable object at 0x000000014110a8a8> argvalues = (14L, 8L, <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }>) cfunc = <ctypes._FuncPtr object at 0x00000001229a0de8> def __call__(self, *argvalues): with rlock: if self.trampoline is None: # lazily build the corresponding ctypes function object cfunc = get_ctypes_callable(self.funcptr, self.calling_conv, self.natural_arity) self.trampoline = get_ctypes_trampoline(self.FUNCTYPE, cfunc, self.natural_arity) # perform the call > return self.trampoline(*argvalues) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ argvalues = (14L, 8L, <* DEAD Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence }>) cargs = [14L, 8L], i = 2 cvalue = <_ctypes.pointer.LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } object at 0x00000001229a0ce0> def invoke_via_ctypes(*argvalues): global _callback_exc_info cargs = [] for i in range(len(argvalues)): if i not in void_arguments: cvalue = lltype2ctypes(argvalues[i]) if i in container_arguments: cvalue = cvalue.contents if natural_arity > 0 and i >= natural_arity: > cvalue = cfunc.extraargs[i - natural_arity](cvalue) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1370: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } object at 0x00000001229a13d0> value = <_ctypes.pointer.LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } object at 0x00000001229a0ce0> def __init__(self, value=None): if not hasattr(self, '_buffer'): self._buffer = ffiarray(1, autofree=True) if value is not None: > self.contents = value ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } object at 0x00000001229a13d0> value = <_ctypes.pointer.LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } object at 0x00000001229a0ce0> def setcontents(self, value): if not isinstance(value, self._type_): raise TypeError("expected %s instead of %s" % ( > self._type_.__name__, type(value).__name__)) E TypeError: expected ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } instead of LP_ctypes_Struct flock { c_l_start, c_l_len, c_l_pid, c_l_type, c_l_whence } ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:106: TypeError ___________________________ AppTestFcntl.test_ioctl ____________________________ self = <CallInfo when='call' exception: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0> func = <function <lambda> at 0x00000001429159e8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ioctl'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001508fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ioctl'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ioctl'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000014248fb50> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001530963a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001530963a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x000000014248fad8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000153096360> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000153096360> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_ioctl'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_ioctl'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_ioctl'>, space = StdObjSpace target = <function test_ioctl at 0x0000000142915a60> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) w_func = <Function test_ioctl> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_ioctl> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_ioctl> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_ioctl, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 name = 'test_ioctl', qualname = 'test_ioctl' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 e = TypeError("expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0",) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 pycode = <code object test_ioctl, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> next_instr = 180 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03d\x01d\x00l\x03}\x04d\x01d\x00l\x04}\x05\t\x00d\x01d\x02l...e0J\x00\x82\x01|\x03\xa0\x11|\x08\xa1\x01\x01\x00d\x00S\x00#\x00|\x03\xa0\x11|\x08\xa1\x01\x01\x00w\x00&\x03Y\x00w\x01' next_instr = 180 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03d\x01d\x00l\x03}\x04d\x01d\x00l\x04}\x05\t\x00d\x01d\x02l...e0J\x00\x82\x01|\x03\xa0\x11|\x08\xa1\x01\x01\x00d\x00S\x00#\x00|\x03\xa0\x11|\x08\xa1\x01\x01\x00w\x00&\x03Y\x00w\x01' next_instr = 220 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 oparg = 4, ignored = (220,), n_args = 4, w_self = None, n = 4 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <BuiltinFunction ioctl>, nargs = 4 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 dropvalues = 6, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction ioctl>, nargs = 4 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl, f...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:197]", line 1> at line 28 dropvalues = 6, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) > return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) interpreter/function.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> space = StdObjSpace, func = <BuiltinFunction ioctl>, w1 = W_IntObject(13) w2 = W_IntObject(1074033783) w3 = <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001413a9050> w4 = W_BoolObject(True) @signature(sigtypes.self(), sigtypes.any(), w_root_or_none, w_root_or_none, w_root_or_none, w_root_or_none, w_root_or_none, returns=w_root_or_none) def fastcall_4(self, space, func, w1, w2, w3, w4): from rpython.rlib.debug import check_annotation try: w_result = self.fastfunc_4(space, w1, w2, w3, w4) except DescrMismatch: return self._type_unwrap_mismatch(space, Arguments(space, [w1, w2, w3, w4])) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:1058: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> space = StdObjSpace e = TypeError("expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0",) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> space = StdObjSpace, func = <BuiltinFunction ioctl>, w1 = W_IntObject(13) w2 = W_IntObject(1074033783) w3 = <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001413a9050> w4 = W_BoolObject(True) @signature(sigtypes.self(), sigtypes.any(), w_root_or_none, w_root_or_none, w_root_or_none, w_root_or_none, w_root_or_none, returns=w_root_or_none) def fastcall_4(self, space, func, w1, w2, w3, w4): from rpython.rlib.debug import check_annotation try: > w_result = self.fastfunc_4(space, w1, w2, w3, w4) interpreter/gateway.py:1052: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w0 = W_IntObject(13), w1 = W_IntObject(1074033783) w2 = <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001413a9050> w3 = W_BoolObject(True) def fastfunc_ioctl_4(space, w0, w1, w2, w3): > return func(space, w0, w1, w2, space.gateway_int_w(w3)) <2843-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_fd = W_IntObject(13), w_request = W_IntObject(1074033783) w_arg = <pypy.module.array.interp_array.W_ArrayTypei object at 0x00000001413a9050> mutate_flag = 1 @unwrap_spec(mutate_flag=int, w_arg=WrappedDefault(0)) def ioctl(space, w_fd, w_request, w_arg, mutate_flag=-1): """ioctl(fd, op[, arg[, mutate_flag]]) Perform the operation op on file descriptor fd. The values used for op are operating system dependent, and are available as constants in the fcntl or termios library modules, using the same names as used in the relevant C header files. The argument arg is optional, and defaults to 0; it may be an int or a buffer containing character data (most likely a string or an array). If the argument is a mutable buffer (such as an array) and if the mutate_flag argument (which is only allowed in this case) is true then the buffer is (in effect) passed to the operating system and changes made by the OS will be reflected in the contents of the buffer after the call has returned. The return value is the integer returned by the ioctl system call. If the argument is a mutable buffer and the mutable_flag argument is not passed or is false, the behavior is as if a string had been passed. This behavior will change in future releases of Python. If the argument is an immutable buffer (most likely a string) then a copy of the buffer is passed to the operating system and the return value is a string of the same length containing whatever the operating system put in the buffer. The length of the arg buffer in this case is not allowed to exceed 1024 bytes. If the arg given is an integer or if none is specified, the result value is an integer corresponding to the return value of the ioctl call in the C code.""" # removed the largish docstring because it is not in sync with the # documentation any more (even in CPython's docstring is out of date) # XXX this function's interface is a mess. # We try to emulate the behavior of Python >= 2.5 w.r.t. mutate_flag IOCTL_BUFSZ = 1024 # like cpython fd = space.c_filedescriptor_w(w_fd) op = space.bigint_w(w_request).uintmask() # CPython uses PyLong_AsUnsignedLongMask op = rffi.cast(rffi.UINT, op) try: view, rwbuffer = space.acquire_writebuf(w_arg) except OperationError as e: if not (e.match(space, space.w_TypeError) or e.match(space, space.w_BufferError)): raise else: with view: arg = rwbuffer.as_str() ll_arg = rffi.str2charp(arg) to_alloc = max(IOCTL_BUFSZ, len(arg)) try: with rffi.scoped_alloc_buffer(to_alloc) as buf: rffi.c_memcpy(rffi.cast(rffi.VOIDP, buf.raw), rffi.cast(rffi.CONST_VOIDP, ll_arg), len(arg)) > rv = ioctl_str(fd, op, buf.raw) module/fcntl/interp_fcntl.py:271: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (13, 1074033783L, <* <C object Array of Char {'nolength': True} at 0x13d364810>>) real_args = (13L, 1074033783L, <* <C object Array of Char {'nolength': True} at 0x13d364810>>) to_free = (), i = 2 def wrapper(*args): assert len(args) == nb_args real_args = () # XXX 'to_free' leaks if an allocation fails with MemoryError # and was not the first in this function to_free = () for i, TARGET in unrolling_arg_tps: arg = args[i] if TARGET == CCHARP or TARGET is VOIDP: if arg is None: from rpython.rtyper.annlowlevel import llstr arg = lltype.nullptr(CCHARP.TO) # None => (char*)NULL to_free = to_free + (arg, llstr(None), '\x04') elif isinstance(arg, str): tup = get_nonmovingbuffer_ll_final_null(arg) to_free = to_free + tup arg = tup[0] elif isinstance(arg, unicode): _oops() elif TARGET == CWCHARP: if arg is None: arg = lltype.nullptr(CWCHARP.TO) # None => (wchar_t*)NULL to_free = to_free + (arg,) elif isinstance(arg, unicode): arg = unicode2wcharp(arg) to_free = to_free + (arg,) elif _isfunctype(TARGET) and not _isllptr(arg): # XXX pass additional arguments use_gil = invoke_around_handlers arg = llhelper(TARGET, _make_wrapper_for(TARGET, arg, callbackholder, use_gil)) else: SOURCE = lltype.typeOf(arg) if SOURCE != TARGET: if TARGET is lltype.Float: arg = float(arg) elif ((isinstance(SOURCE, lltype.Number) or SOURCE is lltype.Bool) and (isinstance(TARGET, lltype.Number) or TARGET is lltype.Bool)): arg = cast(TARGET, arg) real_args = real_args + (arg,) > res = call_external_function(*real_args) ../rpython/rtyper/lltypesystem/rffi.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a0 = 13L, a1 = 1074033783L a2 = <* <C object Array of Char {'nolength': True} at 0x13d364810>> def call_external_function(a0, a1, a2): rgil.release() # NB. it is essential that no exception checking occurs here! if 1: from rpython.rlib import rposix rposix._errno_before(1) if we_are_translated(): res = funcptr(a0, a1, a2) else: try: # only when non-translated > res = funcptr(a0, a1, a2) <2206-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <* fn ioctl> args = (13L, 1074033783L, <* <C object Array of Char {'nolength': True} at 0x13d364810>>) rffi = <module 'rpython.rtyper.lltypesystem.rffi' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.pyc'> i = 2, a = <* <C object Array of Char {'nolength': True} at 0x13d364810>> def __call__(self, *args): from rpython.rtyper.lltypesystem import rffi if isinstance(self._T, FuncType): if len(args) != len(self._T.ARGS): raise TypeError("calling %r with wrong argument number: %r" % (self._T, args)) for i, a, ARG in zip(range(len(self._T.ARGS)), args, self._T.ARGS): if typeOf(a) != ARG: # ARG could be Void if ARG == Void: try: value = getattr(self._obj, '_void' + str(i)) except AttributeError: pass else: assert a == value # None is acceptable for any pointer elif isinstance(ARG, Ptr) and a is None: pass # Any pointer is convertible to void* elif ARG is rffi.VOIDP and isinstance(typeOf(a), Ptr): pass # special case: ARG can be a container type, in which # case a should be a pointer to it. This must also be # special-cased in the backends. elif (isinstance(ARG, ContainerType) and typeOf(a) == Ptr(ARG)): pass else: args_repr = [typeOf(arg) for arg in args] raise TypeError("calling %r with wrong argument " "types: %r" % (self._T, args_repr)) callb = self._obj._callable if callb is None: raise RuntimeError("calling undefined function") > return callb(*args) ../rpython/rtyper/lltypesystem/lltype.py:1384: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.rtyper.lltypesystem.ll2ctypes.LL2CtypesCallable object at 0x000000014111cf70> argvalues = (13L, 1074033783L, <* <C object Array of Char {'nolength': True} at 0x13d364810>>) cfunc = <ctypes._FuncPtr object at 0x0000000142525868> def __call__(self, *argvalues): with rlock: if self.trampoline is None: # lazily build the corresponding ctypes function object cfunc = get_ctypes_callable(self.funcptr, self.calling_conv, self.natural_arity) self.trampoline = get_ctypes_trampoline(self.FUNCTYPE, cfunc, self.natural_arity) # perform the call > return self.trampoline(*argvalues) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ argvalues = (13L, 1074033783L, <* <C object Array of Char {'nolength': True} at 0x13d364810>>) cargs = [13L, 1074033783L], i = 2 cvalue = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142525730> def invoke_via_ctypes(*argvalues): global _callback_exc_info cargs = [] for i in range(len(argvalues)): if i not in void_arguments: cvalue = lltype2ctypes(argvalues[i]) if i in container_arguments: cvalue = cvalue.contents if natural_arity > 0 and i >= natural_arity: > cvalue = cfunc.extraargs[i - natural_arity](cvalue) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1370: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142525b08> value = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142525730> def __init__(self, value=None): if not hasattr(self, '_buffer'): self._buffer = ffiarray(1, autofree=True) if value is not None: > self.contents = value ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142525b08> value = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x0000000142525730> def setcontents(self, value): if not isinstance(value, self._type_): raise TypeError("expected %s instead of %s" % ( > self._type_.__name__, type(value).__name__)) E TypeError: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0 ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:106: TypeError ______________ AppTestFcntl.test_ioctl_signed_unsigned_code_param ______________ self = <CallInfo when='call' exception: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0> func = <function <lambda> at 0x0000000140f5c548>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_para...l__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_param'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001508fa0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_para...l__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_param'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000120cbb560>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_para...l__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_param'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00000001317389d0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122ccc6a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122ccc6a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000131738890> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122ccc660> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000122ccc660> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_ioctl_signed_unsigned_code_param'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_ioctl_signed_unsigned_code_param'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_ioctl_signed_unsigned_code_param'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_ioctl_signed_unsigned_code_param'> space = StdObjSpace target = <function test_ioctl_signed_unsigned_code_param at 0x0000000140f5c980> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) w_func = <Function test_ioctl_signed_unsigned_code_param> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_ioctl_signed_unsigned_code_param> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_ioctl_signed_unsigned_code_param> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000131230138>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_ioctl_signed_unsigned_code_param, file "[/Users/matti/build-...arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 name = 'test_ioctl_signed_unsigned_code_param' qualname = 'test_ioctl_signed_unsigned_code_param' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 e = TypeError("expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0",) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 pycode = <code object test_ioctl_signed_unsigned_code_param, file "[/Users/matti/build-...arm64/own-macos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> next_instr = 82 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03d\x01d\x00l\x03}\x04d\x01d\x00l\x04}\x05|\x03\xa0\x05\xa1...x07\xa1\x01\x01\x00d\x00S\x00#\x00|\x02\xa0\n|\x06\xa1\x01\x01\x00|\x02\xa0\n|\x07\xa1\x01\x01\x00w\x00&\x03Y\x00w\x01' next_instr = 82 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 co_code = 'd\x01d\x00l\x00}\x01d\x01d\x00l\x01}\x02d\x01d\x00l\x02}\x03d\x01d\x00l\x03}\x04d\x01d\x00l\x04}\x05|\x03\xa0\x05\xa1...x07\xa1\x01\x01\x00d\x00S\x00#\x00|\x02\xa0\n|\x06\xa1\x01\x01\x00|\x02\xa0\n|\x07\xa1\x01\x01\x00w\x00&\x03Y\x00w\x01' next_instr = 142 ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131047b40> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 oparg = 3, ignored = (142,), n_args = 3, w_self = None, n = 3 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <BuiltinFunction ioctl>, nargs = 3 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 dropvalues = 5, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction ioctl>, nargs = 3 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_ioctl_si...acos-arm64/build/pypy/module/fcntl/test/test_fcntl.py:269]", line 1> at line 20 dropvalues = 5, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, natural_arity - nargs, dropvalues) elif fast_natural_arity == Code.PASSTHROUGHARGS1 and nargs >= 1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) w_obj = frame.peekvalue(nargs-1) args = frame.make_arguments(nargs-1, w_function=self) frame.dropvalues(dropvalues) return code.funcrun_obj(self, w_obj, args) args = frame.make_arguments(nargs, methodcall=methodcall, w_function=self) frame.dropvalues(dropvalues) > return self.call_args(args) interpreter/function.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction ioctl> args = Arguments([W_IntObject(14), W_IntObject(2148037735), W_BytesObject('P\x00\x19\x00\x00\x00\x00\x00')]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> func = <BuiltinFunction ioctl> args = Arguments([W_IntObject(14), W_IntObject(2148037735), W_BytesObject('P\x00\x19\x00\x00\x00\x00\x00')]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> func = <BuiltinFunction ioctl>, w_obj = None args = Arguments([W_IntObject(14), W_IntObject(2148037735), W_BytesObject('P\x00\x19\x00\x00\x00\x00\x00')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> space = StdObjSpace e = TypeError("expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0",) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode4 object at 0x00000001413bafe0> func = <BuiltinFunction ioctl>, w_obj = None args = Arguments([W_IntObject(14), W_IntObject(2148037735), W_BytesObject('P\x00\x19\x00\x00\x00\x00\x00')]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_W_Root_W_Root_W_Root_int object at 0x00000001413bb130> space = StdObjSpace scope_w = [W_IntObject(14), W_IntObject(2148037735), W_BytesObject('P\x00\x19\x00\x00\x00\x00\x00'), W_IntObject(-1)] def _run(self, space, scope_w): > return self.behavior(space, scope_w[0], scope_w[1], scope_w[2], space.gateway_int_w(scope_w[3])) <2842-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_fd = W_IntObject(14), w_request = W_IntObject(2148037735) w_arg = W_BytesObject('P\x00\x19\x00\x00\x00\x00\x00'), mutate_flag = -1 @unwrap_spec(mutate_flag=int, w_arg=WrappedDefault(0)) def ioctl(space, w_fd, w_request, w_arg, mutate_flag=-1): """ioctl(fd, op[, arg[, mutate_flag]]) Perform the operation op on file descriptor fd. The values used for op are operating system dependent, and are available as constants in the fcntl or termios library modules, using the same names as used in the relevant C header files. The argument arg is optional, and defaults to 0; it may be an int or a buffer containing character data (most likely a string or an array). If the argument is a mutable buffer (such as an array) and if the mutate_flag argument (which is only allowed in this case) is true then the buffer is (in effect) passed to the operating system and changes made by the OS will be reflected in the contents of the buffer after the call has returned. The return value is the integer returned by the ioctl system call. If the argument is a mutable buffer and the mutable_flag argument is not passed or is false, the behavior is as if a string had been passed. This behavior will change in future releases of Python. If the argument is an immutable buffer (most likely a string) then a copy of the buffer is passed to the operating system and the return value is a string of the same length containing whatever the operating system put in the buffer. The length of the arg buffer in this case is not allowed to exceed 1024 bytes. If the arg given is an integer or if none is specified, the result value is an integer corresponding to the return value of the ioctl call in the C code.""" # removed the largish docstring because it is not in sync with the # documentation any more (even in CPython's docstring is out of date) # XXX this function's interface is a mess. # We try to emulate the behavior of Python >= 2.5 w.r.t. mutate_flag IOCTL_BUFSZ = 1024 # like cpython fd = space.c_filedescriptor_w(w_fd) op = space.bigint_w(w_request).uintmask() # CPython uses PyLong_AsUnsignedLongMask op = rffi.cast(rffi.UINT, op) try: view, rwbuffer = space.acquire_writebuf(w_arg) except OperationError as e: if not (e.match(space, space.w_TypeError) or e.match(space, space.w_BufferError)): raise else: with view: arg = rwbuffer.as_str() ll_arg = rffi.str2charp(arg) to_alloc = max(IOCTL_BUFSZ, len(arg)) try: with rffi.scoped_alloc_buffer(to_alloc) as buf: rffi.c_memcpy(rffi.cast(rffi.VOIDP, buf.raw), rffi.cast(rffi.CONST_VOIDP, ll_arg), len(arg)) rv = ioctl_str(fd, op, buf.raw) if rv < 0: _raise_error_always(space, "ioctl") arg = rffi.charpsize2str(buf.raw, len(arg)) if mutate_flag != 0: rwbuffer.setslice(0, arg) return space.newint(rv) return space.newbytes(arg) finally: lltype.free(ll_arg, flavor='raw') if mutate_flag != -1: raise oefmt(space.w_TypeError, "ioctl requires a file or file descriptor, an integer and " "optionally an integer or buffer argument") try: arg = space.getarg_w('s#', w_arg) except OperationError as e: if not e.match(space, space.w_TypeError): raise else: ll_arg = rffi.str2charp(arg) to_alloc = max(IOCTL_BUFSZ, len(arg)) try: with rffi.scoped_alloc_buffer(to_alloc) as buf: rffi.c_memcpy(rffi.cast(rffi.VOIDP, buf.raw), rffi.cast(rffi.CONST_VOIDP, ll_arg), len(arg)) > rv = ioctl_str(fd, op, buf.raw) module/fcntl/interp_fcntl.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (14, 2148037735L, <* <C object Array of Char {'nolength': True} at 0x14d37de10>>) real_args = (14L, 2148037735L, <* <C object Array of Char {'nolength': True} at 0x14d37de10>>) to_free = (), i = 2 def wrapper(*args): assert len(args) == nb_args real_args = () # XXX 'to_free' leaks if an allocation fails with MemoryError # and was not the first in this function to_free = () for i, TARGET in unrolling_arg_tps: arg = args[i] if TARGET == CCHARP or TARGET is VOIDP: if arg is None: from rpython.rtyper.annlowlevel import llstr arg = lltype.nullptr(CCHARP.TO) # None => (char*)NULL to_free = to_free + (arg, llstr(None), '\x04') elif isinstance(arg, str): tup = get_nonmovingbuffer_ll_final_null(arg) to_free = to_free + tup arg = tup[0] elif isinstance(arg, unicode): _oops() elif TARGET == CWCHARP: if arg is None: arg = lltype.nullptr(CWCHARP.TO) # None => (wchar_t*)NULL to_free = to_free + (arg,) elif isinstance(arg, unicode): arg = unicode2wcharp(arg) to_free = to_free + (arg,) elif _isfunctype(TARGET) and not _isllptr(arg): # XXX pass additional arguments use_gil = invoke_around_handlers arg = llhelper(TARGET, _make_wrapper_for(TARGET, arg, callbackholder, use_gil)) else: SOURCE = lltype.typeOf(arg) if SOURCE != TARGET: if TARGET is lltype.Float: arg = float(arg) elif ((isinstance(SOURCE, lltype.Number) or SOURCE is lltype.Bool) and (isinstance(TARGET, lltype.Number) or TARGET is lltype.Bool)): arg = cast(TARGET, arg) real_args = real_args + (arg,) > res = call_external_function(*real_args) ../rpython/rtyper/lltypesystem/rffi.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a0 = 14L, a1 = 2148037735L a2 = <* <C object Array of Char {'nolength': True} at 0x14d37de10>> def call_external_function(a0, a1, a2): rgil.release() # NB. it is essential that no exception checking occurs here! if 1: from rpython.rlib import rposix rposix._errno_before(1) if we_are_translated(): res = funcptr(a0, a1, a2) else: try: # only when non-translated > res = funcptr(a0, a1, a2) <2206-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <* fn ioctl> args = (14L, 2148037735L, <* <C object Array of Char {'nolength': True} at 0x14d37de10>>) rffi = <module 'rpython.rtyper.lltypesystem.rffi' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.pyc'> i = 2, a = <* <C object Array of Char {'nolength': True} at 0x14d37de10>> def __call__(self, *args): from rpython.rtyper.lltypesystem import rffi if isinstance(self._T, FuncType): if len(args) != len(self._T.ARGS): raise TypeError("calling %r with wrong argument number: %r" % (self._T, args)) for i, a, ARG in zip(range(len(self._T.ARGS)), args, self._T.ARGS): if typeOf(a) != ARG: # ARG could be Void if ARG == Void: try: value = getattr(self._obj, '_void' + str(i)) except AttributeError: pass else: assert a == value # None is acceptable for any pointer elif isinstance(ARG, Ptr) and a is None: pass # Any pointer is convertible to void* elif ARG is rffi.VOIDP and isinstance(typeOf(a), Ptr): pass # special case: ARG can be a container type, in which # case a should be a pointer to it. This must also be # special-cased in the backends. elif (isinstance(ARG, ContainerType) and typeOf(a) == Ptr(ARG)): pass else: args_repr = [typeOf(arg) for arg in args] raise TypeError("calling %r with wrong argument " "types: %r" % (self._T, args_repr)) callb = self._obj._callable if callb is None: raise RuntimeError("calling undefined function") > return callb(*args) ../rpython/rtyper/lltypesystem/lltype.py:1384: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.rtyper.lltypesystem.ll2ctypes.LL2CtypesCallable object at 0x000000014111cf70> argvalues = (14L, 2148037735L, <* <C object Array of Char {'nolength': True} at 0x14d37de10>>) def __call__(self, *argvalues): with rlock: if self.trampoline is None: # lazily build the corresponding ctypes function object cfunc = get_ctypes_callable(self.funcptr, self.calling_conv, self.natural_arity) self.trampoline = get_ctypes_trampoline(self.FUNCTYPE, cfunc, self.natural_arity) # perform the call > return self.trampoline(*argvalues) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ argvalues = (14L, 2148037735L, <* <C object Array of Char {'nolength': True} at 0x14d37de10>>) cargs = [14L, 2148037735L], i = 2 cvalue = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x00000001543092e0> def invoke_via_ctypes(*argvalues): global _callback_exc_info cargs = [] for i in range(len(argvalues)): if i not in void_arguments: cvalue = lltype2ctypes(argvalues[i]) if i in container_arguments: cvalue = cvalue.contents if natural_arity > 0 and i >= natural_arity: > cvalue = cfunc.extraargs[i - natural_arity](cvalue) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1370: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x00000001541c2cf8> value = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x00000001543092e0> def __init__(self, value=None): if not hasattr(self, '_buffer'): self._buffer = ffiarray(1, autofree=True) if value is not None: > self.contents = value ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x00000001541c2cf8> value = <_ctypes.pointer.LP_ctypes_Array of Char {'nolength': True} *0 object at 0x00000001543092e0> def setcontents(self, value): if not isinstance(value, self._type_): raise TypeError("expected %s instead of %s" % ( > self._type_.__name__, type(value).__name__)) E TypeError: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0 ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py:106: TypeError =========================== short test summary info ============================ FAIL module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_fcntl FAIL module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_lockf FAIL module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_ioctl FAIL module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_ioctl_signed_unsigned_code_param ================ 4 failed, 1 passed, 3 skipped in 23.14 seconds ================ ++ 04:21:08 starting module/imp/test [145 started in total] __ module/cpyext/test/test_typeobject.py [143 done in total, somefailed=False] ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 96 items module/cpyext/test/test_typeobject.py ...................s.......................................................s.....s.............. ==================== 93 passed, 3 skipped in 316.53 seconds ==================== ++ 04:21:25 starting module/itertools/test [146 started in total] __ module/gc/test [144 done in total, somefailed=True] ________________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 30 items module/gc/test/test_app_referents.py .... module/gc/test/test_gc.py .....x... module/gc/test/test_hook.py ........ module/gc/test/test_referents.py ...F.... module/gc/test/test_ztranslation.py . =================================== FAILURES =================================== __________________ AppTestReferents.test_get_rpy_memory_usage __________________ self = <CallInfo when='call' exception: type object 'W_IntObject' has no attribute '__basicsize__'> func = <function <lambda> at 0x0000000109462ae8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_rpy_memory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_rpy_memory_usage'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001288320c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000128fb2de0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_rpy_memory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_rpy_memory_usage'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x0000000128fb2de0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_rpy_memory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_rpy_memory_usage'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_rpy_memory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000129929420> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000011a340ce0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000011a340ce0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_rpy_memory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000129929358> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000011a340ca0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x000000011a340ca0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...mory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_rpy_memory_usage'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_get_rpy_memory_usage'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_get_rpy_memory_usage'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_get_rpy_memory_usage'>, space = StdObjSpace target = <function test_get_rpy_memory_usage at 0x0000000109462b60> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000012b73a368>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000012b73a368>,) w_func = <Function test_get_rpy_memory_usage> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000012b73a368> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_get_rpy_memory_usage> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000012b73a368>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_get_rpy_memory_usage> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x000000012b73a368>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_get_rpy_memory_usage, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 name = 'test_get_rpy_memory_usage', qualname = 'test_get_rpy_memory_usage' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 e = AttributeError("type object 'W_IntObject' has no attribute '__basicsize__'",) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 pycode = <code object test_get_rpy_memory_usage, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012a9dba98> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 co_code = 'd\x01d\x00l\x00}\x01|\x01\xa0\x01d\x02\xa1\x01}\x02t\x02|\x02\x83\x01\x01\x00d\x03|\x02\x04\x00\x03\x00k\x01o\x16d\x04k\x01n\x02\x02\x00\x01\x00s\x1bJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012a9dba98> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 co_code = 'd\x01d\x00l\x00}\x01|\x01\xa0\x01d\x02\xa1\x01}\x02t\x02|\x02\x83\x01\x01\x00d\x03|\x02\x04\x00\x03\x00k\x01o\x16d\x04k\x01n\x02\x02\x00\x01\x00s\x1bJ\x00\x82\x01d\x00S\x00' next_instr = 16L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x000000012a9dba98> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: self.CALL_FUNCTION_EX(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 oparg = 1, ignored = (16L,), n_args = 1, w_self = None, n = 1 @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg w_self = f.peekvalue_maybe_none(n_args) n = n_args + (w_self is not None) w_callable = f.peekvalue(n_args + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) objspace/std/callmethod.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <BuiltinFunction get_rpy_memory_usage>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, _Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs, w_function=w_func) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, _Method): # reuse callable stack place for w_inst frame.settopvalue(w_func.w_instance, nargs) nargs += 1 methodcall = True w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction get_rpy_memory_usage>, nargs = 1 frame = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_rpy_...macos-arm64/build/pypy/module/gc/test/test_referents.py:79]", line 1> at line 3 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) > return code.fastcall_1(self.space, self, f_0) interpreter/function.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x00000001409c9280> space = StdObjSpace, w_func = <BuiltinFunction get_rpy_memory_usage> w1 = W_IntObject(12345) @signature(sigtypes.self(), sigtypes.any(), w_root_or_none, w_root_or_none, returns=w_root_or_none) def fastcall_1(self, space, w_func, w1): try: w_result = self.fastfunc_1(space, w1) except DescrMismatch: return self._type_unwrap_mismatch(space, Arguments(space, [w1])) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:982: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x00000001409c9280> space = StdObjSpace e = AttributeError("type object 'W_IntObject' has no attribute '__basicsize__'",) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x00000001409c9280> space = StdObjSpace, w_func = <BuiltinFunction get_rpy_memory_usage> w1 = W_IntObject(12345) @signature(sigtypes.self(), sigtypes.any(), w_root_or_none, w_root_or_none, returns=w_root_or_none) def fastcall_1(self, space, w_func, w1): try: > w_result = self.fastfunc_1(space, w1) interpreter/gateway.py:977: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_obj = W_IntObject(12345) def get_rpy_memory_usage(space, w_obj): """Return the memory usage of just the given object or GcRef. This does not include the internal structures of the object.""" gcref = unwrap(space, w_obj) > size = rgc.get_rpy_memory_usage(gcref) module/gc/referents.py:101: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ gcref = _GcRef(W_IntObject(12345)) @not_rpython def get_rpy_memory_usage(gcref): # approximate implementation using CPython's type info Class = type(gcref._x) > size = Class.__basicsize__ E AttributeError: type object 'W_IntObject' has no attribute '__basicsize__' ../rpython/rlib/rgc.py:851: AttributeError =========================== short test summary info ============================ FAIL module/gc/test/test_referents.py::AppTestReferents::()::test_get_rpy_memory_usage =============== 1 failed, 28 passed, 1 xfailed in 28.24 seconds ================ ++ 04:21:26 starting module/marshal/test [147 started in total] __ module/marshal/test [145 done in total, somefailed=False] __________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 51 items module/marshal/test/apptest_marshal.py ............................................... module/marshal/test/test_marshal.py . module/marshal/test/test_marshalimpl.py ... ========================== 51 passed in 31.81 seconds ========================== ++ 04:21:58 starting module/math/test [148 started in total] __ module/itertools/test [146 done in total, somefailed=False] ________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 92 items module/itertools/test/apptest_itertools.py .... module/itertools/test/test_itertools.py ....................................................................................... module/itertools/test/test_ztranslation.py . ========================== 92 passed in 58.49 seconds ========================== ++ 04:22:31 starting module/micronumpy/test [149 started in total] __ module/micronumpy/test [147 done in total, somefailed=False] _______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 04:22:32 starting module/mmap/test [150 started in total] __ module/mmap/test [148 done in total, somefailed=False] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 46 items module/mmap/test/test_mmap.py .....................s............ss....s..... ==================== 42 passed, 4 skipped in 19.32 seconds ===================== ++ 04:22:52 starting module/operator/test [151 started in total] __ module/math/test [149 done in total, somefailed=False] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 209 items module/math/test/apptest_math.py ...........s module/math/test/test_direct.py ...................................................................................................................................................................... module/math/test/test_math.py ............s.................. ==================== 207 passed, 2 skipped in 60.79 seconds ==================== ++ 04:23:04 starting module/posix/test [152 started in total] __ module/imp/test [150 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 123 items module/imp/test/test_app.py ....................... module/imp/test/test_import.py ..........................s....................................s..........s.......s................. =================== 119 passed, 4 skipped in 117.98 seconds ==================== ++ 04:23:12 starting module/pwd/test [153 started in total] __ module/operator/test [151 done in total, somefailed=False] _________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 28 items module/operator/test/test_operator.py ........................ module/operator/test/test_tscmp.py .... ========================== 28 passed in 25.20 seconds ========================== ++ 04:23:20 starting module/pyexpat/test [154 started in total] __ module/pwd/test [152 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items module/pwd/test/test_pwd.py .... module/pwd/test/test_ztranslation.py . ========================== 5 passed in 26.26 seconds =========================== ++ 04:23:40 starting module/pypyjit/test [155 started in total] __ module/pyexpat/test [153 done in total, somefailed=False] __________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items module/pyexpat/test/apptest_pyexpat.py ... module/pyexpat/test/test_build.py . module/pyexpat/test/test_parser.py ...s............. ==================== 20 passed, 1 skipped in 26.11 seconds ===================== ++ 04:23:48 starting module/select/test [156 started in total] __ module/posix/test [154 done in total, somefailed=True] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 163 items / 2 skipped module/posix/test/apptest_posix.py ...F module/posix/test/test_interp_posix.py .... module/posix/test/test_posix2.py ................................s............................s...............ss......s....ss..........s..sF..F.............ssss........ module/posix/test/test_scandir.py .................... =================================== FAILURES =================================== __________________________ test_all_pathconf_defined ___________________________ def test_all_pathconf_defined(): import sys import posix try: fd = sys.stdin.fileno() except ValueError: # translated test run with a fake sys.stdin with no fileno fd = 1 for name in posix.pathconf_names: > posix.fpathconf(fd, name) # does not crash E (application-level) OSError: [Errno 22] Invalid argument module/posix/test/apptest_posix.py:66: OSError ______________________ AppTestPosix.test_darwin_constants ______________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000111afa2f8> def test_darwin_constants(self): darwin_constants =['_COPYFILE_DATA'] for name in darwin_constants: > getattr(self.posix, name) E (application-level) AttributeError: module 'posix' has no attribute '_COPYFILE_DATA' [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/posix/test/test_posix2.py:1634]:4: AttributeError _____________________ AppTestPosix.test_get_terminal_size ______________________ self = <CallInfo when='call' exception: unsupported operand type for long(): 'LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }'> func = <function <lambda> at 0x0000000144fa4818>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_terminal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_terminal_size'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00000001200ea0c8> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001482929a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_terminal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_terminal_size'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0x00000001482929a0>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_terminal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_get_terminal_size'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_terminal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000132b51c90> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...minal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000145180620> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x0000000145180620> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...minal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_terminal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x0000000132b51bc8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...minal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001451805e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00000001451805e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 1 meths, kwargs={'i...minal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': <AppTestMethod 'test_get_terminal_size'>, '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_get_terminal_size'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_get_terminal_size'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, **appexec_definitions) filename = self._getdynfilename(target) func = app2interp_temp(src, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_get_terminal_size'>, space = StdObjSpace target = <function test_get_terminal_size at 0x0000000144fa4890> args = (StdObjSpace, <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000111afa2f8>) def execute_appex(self, space, target, *args): self.space = space space.getexecutioncontext().set_sys_exc_info(None) try: > target(*args) tool/pytest/apptest.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000111afa2f8>,) w_func = <Function test_get_terminal_size> args = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000111afa2f8> def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = <Function test_get_terminal_size> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000111afa2f8>,) nargs = 1, Function = <class 'pypy.interpreter.function.Function'> _Method = <class 'pypy.interpreter.function._Method'> def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, _Method if isinstance(w_func, _Method): if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_func.w_instance, *args_w) if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Function test_get_terminal_size> args_w = (<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000111afa2f8>,) gateway = <module 'pypy.interpreter.gateway' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.pyc'> PyCode = <class 'pypy.interpreter.pycode.PyCode'> code = <code object test_get_terminal_size, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run(self.name, self.qualname) interpreter/function.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 name = 'test_get_terminal_size', qualname = 'test_get_terminal_size' def run(self, name=None, qualname=None): """Start this frame's execution.""" if self._is_generator_or_coroutine(): return self.initialize_as_generator(name, qualname) else: > return self.execute_frame() interpreter/pyframe.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 e = TypeError("unsupported operand type for long(): 'LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }'",) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 w_arg_or_err = None def execute_frame(self, w_arg_or_err=None): """Execute this frame. Main entry point to the interpreter. 'w_arg_or_err' is non-None iff we are starting or resuming a generator or coroutine frame; in that case, w_arg_or_err is the input argument -or- an SApplicationException instance. """ from pypy.interpreter import pyopcode as pyopcode # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE/YIELD_FROM instruction. try: try: if w_arg_or_err is None: assert self.last_instr == -1 next_instr = r_uint(0) else: next_instr = self.resume_execute_frame(w_arg_or_err) except pyopcode.Yield: w_exitvalue = self.popvalue() else: w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 pycode = <code object test_get_terminal_size, file "[/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131d0ae58> def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: assert next_instr & 1 == 0 > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 co_code = '|\x00j\x00}\x01d\x01d\x02d\x03d\x04g\x04D\x00]&}\x02\t\x00|\x01j\x01|\x02\x8e\x00\\\x02}\x03}\x04n\x0e#\x00t\x02t\x03...2s)J\x00\x82\x01t\x04|\x04t\x05\x83\x02s\tJ\x00\x82\x01d\x00S\x00\x01t\x04|\x04t\x05\x83\x02s\tJ\x00\x82\x01d\x00S\x00' next_instr = 0L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131d0ae58> def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 co_code = '|\x00j\x00}\x01d\x01d\x02d\x03d\x04g\x04D\x00]&}\x02\t\x00|\x01j\x01|\x02\x8e\x00\\\x02}\x03}\x04n\x0e#\x00t\x02t\x03...2s)J\x00\x82\x01t\x04|\x04t\x05\x83\x02s\tJ\x00\x82\x01d\x00S\x00\x01t\x04|\x04t\x05\x83\x02s\tJ\x00\x82\x01d\x00S\x00' next_instr = 32L ec = <pypy.interpreter.executioncontext.ExecutionContext object at 0x0000000131d0ae58> @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: assert next_instr & 1 == 0 self.last_instr = intmask(next_instr) if jit.we_are_jitted(): _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: # Only reload next_instr from last_instr when something that # can modify it actually ran (trace function or action # dispatcher). In the common case (no trace, positive ticker) # next_instr is unchanged and the round-trip is skipped. _d = self.debugdata if ec.space.reverse_debugging or ( _d is not None and _d.w_f_trace is not None) or ( not we_are_translated() and 'bytecode_only_trace' in ec.__dict__): ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) actionflag = ec.space.actionflag if actionflag.decrement_ticker(TICK_COUNTER_STEP) < 0: actionflag.action_dispatcher(ec, self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) oparg = ord(co_code[next_instr + 1]) next_instr += 2 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into computed gotos. while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) arg = ord(co_code[next_instr + 1]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption next_instr += 2 oparg = (oparg * 256) | arg if opcode == opcodedesc.RETURN_VALUE.index: self.frame_finished_execution = True # for generators raise Return elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, next_instr, ec) elif opcode == opcodedesc.RERAISE.index: return self.RERAISE(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: return self.JUMP_IF_FALSE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: return self.JUMP_IF_TRUE_OR_POP(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: return self.POP_JUMP_IF_FALSE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: return self.POP_JUMP_IF_TRUE(oparg, next_instr, ec) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NONE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_FORWARD_IF_NOT_NONE.index: next_instr = self.POP_JUMP_FORWARD_IF_NOT_NONE(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_EXC_MATCH.index: next_instr = self.JUMP_IF_NOT_EXC_MATCH(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_MATRIX_MULTIPLY.index: self.BINARY_MATRIX_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CONST_KEY_MAP.index: self.BUILD_CONST_KEY_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_EX.index: > self.CALL_FUNCTION_EX(oparg, next_instr) interpreter/pyopcode.py:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.objspace.std.frame.StdObjSpaceFrame executing <code object test_get_term...cos-arm64/build/pypy/module/posix/test/test_posix2.py:1734]", line 1> at line 5 has_kwarg = 0, next_instr = 32L def CALL_FUNCTION_EX(self, has_kwarg, next_instr): w_kwargs = None if has_kwarg: w_kwargs = self.popvalue() w_args = self.popvalue() w_function = self.popvalue() args = self.argument_factory( [], None, None, w_star=w_args, w_starstar=w_kwargs, w_function=w_function) if self.get_is_being_profiled() and function.is_builtin_code(w_function): w_result = self.space.call_args_and_c_profile(self, w_function, args) else: > w_result = self.space.call_args(w_function, args) interpreter/pyopcode.py:1441: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_obj = <BuiltinFunction get_terminal_size> args = Arguments([]) def call_args(space, w_obj, args): # two special cases for performance if isinstance(w_obj, Function): > return w_obj.call_args(args) objspace/descroperation.py:192: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <BuiltinFunction get_terminal_size>, args = Arguments([]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x000000014ab8f088> func = <BuiltinFunction get_terminal_size>, args = Arguments([]) def funcrun(self, func, args): > return BuiltinCode.funcrun_obj(self, func, None, args) interpreter/gateway.py:869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x000000014ab8f088> func = <BuiltinFunction get_terminal_size>, w_obj = None, args = Arguments([]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: w_result = activation._run(space, scope_w) except DescrMismatch: if w_obj is not None: args = args.prepend(w_obj) return self._type_unwrap_mismatch(space, args) except Exception as e: > self.handle_exception(space, e) interpreter/gateway.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x000000014ab8f088> space = StdObjSpace e = TypeError("unsupported operand type for long(): 'LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }'",) def handle_exception(self, space, e): try: if not we_are_translated(): raise raise e except OperationError: raise except Exception as e: # general fall-back from pypy.interpreter import error > raise error.get_converted_unexpected_exception(space, e) interpreter/gateway.py:908: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinCode1 object at 0x000000014ab8f088> func = <BuiltinFunction get_terminal_size>, w_obj = None, args = Arguments([]) def funcrun_obj(self, func, w_obj, args): space = func.space activation = self.activation scope_w = args.parse_obj(w_obj, func.qualname, self.sig, func.defs_w, func.w_kw_defs, self.minargs) try: > w_result = activation._run(space, scope_w) interpreter/gateway.py:878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pypy.interpreter.gateway.BuiltinActivation_UwS_ObjSpace_W_Root object at 0x000000014ab8f168> space = StdObjSpace, scope_w = [None] def _run(self, space, scope_w): > return self.behavior(space, scope_w[0]) <363-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_fd = None def get_terminal_size(space, w_fd=None): try: > w_columns, w_lines = _get_terminal_size(space, w_fd) module/posix/interp_posix.py:2901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace, w_fd = None def _get_terminal_size(space, w_fd=None): if w_fd is None: fd = rfile.RFile(rfile.c_stdout(), close2=(None, None)).fileno() else: if not space.isinstance_w(w_fd, space.w_int): raise oefmt(space.w_TypeError, "an integer is required, got %T", w_fd) else: fd = space.c_int_w(w_fd) if _WIN32: if fd == 0: handle_id = rwin32.STD_INPUT_HANDLE elif fd == 1: handle_id = rwin32.STD_OUTPUT_HANDLE elif fd == 2: handle_id = rwin32.STD_ERROR_HANDLE else: raise oefmt(space.w_ValueError, "bad file descriptor") handle = rwin32.GetStdHandle(handle_id) if handle == rwin32.NULL_HANDLE: raise oefmt(space.w_OSError, "handle cannot be retrieved") elif handle == rwin32.INVALID_HANDLE_VALUE: raise rwin32.lastSavedWindowsError() with lltype.scoped_alloc(rwin32.CONSOLE_SCREEN_BUFFER_INFO) as buffer_info: success = rwin32.GetConsoleScreenBufferInfo(handle, buffer_info) if not success: raise rwin32.lastSavedWindowsError() w_columns = space.newint(r_int(buffer_info.c_srWindow.c_Right) - r_int(buffer_info.c_srWindow.c_Left) + 1) w_lines = space.newint(r_int(buffer_info.c_srWindow.c_Bottom) - r_int(buffer_info.c_srWindow.c_Top) + 1) else: with lltype.scoped_alloc(rposix.WINSIZE) as winsize: > failed = rposix.c_ioctl_voidp(fd, rposix.TIOCGWINSZ, winsize) module/posix/interp_posix.py:2891: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (1, 1074295912, <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }>) real_args = (1L, 1074295912L, <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }>) to_free = (), i = 2 def wrapper(*args): assert len(args) == nb_args real_args = () # XXX 'to_free' leaks if an allocation fails with MemoryError # and was not the first in this function to_free = () for i, TARGET in unrolling_arg_tps: arg = args[i] if TARGET == CCHARP or TARGET is VOIDP: if arg is None: from rpython.rtyper.annlowlevel import llstr arg = lltype.nullptr(CCHARP.TO) # None => (char*)NULL to_free = to_free + (arg, llstr(None), '\x04') elif isinstance(arg, str): tup = get_nonmovingbuffer_ll_final_null(arg) to_free = to_free + tup arg = tup[0] elif isinstance(arg, unicode): _oops() elif TARGET == CWCHARP: if arg is None: arg = lltype.nullptr(CWCHARP.TO) # None => (wchar_t*)NULL to_free = to_free + (arg,) elif isinstance(arg, unicode): arg = unicode2wcharp(arg) to_free = to_free + (arg,) elif _isfunctype(TARGET) and not _isllptr(arg): # XXX pass additional arguments use_gil = invoke_around_handlers arg = llhelper(TARGET, _make_wrapper_for(TARGET, arg, callbackholder, use_gil)) else: SOURCE = lltype.typeOf(arg) if SOURCE != TARGET: if TARGET is lltype.Float: arg = float(arg) elif ((isinstance(SOURCE, lltype.Number) or SOURCE is lltype.Bool) and (isinstance(TARGET, lltype.Number) or TARGET is lltype.Bool)): arg = cast(TARGET, arg) real_args = real_args + (arg,) > res = call_external_function(*real_args) ../rpython/rtyper/lltypesystem/rffi.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a0 = 1L, a1 = 1074295912L a2 = <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }> def call_external_function(a0, a1, a2): rgil.release() # NB. it is essential that no exception checking occurs here! if 1: from rpython.rlib import rposix rposix._errno_before(1) if we_are_translated(): res = funcptr(a0, a1, a2) else: try: # only when non-translated > res = funcptr(a0, a1, a2) <68-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <* fn ioctl> args = (1L, 1074295912L, <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }>) rffi = <module 'rpython.rtyper.lltypesystem.rffi' from '/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.pyc'> i = 2 a = <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }> def __call__(self, *args): from rpython.rtyper.lltypesystem import rffi if isinstance(self._T, FuncType): if len(args) != len(self._T.ARGS): raise TypeError("calling %r with wrong argument number: %r" % (self._T, args)) for i, a, ARG in zip(range(len(self._T.ARGS)), args, self._T.ARGS): if typeOf(a) != ARG: # ARG could be Void if ARG == Void: try: value = getattr(self._obj, '_void' + str(i)) except AttributeError: pass else: assert a == value # None is acceptable for any pointer elif isinstance(ARG, Ptr) and a is None: pass # Any pointer is convertible to void* elif ARG is rffi.VOIDP and isinstance(typeOf(a), Ptr): pass # special case: ARG can be a container type, in which # case a should be a pointer to it. This must also be # special-cased in the backends. elif (isinstance(ARG, ContainerType) and typeOf(a) == Ptr(ARG)): pass else: args_repr = [typeOf(arg) for arg in args] raise TypeError("calling %r with wrong argument " "types: %r" % (self._T, args_repr)) callb = self._obj._callable if callb is None: raise RuntimeError("calling undefined function") > return callb(*args) ../rpython/rtyper/lltypesystem/lltype.py:1384: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.rtyper.lltypesystem.ll2ctypes.LL2CtypesCallable object at 0x000000014036f6e0> argvalues = (1L, 1074295912L, <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }>) cfunc = <ctypes._FuncPtr object at 0x0000000112a21628> def __call__(self, *argvalues): with rlock: if self.trampoline is None: # lazily build the corresponding ctypes function object cfunc = get_ctypes_callable(self.funcptr, self.calling_conv, self.natural_arity) self.trampoline = get_ctypes_trampoline(self.FUNCTYPE, cfunc, self.natural_arity) # perform the call > return self.trampoline(*argvalues) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ argvalues = (1L, 1074295912L, <* DEAD Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }>) cargs = [1L, 1074295912L], i = 2 cvalue = <_ctypes.pointer.LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel } object at 0x0000000112a214d8> def invoke_via_ctypes(*argvalues): global _callback_exc_info cargs = [] for i in range(len(argvalues)): if i not in void_arguments: cvalue = lltype2ctypes(argvalues[i]) if i in container_arguments: cvalue = cvalue.contents if natural_arity > 0 and i >= natural_arity: > cvalue = cfunc.extraargs[i - natural_arity](cvalue) ../rpython/rtyper/lltypesystem/ll2ctypes.py:1370: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = c_void_p(None) value = <_ctypes.pointer.LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel } object at 0x0000000112a214d8> def __init__(self, value=DEFAULT_VALUE): if not hasattr(self, '_buffer'): self._buffer = self._ffiarray(1, autofree=True) if value is not DEFAULT_VALUE: > self.value = value ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/primitive.py:424: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = c_void_p(None) value = <_ctypes.pointer.LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel } object at 0x0000000112a214d8> def _setvalue(self, value): if isinstance(value, str): array = _rawffi.Array('c')(len(value)+1, value) self._objects = CArgObject(value, array) value = array.buffer elif value is None: value = 0 > self._buffer[0] = value E TypeError: unsupported operand type for long(): 'LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }' ../../../../oss/pypy-arm64-buildbot/lib_pypy/_ctypes/primitive.py:253: TypeError =========================== short test summary info ============================ FAIL module/posix/test/apptest_posix.py::test_all_pathconf_defined FAIL module/posix/test/test_posix2.py::AppTestPosix::()::test_darwin_constants FAIL module/posix/test/test_posix2.py::AppTestPosix::()::test_get_terminal_size ============== 3 failed, 147 passed, 15 skipped in 67.37 seconds =============== ++ 04:24:17 starting module/signal/test [157 started in total] __ module/pypyjit/test [155 done in total, somefailed=False] __________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 29 items module/pypyjit/test/test_jit_hook.py ........s module/pypyjit/test/test_jit_not_in_trace.py .. module/pypyjit/test/test_jit_setup.py .... module/pypyjit/test/test_policy.py ............ module/pypyjit/test/test_pyframe.py . module/pypyjit/test/test_ztranslation.py . ==================== 28 passed, 1 skipped in 36.21 seconds ===================== ++ 04:24:18 starting module/struct/test [158 started in total] __ module/select/test [156 done in total, somefailed=True] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 46 items module/select/test/test_epoll.py ssssssssss module/select/test/test_kqueue.py .FFF.F module/select/test/test_select.py ............F............... module/select/test/test_select_signal.py . module/select/test/test_ztranslation.py . =================================== FAILURES =================================== _______________________ AppTestKqueue.test_create_event ________________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000128d76720> def test_create_event(self): import select import sys from operator import lt, le, gt, ge fd = sys.stderr.fileno() ev = select.kevent(fd) other = select.kevent(1000) assert ev.ident == fd assert ev.filter == select.KQ_FILTER_READ assert ev.flags == select.KQ_EV_ADD assert ev.fflags == 0 assert ev.data == 0 assert ev.udata == 0 assert ev == ev assert ev != other assert ev < other assert other >= ev > assert cmp(ev, None) != 0 E (application-level) NameError: name 'cmp' is not defined [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/select/test/test_kqueue.py:24]:19: NameError ________________________ AppTestKqueue.test_queue_event ________________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000128d76720> def test_queue_event(self): import errno import select > import socket [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/select/test/test_kqueue.py:90]:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ # Wrapper module for _socket, providing some additional facilities # implemented in Python. """\ This module provides socket operations and some related functions. On Unix, it supports IP (Internet Protocol) and Unix domain sockets. On other systems, it only supports IP. Functions specific for a socket are available as methods of the socket object. Functions: socket() -- create a new socket object socketpair() -- create a pair of new socket objects [*] fromfd() -- create a socket object from an open file descriptor [*] send_fds() -- Send file descriptor to the socket. recv_fds() -- Receive file descriptors from the socket. fromshare() -- create a socket object from data received from socket.share() [*] gethostname() -- return the current hostname gethostbyname() -- map a hostname to its IP number gethostbyaddr() -- map an IP number or hostname to DNS info getservbyname() -- map a service name and a protocol name to a port number getprotobyname() -- map a protocol name (e.g. 'tcp') to a number ntohs(), ntohl() -- convert 16, 32 bit int from network to host byte order htons(), htonl() -- convert 16, 32 bit int from host to network byte order inet_aton() -- convert IP addr string (123.45.67.89) to 32-bit packed format inet_ntoa() -- convert 32-bit packed format IP to string (123.45.67.89) socket.getdefaulttimeout() -- get the default timeout value socket.setdefaulttimeout() -- set the default timeout value create_connection() -- connects to an address, with an optional timeout and optional source address. [*] not available on all platforms! Special objects: SocketType -- type object for socket objects error -- exception raised for I/O errors has_ipv6 -- boolean value indicating if IPv6 is supported IntEnum constants: AF_INET, AF_UNIX -- socket domains (first argument to socket() call) SOCK_STREAM, SOCK_DGRAM, SOCK_RAW -- socket types (second argument) Integer constants: Many other constants may be defined; these may be used in calls to the setsockopt() and getsockopt() methods. """ import _socket from _socket import * import os, sys, io, selectors from enum import IntEnum, IntFlag try: import errno except ImportError: errno = None EBADF = getattr(errno, 'EBADF', 9) EAGAIN = getattr(errno, 'EAGAIN', 11) EWOULDBLOCK = getattr(errno, 'EWOULDBLOCK', 11) __all__ = ["fromfd", "getfqdn", "create_connection", "create_server", "has_dualstack_ipv6", "AddressFamily", "SocketKind"] __all__.extend(os._get_exports_list(_socket)) # Set up the socket.AF_* socket.SOCK_* constants as members of IntEnums for # nicer string representations. # Note that _socket only knows about the integer values. The public interface # in this module understands the enums and translates them back from integers # where needed (e.g. .family property of a socket object). IntEnum._convert_( 'AddressFamily', __name__, lambda C: C.isupper() and C.startswith('AF_')) IntEnum._convert_( 'SocketKind', __name__, lambda C: C.isupper() and C.startswith('SOCK_')) IntFlag._convert_( 'MsgFlag', __name__, lambda C: C.isupper() and C.startswith('MSG_')) IntFlag._convert_( 'AddressInfo', __name__, lambda C: C.isupper() and C.startswith('AI_')) _LOCALHOST = '127.0.0.1' _LOCALHOST_V6 = '::1' def _intenum_converter(value, enum_klass): """Convert a numeric family value to an IntEnum member. If it's not a known member, return the numeric value itself. """ try: return enum_klass(value) except ValueError: return value # WSA error codes if sys.platform.lower().startswith("win"): errorTab = {} errorTab[6] = "Specified event object handle is invalid." errorTab[8] = "Insufficient memory available." errorTab[87] = "One or more parameters are invalid." errorTab[995] = "Overlapped operation aborted." errorTab[996] = "Overlapped I/O event object not in signaled state." errorTab[997] = "Overlapped operation will complete later." errorTab[10004] = "The operation was interrupted." errorTab[10009] = "A bad file handle was passed." errorTab[10013] = "Permission denied." errorTab[10014] = "A fault occurred on the network??" # WSAEFAULT errorTab[10022] = "An invalid operation was attempted." errorTab[10024] = "Too many open files." errorTab[10035] = "The socket operation would block." errorTab[10036] = "A blocking operation is already in progress." errorTab[10037] = "Operation already in progress." errorTab[10038] = "Socket operation on nonsocket." errorTab[10039] = "Destination address required." errorTab[10040] = "Message too long." errorTab[10041] = "Protocol wrong type for socket." errorTab[10042] = "Bad protocol option." errorTab[10043] = "Protocol not supported." errorTab[10044] = "Socket type not supported." errorTab[10045] = "Operation not supported." errorTab[10046] = "Protocol family not supported." errorTab[10047] = "Address family not supported by protocol family." errorTab[10048] = "The network address is in use." errorTab[10049] = "Cannot assign requested address." errorTab[10050] = "Network is down." errorTab[10051] = "Network is unreachable." errorTab[10052] = "Network dropped connection on reset." errorTab[10053] = "Software caused connection abort." errorTab[10054] = "The connection has been reset." errorTab[10055] = "No buffer space available." errorTab[10056] = "Socket is already connected." errorTab[10057] = "Socket is not connected." errorTab[10058] = "The network has been shut down." errorTab[10059] = "Too many references." errorTab[10060] = "The operation timed out." errorTab[10061] = "Connection refused." errorTab[10062] = "Cannot translate name." errorTab[10063] = "The name is too long." errorTab[10064] = "The host is down." errorTab[10065] = "The host is unreachable." errorTab[10066] = "Directory not empty." errorTab[10067] = "Too many processes." errorTab[10068] = "User quota exceeded." errorTab[10069] = "Disk quota exceeded." errorTab[10070] = "Stale file handle reference." errorTab[10071] = "Item is remote." errorTab[10091] = "Network subsystem is unavailable." errorTab[10092] = "Winsock.dll version out of range." errorTab[10093] = "Successful WSAStartup not yet performed." errorTab[10101] = "Graceful shutdown in progress." errorTab[10102] = "No more results from WSALookupServiceNext." errorTab[10103] = "Call has been canceled." errorTab[10104] = "Procedure call table is invalid." errorTab[10105] = "Service provider is invalid." errorTab[10106] = "Service provider failed to initialize." errorTab[10107] = "System call failure." errorTab[10108] = "Service not found." errorTab[10109] = "Class type not found." errorTab[10110] = "No more results from WSALookupServiceNext." errorTab[10111] = "Call was canceled." errorTab[10112] = "Database query was refused." errorTab[11001] = "Host not found." errorTab[11002] = "Nonauthoritative host not found." errorTab[11003] = "This is a nonrecoverable error." errorTab[11004] = "Valid name, no data record requested type." errorTab[11005] = "QoS receivers." errorTab[11006] = "QoS senders." errorTab[11007] = "No QoS senders." errorTab[11008] = "QoS no receivers." errorTab[11009] = "QoS request confirmed." errorTab[11010] = "QoS admission error." errorTab[11011] = "QoS policy failure." errorTab[11012] = "QoS bad style." errorTab[11013] = "QoS bad object." errorTab[11014] = "QoS traffic control error." errorTab[11015] = "QoS generic error." errorTab[11016] = "QoS service type error." errorTab[11017] = "QoS flowspec error." errorTab[11018] = "Invalid QoS provider buffer." errorTab[11019] = "Invalid QoS filter style." errorTab[11020] = "Invalid QoS filter style." errorTab[11021] = "Incorrect QoS filter count." errorTab[11022] = "Invalid QoS object length." errorTab[11023] = "Incorrect QoS flow count." errorTab[11024] = "Unrecognized QoS object." errorTab[11025] = "Invalid QoS policy object." errorTab[11026] = "Invalid QoS flow descriptor." errorTab[11027] = "Invalid QoS provider-specific flowspec." errorTab[11028] = "Invalid QoS provider-specific filterspec." errorTab[11029] = "Invalid QoS shape discard mode object." errorTab[11030] = "Invalid QoS shaping rate object." errorTab[11031] = "Reserved policy QoS element type." __all__.append("errorTab") class _GiveupOnSendfile(Exception): pass class socket(_socket.socket): """A subclass of _socket.socket adding the makefile() method.""" __slots__ = ["__weakref__", "_io_refs", "_closed"] def __init__(self, family=-1, type=-1, proto=-1, fileno=None): # For user code address family and type values are IntEnum members, but # for the underlying _socket.socket they're just integers. The # constructor of _socket.socket converts the given argument to an # integer automatically. if fileno is None: if family == -1: family = AF_INET if type == -1: type = SOCK_STREAM if proto == -1: proto = 0 _socket.socket.__init__(self, family, type, proto, fileno) self._io_refs = 0 self._closed = False def __enter__(self): return self def __exit__(self, *args): if not self._closed: self.close() def __repr__(self): """Wrap __repr__() to reveal the real class name and socket address(es). """ closed = getattr(self, '_closed', False) s = "<%s.%s%s fd=%i, family=%s, type=%s, proto=%i" \ % (self.__class__.__module__, self.__class__.__qualname__, " [closed]" if closed else "", self.fileno(), self.family, self.type, self.proto) if not closed: # getsockname and getpeername may not be available on WASI. try: laddr = self.getsockname() if laddr: s += ", laddr=%s" % str(laddr) except (error, AttributeError): pass try: raddr = self.getpeername() if raddr: s += ", raddr=%s" % str(raddr) except (error, AttributeError): pass s += '>' return s def __getstate__(self): raise TypeError(f"cannot pickle {self.__class__.__name__!r} object") def dup(self): """dup() -> socket object Duplicate the socket. Return a new socket object connected to the same system resource. The new socket is non-inheritable. """ fd = dup(self.fileno()) sock = self.__class__(self.family, self.type, self.proto, fileno=fd) sock.settimeout(self.gettimeout()) return sock def accept(self): """accept() -> (socket object, address info) Wait for an incoming connection. Return a new socket representing the connection, and the address of the client. For IP sockets, the address info is a pair (hostaddr, port). """ fd, addr = self._accept() sock = socket(self.family, self.type, self.proto, fileno=fd) # Issue #7995: if no default timeout is set and the listening # socket had a (non-zero) timeout, force the new socket in blocking # mode to override platform-specific socket flags inheritance. if getdefaulttimeout() is None and self.gettimeout(): sock.setblocking(True) return sock, addr def makefile(self, mode="r", buffering=None, *, encoding=None, errors=None, newline=None): """makefile(...) -> an I/O stream connected to the socket The arguments are as for io.open() after the filename, except the only supported mode values are 'r' (default), 'w' and 'b'. """ # XXX refactor to share code? if not set(mode) <= {"r", "w", "b"}: raise ValueError("invalid mode %r (only r, w, b allowed)" % (mode,)) writing = "w" in mode reading = "r" in mode or not writing assert reading or writing binary = "b" in mode rawmode = "" if reading: rawmode += "r" if writing: rawmode += "w" raw = SocketIO(self, rawmode) self._io_refs += 1 if buffering is None: buffering = -1 if buffering < 0: buffering = io.DEFAULT_BUFFER_SIZE if buffering == 0: if not binary: raise ValueError("unbuffered streams must be binary") return raw if reading and writing: buffer = io.BufferedRWPair(raw, raw, buffering) elif reading: buffer = io.BufferedReader(raw, buffering) else: assert writing buffer = io.BufferedWriter(raw, buffering) if binary: return buffer encoding = io.text_encoding(encoding) text = io.TextIOWrapper(buffer, encoding, errors, newline) text.mode = mode return text if hasattr(os, 'sendfile'): def _sendfile_use_sendfile(self, file, offset=0, count=None): self._check_sendfile_params(file, offset, count) sockno = self.fileno() try: fileno = file.fileno() except (AttributeError, io.UnsupportedOperation) as err: raise _GiveupOnSendfile(err) # not a regular file try: fsize = os.fstat(fileno).st_size except OSError as err: raise _GiveupOnSendfile(err) # not a regular file if not fsize: return 0 # empty file # Truncate to 1GiB to avoid OverflowError, see bpo-38319. blocksize = min(count or fsize, 2 ** 30) timeout = self.gettimeout() if timeout == 0: raise ValueError("non-blocking sockets are not supported") # poll/select have the advantage of not requiring any # extra file descriptor, contrarily to epoll/kqueue # (also, they require a single syscall). if hasattr(selectors, 'PollSelector'): selector = selectors.PollSelector() else: selector = selectors.SelectSelector() selector.register(sockno, selectors.EVENT_WRITE) total_sent = 0 # localize variable access to minimize overhead selector_select = selector.select os_sendfile = os.sendfile try: while True: if timeout and not selector_select(timeout): raise TimeoutError('timed out') if count: blocksize = min(count - total_sent, blocksize) if blocksize <= 0: break try: sent = os_sendfile(sockno, fileno, offset, blocksize) except BlockingIOError: if not timeout: # Block until the socket is ready to send some # data; avoids hogging CPU resources. selector_select() continue except OSError as err: if total_sent == 0: # We can get here for different reasons, the main # one being 'file' is not a regular mmap(2)-like # file, in which case we'll fall back on using # plain send(). raise _GiveupOnSendfile(err) raise err from None else: if sent == 0: break # EOF offset += sent total_sent += sent return total_sent finally: if total_sent > 0 and hasattr(file, 'seek'): file.seek(offset) else: def _sendfile_use_sendfile(self, file, offset=0, count=None): raise _GiveupOnSendfile( "os.sendfile() not available on this platform") def _sendfile_use_send(self, file, offset=0, count=None): self._check_sendfile_params(file, offset, count) if self.gettimeout() == 0: raise ValueError("non-blocking sockets are not supported") if offset: file.seek(offset) blocksize = min(count, 8192) if count else 8192 total_sent = 0 # localize variable access to minimize overhead file_read = file.read sock_send = self.send try: while True: if count: blocksize = min(count - total_sent, blocksize) if blocksize <= 0: break data = memoryview(file_read(blocksize)) if not data: break # EOF while True: try: sent = sock_send(data) except BlockingIOError: continue else: total_sent += sent if sent < len(data): data = data[sent:] else: break return total_sent finally: if total_sent > 0 and hasattr(file, 'seek'): file.seek(offset + total_sent) def _check_sendfile_params(self, file, offset, count): if 'b' not in getattr(file, 'mode', 'b'): raise ValueError("file should be opened in binary mode") if not self.type & SOCK_STREAM: raise ValueError("only SOCK_STREAM type sockets are supported") if count is not None: if not isinstance(count, int): raise TypeError( "count must be a positive integer (got {!r})".format(count)) if count <= 0: raise ValueError( "count must be a positive integer (got {!r})".format(count)) def sendfile(self, file, offset=0, count=None): """sendfile(file[, offset[, count]]) -> sent Send a file until EOF is reached by using high-performance os.sendfile() and return the total number of bytes which were sent. *file* must be a regular file object opened in binary mode. If os.sendfile() is not available (e.g. Windows) or file is not a regular file socket.send() will be used instead. *offset* tells from where to start reading the file. If specified, *count* is the total number of bytes to transmit as opposed to sending the file until EOF is reached. File position is updated on return or also in case of error in which case file.tell() can be used to figure out the number of bytes which were sent. The socket must be of SOCK_STREAM type. Non-blocking sockets are not supported. """ try: return self._sendfile_use_sendfile(file, offset, count) except _GiveupOnSendfile: return self._sendfile_use_send(file, offset, count) def _decref_socketios(self): if self._io_refs > 0: self._io_refs -= 1 if self._closed: self.close() def _real_close(self, _ss=_socket.socket): # This function should not reference any globals. See issue #808164. _ss.close(self) def close(self): # This function should not reference any globals. See issue #808164. self._closed = True if self._io_refs <= 0: self._real_close() def detach(self): """detach() -> file descriptor Close the socket object without closing the underlying file descriptor. The object cannot be used after this call, but the file descriptor can be reused for other purposes. The file descriptor is returned. """ self._closed = True return super().detach() @property def family(self): """Read-only access to the address family for this socket. """ return _intenum_converter(super().family, AddressFamily) @property def type(self): """Read-only access to the socket type. """ return _intenum_converter(super().type, SocketKind) if os.name == 'nt': def get_inheritable(self): return os.get_handle_inheritable(self.fileno()) def set_inheritable(self, inheritable): os.set_handle_inheritable(self.fileno(), inheritable) else: def get_inheritable(self): return os.get_inheritable(self.fileno()) def set_inheritable(self, inheritable): os.set_inheritable(self.fileno(), inheritable) get_inheritable.__doc__ = "Get the inheritable flag of the socket" set_inheritable.__doc__ = "Set the inheritable flag of the socket" def fromfd(fd, family, type, proto=0): """ fromfd(fd, family, type[, proto]) -> socket object Create a socket object from a duplicate of the given file descriptor. The remaining arguments are the same as for socket(). """ nfd = dup(fd) return socket(family, type, proto, nfd) if hasattr(_socket.socket, "sendmsg"): > import array E (application-level) ModuleNotFoundError: No module named 'array' ../lib-python/3/socket.py:550: ModuleNotFoundError ___________________________ AppTestKqueue.test_pair ____________________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000128d76720> def test_pair(self): import select > import socket [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/select/test/test_kqueue.py:175]:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ # Wrapper module for _socket, providing some additional facilities # implemented in Python. """\ This module provides socket operations and some related functions. On Unix, it supports IP (Internet Protocol) and Unix domain sockets. On other systems, it only supports IP. Functions specific for a socket are available as methods of the socket object. Functions: socket() -- create a new socket object socketpair() -- create a pair of new socket objects [*] fromfd() -- create a socket object from an open file descriptor [*] send_fds() -- Send file descriptor to the socket. recv_fds() -- Receive file descriptors from the socket. fromshare() -- create a socket object from data received from socket.share() [*] gethostname() -- return the current hostname gethostbyname() -- map a hostname to its IP number gethostbyaddr() -- map an IP number or hostname to DNS info getservbyname() -- map a service name and a protocol name to a port number getprotobyname() -- map a protocol name (e.g. 'tcp') to a number ntohs(), ntohl() -- convert 16, 32 bit int from network to host byte order htons(), htonl() -- convert 16, 32 bit int from host to network byte order inet_aton() -- convert IP addr string (123.45.67.89) to 32-bit packed format inet_ntoa() -- convert 32-bit packed format IP to string (123.45.67.89) socket.getdefaulttimeout() -- get the default timeout value socket.setdefaulttimeout() -- set the default timeout value create_connection() -- connects to an address, with an optional timeout and optional source address. [*] not available on all platforms! Special objects: SocketType -- type object for socket objects error -- exception raised for I/O errors has_ipv6 -- boolean value indicating if IPv6 is supported IntEnum constants: AF_INET, AF_UNIX -- socket domains (first argument to socket() call) SOCK_STREAM, SOCK_DGRAM, SOCK_RAW -- socket types (second argument) Integer constants: Many other constants may be defined; these may be used in calls to the setsockopt() and getsockopt() methods. """ import _socket from _socket import * import os, sys, io, selectors from enum import IntEnum, IntFlag try: import errno except ImportError: errno = None EBADF = getattr(errno, 'EBADF', 9) EAGAIN = getattr(errno, 'EAGAIN', 11) EWOULDBLOCK = getattr(errno, 'EWOULDBLOCK', 11) __all__ = ["fromfd", "getfqdn", "create_connection", "create_server", "has_dualstack_ipv6", "AddressFamily", "SocketKind"] __all__.extend(os._get_exports_list(_socket)) # Set up the socket.AF_* socket.SOCK_* constants as members of IntEnums for # nicer string representations. # Note that _socket only knows about the integer values. The public interface # in this module understands the enums and translates them back from integers # where needed (e.g. .family property of a socket object). IntEnum._convert_( 'AddressFamily', __name__, lambda C: C.isupper() and C.startswith('AF_')) IntEnum._convert_( 'SocketKind', __name__, lambda C: C.isupper() and C.startswith('SOCK_')) IntFlag._convert_( 'MsgFlag', __name__, lambda C: C.isupper() and C.startswith('MSG_')) IntFlag._convert_( 'AddressInfo', __name__, lambda C: C.isupper() and C.startswith('AI_')) _LOCALHOST = '127.0.0.1' _LOCALHOST_V6 = '::1' def _intenum_converter(value, enum_klass): """Convert a numeric family value to an IntEnum member. If it's not a known member, return the numeric value itself. """ try: return enum_klass(value) except ValueError: return value # WSA error codes if sys.platform.lower().startswith("win"): errorTab = {} errorTab[6] = "Specified event object handle is invalid." errorTab[8] = "Insufficient memory available." errorTab[87] = "One or more parameters are invalid." errorTab[995] = "Overlapped operation aborted." errorTab[996] = "Overlapped I/O event object not in signaled state." errorTab[997] = "Overlapped operation will complete later." errorTab[10004] = "The operation was interrupted." errorTab[10009] = "A bad file handle was passed." errorTab[10013] = "Permission denied." errorTab[10014] = "A fault occurred on the network??" # WSAEFAULT errorTab[10022] = "An invalid operation was attempted." errorTab[10024] = "Too many open files." errorTab[10035] = "The socket operation would block." errorTab[10036] = "A blocking operation is already in progress." errorTab[10037] = "Operation already in progress." errorTab[10038] = "Socket operation on nonsocket." errorTab[10039] = "Destination address required." errorTab[10040] = "Message too long." errorTab[10041] = "Protocol wrong type for socket." errorTab[10042] = "Bad protocol option." errorTab[10043] = "Protocol not supported." errorTab[10044] = "Socket type not supported." errorTab[10045] = "Operation not supported." errorTab[10046] = "Protocol family not supported." errorTab[10047] = "Address family not supported by protocol family." errorTab[10048] = "The network address is in use." errorTab[10049] = "Cannot assign requested address." errorTab[10050] = "Network is down." errorTab[10051] = "Network is unreachable." errorTab[10052] = "Network dropped connection on reset." errorTab[10053] = "Software caused connection abort." errorTab[10054] = "The connection has been reset." errorTab[10055] = "No buffer space available." errorTab[10056] = "Socket is already connected." errorTab[10057] = "Socket is not connected." errorTab[10058] = "The network has been shut down." errorTab[10059] = "Too many references." errorTab[10060] = "The operation timed out." errorTab[10061] = "Connection refused." errorTab[10062] = "Cannot translate name." errorTab[10063] = "The name is too long." errorTab[10064] = "The host is down." errorTab[10065] = "The host is unreachable." errorTab[10066] = "Directory not empty." errorTab[10067] = "Too many processes." errorTab[10068] = "User quota exceeded." errorTab[10069] = "Disk quota exceeded." errorTab[10070] = "Stale file handle reference." errorTab[10071] = "Item is remote." errorTab[10091] = "Network subsystem is unavailable." errorTab[10092] = "Winsock.dll version out of range." errorTab[10093] = "Successful WSAStartup not yet performed." errorTab[10101] = "Graceful shutdown in progress." errorTab[10102] = "No more results from WSALookupServiceNext." errorTab[10103] = "Call has been canceled." errorTab[10104] = "Procedure call table is invalid." errorTab[10105] = "Service provider is invalid." errorTab[10106] = "Service provider failed to initialize." errorTab[10107] = "System call failure." errorTab[10108] = "Service not found." errorTab[10109] = "Class type not found." errorTab[10110] = "No more results from WSALookupServiceNext." errorTab[10111] = "Call was canceled." errorTab[10112] = "Database query was refused." errorTab[11001] = "Host not found." errorTab[11002] = "Nonauthoritative host not found." errorTab[11003] = "This is a nonrecoverable error." errorTab[11004] = "Valid name, no data record requested type." errorTab[11005] = "QoS receivers." errorTab[11006] = "QoS senders." errorTab[11007] = "No QoS senders." errorTab[11008] = "QoS no receivers." errorTab[11009] = "QoS request confirmed." errorTab[11010] = "QoS admission error." errorTab[11011] = "QoS policy failure." errorTab[11012] = "QoS bad style." errorTab[11013] = "QoS bad object." errorTab[11014] = "QoS traffic control error." errorTab[11015] = "QoS generic error." errorTab[11016] = "QoS service type error." errorTab[11017] = "QoS flowspec error." errorTab[11018] = "Invalid QoS provider buffer." errorTab[11019] = "Invalid QoS filter style." errorTab[11020] = "Invalid QoS filter style." errorTab[11021] = "Incorrect QoS filter count." errorTab[11022] = "Invalid QoS object length." errorTab[11023] = "Incorrect QoS flow count." errorTab[11024] = "Unrecognized QoS object." errorTab[11025] = "Invalid QoS policy object." errorTab[11026] = "Invalid QoS flow descriptor." errorTab[11027] = "Invalid QoS provider-specific flowspec." errorTab[11028] = "Invalid QoS provider-specific filterspec." errorTab[11029] = "Invalid QoS shape discard mode object." errorTab[11030] = "Invalid QoS shaping rate object." errorTab[11031] = "Reserved policy QoS element type." __all__.append("errorTab") class _GiveupOnSendfile(Exception): pass class socket(_socket.socket): """A subclass of _socket.socket adding the makefile() method.""" __slots__ = ["__weakref__", "_io_refs", "_closed"] def __init__(self, family=-1, type=-1, proto=-1, fileno=None): # For user code address family and type values are IntEnum members, but # for the underlying _socket.socket they're just integers. The # constructor of _socket.socket converts the given argument to an # integer automatically. if fileno is None: if family == -1: family = AF_INET if type == -1: type = SOCK_STREAM if proto == -1: proto = 0 _socket.socket.__init__(self, family, type, proto, fileno) self._io_refs = 0 self._closed = False def __enter__(self): return self def __exit__(self, *args): if not self._closed: self.close() def __repr__(self): """Wrap __repr__() to reveal the real class name and socket address(es). """ closed = getattr(self, '_closed', False) s = "<%s.%s%s fd=%i, family=%s, type=%s, proto=%i" \ % (self.__class__.__module__, self.__class__.__qualname__, " [closed]" if closed else "", self.fileno(), self.family, self.type, self.proto) if not closed: # getsockname and getpeername may not be available on WASI. try: laddr = self.getsockname() if laddr: s += ", laddr=%s" % str(laddr) except (error, AttributeError): pass try: raddr = self.getpeername() if raddr: s += ", raddr=%s" % str(raddr) except (error, AttributeError): pass s += '>' return s def __getstate__(self): raise TypeError(f"cannot pickle {self.__class__.__name__!r} object") def dup(self): """dup() -> socket object Duplicate the socket. Return a new socket object connected to the same system resource. The new socket is non-inheritable. """ fd = dup(self.fileno()) sock = self.__class__(self.family, self.type, self.proto, fileno=fd) sock.settimeout(self.gettimeout()) return sock def accept(self): """accept() -> (socket object, address info) Wait for an incoming connection. Return a new socket representing the connection, and the address of the client. For IP sockets, the address info is a pair (hostaddr, port). """ fd, addr = self._accept() sock = socket(self.family, self.type, self.proto, fileno=fd) # Issue #7995: if no default timeout is set and the listening # socket had a (non-zero) timeout, force the new socket in blocking # mode to override platform-specific socket flags inheritance. if getdefaulttimeout() is None and self.gettimeout(): sock.setblocking(True) return sock, addr def makefile(self, mode="r", buffering=None, *, encoding=None, errors=None, newline=None): """makefile(...) -> an I/O stream connected to the socket The arguments are as for io.open() after the filename, except the only supported mode values are 'r' (default), 'w' and 'b'. """ # XXX refactor to share code? if not set(mode) <= {"r", "w", "b"}: raise ValueError("invalid mode %r (only r, w, b allowed)" % (mode,)) writing = "w" in mode reading = "r" in mode or not writing assert reading or writing binary = "b" in mode rawmode = "" if reading: rawmode += "r" if writing: rawmode += "w" raw = SocketIO(self, rawmode) self._io_refs += 1 if buffering is None: buffering = -1 if buffering < 0: buffering = io.DEFAULT_BUFFER_SIZE if buffering == 0: if not binary: raise ValueError("unbuffered streams must be binary") return raw if reading and writing: buffer = io.BufferedRWPair(raw, raw, buffering) elif reading: buffer = io.BufferedReader(raw, buffering) else: assert writing buffer = io.BufferedWriter(raw, buffering) if binary: return buffer encoding = io.text_encoding(encoding) text = io.TextIOWrapper(buffer, encoding, errors, newline) text.mode = mode return text if hasattr(os, 'sendfile'): def _sendfile_use_sendfile(self, file, offset=0, count=None): self._check_sendfile_params(file, offset, count) sockno = self.fileno() try: fileno = file.fileno() except (AttributeError, io.UnsupportedOperation) as err: raise _GiveupOnSendfile(err) # not a regular file try: fsize = os.fstat(fileno).st_size except OSError as err: raise _GiveupOnSendfile(err) # not a regular file if not fsize: return 0 # empty file # Truncate to 1GiB to avoid OverflowError, see bpo-38319. blocksize = min(count or fsize, 2 ** 30) timeout = self.gettimeout() if timeout == 0: raise ValueError("non-blocking sockets are not supported") # poll/select have the advantage of not requiring any # extra file descriptor, contrarily to epoll/kqueue # (also, they require a single syscall). if hasattr(selectors, 'PollSelector'): selector = selectors.PollSelector() else: selector = selectors.SelectSelector() selector.register(sockno, selectors.EVENT_WRITE) total_sent = 0 # localize variable access to minimize overhead selector_select = selector.select os_sendfile = os.sendfile try: while True: if timeout and not selector_select(timeout): raise TimeoutError('timed out') if count: blocksize = min(count - total_sent, blocksize) if blocksize <= 0: break try: sent = os_sendfile(sockno, fileno, offset, blocksize) except BlockingIOError: if not timeout: # Block until the socket is ready to send some # data; avoids hogging CPU resources. selector_select() continue except OSError as err: if total_sent == 0: # We can get here for different reasons, the main # one being 'file' is not a regular mmap(2)-like # file, in which case we'll fall back on using # plain send(). raise _GiveupOnSendfile(err) raise err from None else: if sent == 0: break # EOF offset += sent total_sent += sent return total_sent finally: if total_sent > 0 and hasattr(file, 'seek'): file.seek(offset) else: def _sendfile_use_sendfile(self, file, offset=0, count=None): raise _GiveupOnSendfile( "os.sendfile() not available on this platform") def _sendfile_use_send(self, file, offset=0, count=None): self._check_sendfile_params(file, offset, count) if self.gettimeout() == 0: raise ValueError("non-blocking sockets are not supported") if offset: file.seek(offset) blocksize = min(count, 8192) if count else 8192 total_sent = 0 # localize variable access to minimize overhead file_read = file.read sock_send = self.send try: while True: if count: blocksize = min(count - total_sent, blocksize) if blocksize <= 0: break data = memoryview(file_read(blocksize)) if not data: break # EOF while True: try: sent = sock_send(data) except BlockingIOError: continue else: total_sent += sent if sent < len(data): data = data[sent:] else: break return total_sent finally: if total_sent > 0 and hasattr(file, 'seek'): file.seek(offset + total_sent) def _check_sendfile_params(self, file, offset, count): if 'b' not in getattr(file, 'mode', 'b'): raise ValueError("file should be opened in binary mode") if not self.type & SOCK_STREAM: raise ValueError("only SOCK_STREAM type sockets are supported") if count is not None: if not isinstance(count, int): raise TypeError( "count must be a positive integer (got {!r})".format(count)) if count <= 0: raise ValueError( "count must be a positive integer (got {!r})".format(count)) def sendfile(self, file, offset=0, count=None): """sendfile(file[, offset[, count]]) -> sent Send a file until EOF is reached by using high-performance os.sendfile() and return the total number of bytes which were sent. *file* must be a regular file object opened in binary mode. If os.sendfile() is not available (e.g. Windows) or file is not a regular file socket.send() will be used instead. *offset* tells from where to start reading the file. If specified, *count* is the total number of bytes to transmit as opposed to sending the file until EOF is reached. File position is updated on return or also in case of error in which case file.tell() can be used to figure out the number of bytes which were sent. The socket must be of SOCK_STREAM type. Non-blocking sockets are not supported. """ try: return self._sendfile_use_sendfile(file, offset, count) except _GiveupOnSendfile: return self._sendfile_use_send(file, offset, count) def _decref_socketios(self): if self._io_refs > 0: self._io_refs -= 1 if self._closed: self.close() def _real_close(self, _ss=_socket.socket): # This function should not reference any globals. See issue #808164. _ss.close(self) def close(self): # This function should not reference any globals. See issue #808164. self._closed = True if self._io_refs <= 0: self._real_close() def detach(self): """detach() -> file descriptor Close the socket object without closing the underlying file descriptor. The object cannot be used after this call, but the file descriptor can be reused for other purposes. The file descriptor is returned. """ self._closed = True return super().detach() @property def family(self): """Read-only access to the address family for this socket. """ return _intenum_converter(super().family, AddressFamily) @property def type(self): """Read-only access to the socket type. """ return _intenum_converter(super().type, SocketKind) if os.name == 'nt': def get_inheritable(self): return os.get_handle_inheritable(self.fileno()) def set_inheritable(self, inheritable): os.set_handle_inheritable(self.fileno(), inheritable) else: def get_inheritable(self): return os.get_inheritable(self.fileno()) def set_inheritable(self, inheritable): os.set_inheritable(self.fileno(), inheritable) get_inheritable.__doc__ = "Get the inheritable flag of the socket" set_inheritable.__doc__ = "Set the inheritable flag of the socket" def fromfd(fd, family, type, proto=0): """ fromfd(fd, family, type[, proto]) -> socket object Create a socket object from a duplicate of the given file descriptor. The remaining arguments are the same as for socket(). """ nfd = dup(fd) return socket(family, type, proto, nfd) if hasattr(_socket.socket, "sendmsg"): > import array E (application-level) ModuleNotFoundError: No module named 'array' ../lib-python/3/socket.py:550: ModuleNotFoundError ________________________ AppTestKqueue.test_issue30058 _________________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000128d76720> def test_issue30058(self): import select > import socket [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/select/test/test_kqueue.py:202]:3: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ # Wrapper module for _socket, providing some additional facilities # implemented in Python. """\ This module provides socket operations and some related functions. On Unix, it supports IP (Internet Protocol) and Unix domain sockets. On other systems, it only supports IP. Functions specific for a socket are available as methods of the socket object. Functions: socket() -- create a new socket object socketpair() -- create a pair of new socket objects [*] fromfd() -- create a socket object from an open file descriptor [*] send_fds() -- Send file descriptor to the socket. recv_fds() -- Receive file descriptors from the socket. fromshare() -- create a socket object from data received from socket.share() [*] gethostname() -- return the current hostname gethostbyname() -- map a hostname to its IP number gethostbyaddr() -- map an IP number or hostname to DNS info getservbyname() -- map a service name and a protocol name to a port number getprotobyname() -- map a protocol name (e.g. 'tcp') to a number ntohs(), ntohl() -- convert 16, 32 bit int from network to host byte order htons(), htonl() -- convert 16, 32 bit int from host to network byte order inet_aton() -- convert IP addr string (123.45.67.89) to 32-bit packed format inet_ntoa() -- convert 32-bit packed format IP to string (123.45.67.89) socket.getdefaulttimeout() -- get the default timeout value socket.setdefaulttimeout() -- set the default timeout value create_connection() -- connects to an address, with an optional timeout and optional source address. [*] not available on all platforms! Special objects: SocketType -- type object for socket objects error -- exception raised for I/O errors has_ipv6 -- boolean value indicating if IPv6 is supported IntEnum constants: AF_INET, AF_UNIX -- socket domains (first argument to socket() call) SOCK_STREAM, SOCK_DGRAM, SOCK_RAW -- socket types (second argument) Integer constants: Many other constants may be defined; these may be used in calls to the setsockopt() and getsockopt() methods. """ import _socket from _socket import * import os, sys, io, selectors from enum import IntEnum, IntFlag try: import errno except ImportError: errno = None EBADF = getattr(errno, 'EBADF', 9) EAGAIN = getattr(errno, 'EAGAIN', 11) EWOULDBLOCK = getattr(errno, 'EWOULDBLOCK', 11) __all__ = ["fromfd", "getfqdn", "create_connection", "create_server", "has_dualstack_ipv6", "AddressFamily", "SocketKind"] __all__.extend(os._get_exports_list(_socket)) # Set up the socket.AF_* socket.SOCK_* constants as members of IntEnums for # nicer string representations. # Note that _socket only knows about the integer values. The public interface # in this module understands the enums and translates them back from integers # where needed (e.g. .family property of a socket object). IntEnum._convert_( 'AddressFamily', __name__, lambda C: C.isupper() and C.startswith('AF_')) IntEnum._convert_( 'SocketKind', __name__, lambda C: C.isupper() and C.startswith('SOCK_')) IntFlag._convert_( 'MsgFlag', __name__, lambda C: C.isupper() and C.startswith('MSG_')) IntFlag._convert_( 'AddressInfo', __name__, lambda C: C.isupper() and C.startswith('AI_')) _LOCALHOST = '127.0.0.1' _LOCALHOST_V6 = '::1' def _intenum_converter(value, enum_klass): """Convert a numeric family value to an IntEnum member. If it's not a known member, return the numeric value itself. """ try: return enum_klass(value) except ValueError: return value # WSA error codes if sys.platform.lower().startswith("win"): errorTab = {} errorTab[6] = "Specified event object handle is invalid." errorTab[8] = "Insufficient memory available." errorTab[87] = "One or more parameters are invalid." errorTab[995] = "Overlapped operation aborted." errorTab[996] = "Overlapped I/O event object not in signaled state." errorTab[997] = "Overlapped operation will complete later." errorTab[10004] = "The operation was interrupted." errorTab[10009] = "A bad file handle was passed." errorTab[10013] = "Permission denied." errorTab[10014] = "A fault occurred on the network??" # WSAEFAULT errorTab[10022] = "An invalid operation was attempted." errorTab[10024] = "Too many open files." errorTab[10035] = "The socket operation would block." errorTab[10036] = "A blocking operation is already in progress." errorTab[10037] = "Operation already in progress." errorTab[10038] = "Socket operation on nonsocket." errorTab[10039] = "Destination address required." errorTab[10040] = "Message too long." errorTab[10041] = "Protocol wrong type for socket." errorTab[10042] = "Bad protocol option." errorTab[10043] = "Protocol not supported." errorTab[10044] = "Socket type not supported." errorTab[10045] = "Operation not supported." errorTab[10046] = "Protocol family not supported." errorTab[10047] = "Address family not supported by protocol family." errorTab[10048] = "The network address is in use." errorTab[10049] = "Cannot assign requested address." errorTab[10050] = "Network is down." errorTab[10051] = "Network is unreachable." errorTab[10052] = "Network dropped connection on reset." errorTab[10053] = "Software caused connection abort." errorTab[10054] = "The connection has been reset." errorTab[10055] = "No buffer space available." errorTab[10056] = "Socket is already connected." errorTab[10057] = "Socket is not connected." errorTab[10058] = "The network has been shut down." errorTab[10059] = "Too many references." errorTab[10060] = "The operation timed out." errorTab[10061] = "Connection refused." errorTab[10062] = "Cannot translate name." errorTab[10063] = "The name is too long." errorTab[10064] = "The host is down." errorTab[10065] = "The host is unreachable." errorTab[10066] = "Directory not empty." errorTab[10067] = "Too many processes." errorTab[10068] = "User quota exceeded." errorTab[10069] = "Disk quota exceeded." errorTab[10070] = "Stale file handle reference." errorTab[10071] = "Item is remote." errorTab[10091] = "Network subsystem is unavailable." errorTab[10092] = "Winsock.dll version out of range." errorTab[10093] = "Successful WSAStartup not yet performed." errorTab[10101] = "Graceful shutdown in progress." errorTab[10102] = "No more results from WSALookupServiceNext." errorTab[10103] = "Call has been canceled." errorTab[10104] = "Procedure call table is invalid." errorTab[10105] = "Service provider is invalid." errorTab[10106] = "Service provider failed to initialize." errorTab[10107] = "System call failure." errorTab[10108] = "Service not found." errorTab[10109] = "Class type not found." errorTab[10110] = "No more results from WSALookupServiceNext." errorTab[10111] = "Call was canceled." errorTab[10112] = "Database query was refused." errorTab[11001] = "Host not found." errorTab[11002] = "Nonauthoritative host not found." errorTab[11003] = "This is a nonrecoverable error." errorTab[11004] = "Valid name, no data record requested type." errorTab[11005] = "QoS receivers." errorTab[11006] = "QoS senders." errorTab[11007] = "No QoS senders." errorTab[11008] = "QoS no receivers." errorTab[11009] = "QoS request confirmed." errorTab[11010] = "QoS admission error." errorTab[11011] = "QoS policy failure." errorTab[11012] = "QoS bad style." errorTab[11013] = "QoS bad object." errorTab[11014] = "QoS traffic control error." errorTab[11015] = "QoS generic error." errorTab[11016] = "QoS service type error." errorTab[11017] = "QoS flowspec error." errorTab[11018] = "Invalid QoS provider buffer." errorTab[11019] = "Invalid QoS filter style." errorTab[11020] = "Invalid QoS filter style." errorTab[11021] = "Incorrect QoS filter count." errorTab[11022] = "Invalid QoS object length." errorTab[11023] = "Incorrect QoS flow count." errorTab[11024] = "Unrecognized QoS object." errorTab[11025] = "Invalid QoS policy object." errorTab[11026] = "Invalid QoS flow descriptor." errorTab[11027] = "Invalid QoS provider-specific flowspec." errorTab[11028] = "Invalid QoS provider-specific filterspec." errorTab[11029] = "Invalid QoS shape discard mode object." errorTab[11030] = "Invalid QoS shaping rate object." errorTab[11031] = "Reserved policy QoS element type." __all__.append("errorTab") class _GiveupOnSendfile(Exception): pass class socket(_socket.socket): """A subclass of _socket.socket adding the makefile() method.""" __slots__ = ["__weakref__", "_io_refs", "_closed"] def __init__(self, family=-1, type=-1, proto=-1, fileno=None): # For user code address family and type values are IntEnum members, but # for the underlying _socket.socket they're just integers. The # constructor of _socket.socket converts the given argument to an # integer automatically. if fileno is None: if family == -1: family = AF_INET if type == -1: type = SOCK_STREAM if proto == -1: proto = 0 _socket.socket.__init__(self, family, type, proto, fileno) self._io_refs = 0 self._closed = False def __enter__(self): return self def __exit__(self, *args): if not self._closed: self.close() def __repr__(self): """Wrap __repr__() to reveal the real class name and socket address(es). """ closed = getattr(self, '_closed', False) s = "<%s.%s%s fd=%i, family=%s, type=%s, proto=%i" \ % (self.__class__.__module__, self.__class__.__qualname__, " [closed]" if closed else "", self.fileno(), self.family, self.type, self.proto) if not closed: # getsockname and getpeername may not be available on WASI. try: laddr = self.getsockname() if laddr: s += ", laddr=%s" % str(laddr) except (error, AttributeError): pass try: raddr = self.getpeername() if raddr: s += ", raddr=%s" % str(raddr) except (error, AttributeError): pass s += '>' return s def __getstate__(self): raise TypeError(f"cannot pickle {self.__class__.__name__!r} object") def dup(self): """dup() -> socket object Duplicate the socket. Return a new socket object connected to the same system resource. The new socket is non-inheritable. """ fd = dup(self.fileno()) sock = self.__class__(self.family, self.type, self.proto, fileno=fd) sock.settimeout(self.gettimeout()) return sock def accept(self): """accept() -> (socket object, address info) Wait for an incoming connection. Return a new socket representing the connection, and the address of the client. For IP sockets, the address info is a pair (hostaddr, port). """ fd, addr = self._accept() sock = socket(self.family, self.type, self.proto, fileno=fd) # Issue #7995: if no default timeout is set and the listening # socket had a (non-zero) timeout, force the new socket in blocking # mode to override platform-specific socket flags inheritance. if getdefaulttimeout() is None and self.gettimeout(): sock.setblocking(True) return sock, addr def makefile(self, mode="r", buffering=None, *, encoding=None, errors=None, newline=None): """makefile(...) -> an I/O stream connected to the socket The arguments are as for io.open() after the filename, except the only supported mode values are 'r' (default), 'w' and 'b'. """ # XXX refactor to share code? if not set(mode) <= {"r", "w", "b"}: raise ValueError("invalid mode %r (only r, w, b allowed)" % (mode,)) writing = "w" in mode reading = "r" in mode or not writing assert reading or writing binary = "b" in mode rawmode = "" if reading: rawmode += "r" if writing: rawmode += "w" raw = SocketIO(self, rawmode) self._io_refs += 1 if buffering is None: buffering = -1 if buffering < 0: buffering = io.DEFAULT_BUFFER_SIZE if buffering == 0: if not binary: raise ValueError("unbuffered streams must be binary") return raw if reading and writing: buffer = io.BufferedRWPair(raw, raw, buffering) elif reading: buffer = io.BufferedReader(raw, buffering) else: assert writing buffer = io.BufferedWriter(raw, buffering) if binary: return buffer encoding = io.text_encoding(encoding) text = io.TextIOWrapper(buffer, encoding, errors, newline) text.mode = mode return text if hasattr(os, 'sendfile'): def _sendfile_use_sendfile(self, file, offset=0, count=None): self._check_sendfile_params(file, offset, count) sockno = self.fileno() try: fileno = file.fileno() except (AttributeError, io.UnsupportedOperation) as err: raise _GiveupOnSendfile(err) # not a regular file try: fsize = os.fstat(fileno).st_size except OSError as err: raise _GiveupOnSendfile(err) # not a regular file if not fsize: return 0 # empty file # Truncate to 1GiB to avoid OverflowError, see bpo-38319. blocksize = min(count or fsize, 2 ** 30) timeout = self.gettimeout() if timeout == 0: raise ValueError("non-blocking sockets are not supported") # poll/select have the advantage of not requiring any # extra file descriptor, contrarily to epoll/kqueue # (also, they require a single syscall). if hasattr(selectors, 'PollSelector'): selector = selectors.PollSelector() else: selector = selectors.SelectSelector() selector.register(sockno, selectors.EVENT_WRITE) total_sent = 0 # localize variable access to minimize overhead selector_select = selector.select os_sendfile = os.sendfile try: while True: if timeout and not selector_select(timeout): raise TimeoutError('timed out') if count: blocksize = min(count - total_sent, blocksize) if blocksize <= 0: break try: sent = os_sendfile(sockno, fileno, offset, blocksize) except BlockingIOError: if not timeout: # Block until the socket is ready to send some # data; avoids hogging CPU resources. selector_select() continue except OSError as err: if total_sent == 0: # We can get here for different reasons, the main # one being 'file' is not a regular mmap(2)-like # file, in which case we'll fall back on using # plain send(). raise _GiveupOnSendfile(err) raise err from None else: if sent == 0: break # EOF offset += sent total_sent += sent return total_sent finally: if total_sent > 0 and hasattr(file, 'seek'): file.seek(offset) else: def _sendfile_use_sendfile(self, file, offset=0, count=None): raise _GiveupOnSendfile( "os.sendfile() not available on this platform") def _sendfile_use_send(self, file, offset=0, count=None): self._check_sendfile_params(file, offset, count) if self.gettimeout() == 0: raise ValueError("non-blocking sockets are not supported") if offset: file.seek(offset) blocksize = min(count, 8192) if count else 8192 total_sent = 0 # localize variable access to minimize overhead file_read = file.read sock_send = self.send try: while True: if count: blocksize = min(count - total_sent, blocksize) if blocksize <= 0: break data = memoryview(file_read(blocksize)) if not data: break # EOF while True: try: sent = sock_send(data) except BlockingIOError: continue else: total_sent += sent if sent < len(data): data = data[sent:] else: break return total_sent finally: if total_sent > 0 and hasattr(file, 'seek'): file.seek(offset + total_sent) def _check_sendfile_params(self, file, offset, count): if 'b' not in getattr(file, 'mode', 'b'): raise ValueError("file should be opened in binary mode") if not self.type & SOCK_STREAM: raise ValueError("only SOCK_STREAM type sockets are supported") if count is not None: if not isinstance(count, int): raise TypeError( "count must be a positive integer (got {!r})".format(count)) if count <= 0: raise ValueError( "count must be a positive integer (got {!r})".format(count)) def sendfile(self, file, offset=0, count=None): """sendfile(file[, offset[, count]]) -> sent Send a file until EOF is reached by using high-performance os.sendfile() and return the total number of bytes which were sent. *file* must be a regular file object opened in binary mode. If os.sendfile() is not available (e.g. Windows) or file is not a regular file socket.send() will be used instead. *offset* tells from where to start reading the file. If specified, *count* is the total number of bytes to transmit as opposed to sending the file until EOF is reached. File position is updated on return or also in case of error in which case file.tell() can be used to figure out the number of bytes which were sent. The socket must be of SOCK_STREAM type. Non-blocking sockets are not supported. """ try: return self._sendfile_use_sendfile(file, offset, count) except _GiveupOnSendfile: return self._sendfile_use_send(file, offset, count) def _decref_socketios(self): if self._io_refs > 0: self._io_refs -= 1 if self._closed: self.close() def _real_close(self, _ss=_socket.socket): # This function should not reference any globals. See issue #808164. _ss.close(self) def close(self): # This function should not reference any globals. See issue #808164. self._closed = True if self._io_refs <= 0: self._real_close() def detach(self): """detach() -> file descriptor Close the socket object without closing the underlying file descriptor. The object cannot be used after this call, but the file descriptor can be reused for other purposes. The file descriptor is returned. """ self._closed = True return super().detach() @property def family(self): """Read-only access to the address family for this socket. """ return _intenum_converter(super().family, AddressFamily) @property def type(self): """Read-only access to the socket type. """ return _intenum_converter(super().type, SocketKind) if os.name == 'nt': def get_inheritable(self): return os.get_handle_inheritable(self.fileno()) def set_inheritable(self, inheritable): os.set_handle_inheritable(self.fileno(), inheritable) else: def get_inheritable(self): return os.get_inheritable(self.fileno()) def set_inheritable(self, inheritable): os.set_inheritable(self.fileno(), inheritable) get_inheritable.__doc__ = "Get the inheritable flag of the socket" set_inheritable.__doc__ = "Set the inheritable flag of the socket" def fromfd(fd, family, type, proto=0): """ fromfd(fd, family, type[, proto]) -> socket object Create a socket object from a duplicate of the given file descriptor. The remaining arguments are the same as for socket(). """ nfd = dup(fd) return socket(family, type, proto, nfd) if hasattr(_socket.socket, "sendmsg"): > import array E (application-level) ModuleNotFoundError: No module named 'array' ../lib-python/3/socket.py:550: ModuleNotFoundError _______________________ AppTestSelectWithPipes.test_poll _______________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000108f8b328> def test_poll(self): import select if not hasattr(select, 'poll'): skip("no select.poll() on this platform") readend, writeend = self.getpair() try: class A(object): def fileno(self): return readend.fileno() poll = select.poll() poll.register(A()) res = poll.poll(10) # timeout in ms assert res == [] res = poll.poll(1.1) # check floats assert res == [] writeend.send(b"foo!") # can't easily test actual blocking, is done in lib-python tests res = poll.poll() > assert res == [(readend.fileno(), 1)] E (application-level) AssertionError [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/select/test/test_select.py:274]:21: AssertionError =========================== short test summary info ============================ FAIL module/select/test/test_kqueue.py::AppTestKqueue::()::test_create_event FAIL module/select/test/test_kqueue.py::AppTestKqueue::()::test_queue_event FAIL module/select/test/test_kqueue.py::AppTestKqueue::()::test_pair FAIL module/select/test/test_kqueue.py::AppTestKqueue::()::test_issue30058 FAIL module/select/test/test_select.py::AppTestSelectWithPipes::()::test_poll =============== 5 failed, 31 passed, 10 skipped in 64.41 seconds =============== ++ 04:24:54 starting module/sys/test [159 started in total] __ module/struct/test [157 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items module/struct/test/apptest_struct.py .......................................... module/struct/test/apptest_structbuffer.py .. module/struct/test/test_struct.py ....... module/struct/test/test_ztranslation.py . ========================== 52 passed in 34.00 seconds ========================== ++ 04:24:56 starting module/termios/test [160 started in total] __ module/signal/test [158 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 27 items module/signal/test/apptest_signal.py . module/signal/test/test_signal.py .......................... ========================== 27 passed in 57.66 seconds ========================== ++ 04:25:16 starting module/test_lib_pypy [161 started in total] __ module/sys/test [159 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 97 items module/sys/test/apptest_audit.py ......... module/sys/test/apptest_initpath.py . module/sys/test/apptest_sys.py . module/sys/test/test_encoding.py .. module/sys/test/test_initpath.py .......... module/sys/test/test_sysmodule.py ..........................................s...............s........ module/sys/test/test_version.py ....... ==================== 95 passed, 2 skipped in 33.71 seconds ===================== ++ 04:25:32 starting module/thread/test [162 started in total] __ module/test_lib_pypy [160 done in total, somefailed=False] _________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 238 items / 5 skipped module/test_lib_pypy/test_code_module.py ... module/test_lib_pypy/test_collections.py ..................... module/test_lib_pypy/test_marshal_extra.py ....................................................................................................................................................... module/test_lib_pypy/test_md5_extra.py ...... module/test_lib_pypy/test_pickle_extra.py s module/test_lib_pypy/test_sha_extra.py ..... module/test_lib_pypy/test_site_extra.py . module/test_lib_pypy/test_stackless.py .............................. module/test_lib_pypy/test_stackless_pickling.py .. module/test_lib_pypy/test_structseq.py ........... module/test_lib_pypy/test_tputil.py ..s.... ==================== 236 passed, 7 skipped in 50.43 seconds ==================== ++ 04:26:07 starting module/time/test [163 started in total] __ module/termios/test [161 done in total, somefailed=True] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items module/termios/test/test_termios.py F..FF.FF.. =================================== FAILURES =================================== _____________________________ TestTermios.test_one _____________________________ self = <test_termios.TestTermios object at 0x000000013a7fbf68> def test_one(self): child = self.spawn(['--withmod-termios']) child.expect("Python ") child.expect('>>> ') child.sendline('import termios') child.expect('>>> ') child.sendline('termios.tcgetattr(0)') # output of the first time is ignored: it contains the compilation # of more C stuff relating to errno child.expect('>>> ') child.sendline('print("attr=", termios.tcgetattr(0))') > child.expect('attr= (\[.*?\[.*?\]\])') module/termios/test/test_termios.py:46: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../virt_test/site-packages/pexpect/spawnbase.py:355: in expect timeout, searchwindowsize, async_) ../virt_test/site-packages/pexpect/spawnbase.py:383: in expect_list return exp.expect_loop(timeout) ../virt_test/site-packages/pexpect/expect.py:179: in expect_loop return self.eof(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.expect.Expecter object at 0x000000013a840058> err = EOF('End Of File (EOF). Empty string style platform.',) def eof(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn._buffer = spawn.buffer_type() spawn._before = spawn.buffer_type() spawn.after = EOF index = self.searcher.eof_index if index >= 0: spawn.match = EOF spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = EOF(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E EOF: End Of File (EOF). Empty string style platform. E <pexpect.pty_spawn.spawn object at 0x000000013a7fa608> E command: /Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python E args: ['/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios'] E buffer (last 100 chars): '' E before (last 100 chars): '1@o\x1b[1@s\x1b[1@.\x1b[1@t\x1b[1@c\x1b[1@g\x1b[1@e\x1b[1@t\x1b[1@a\x1b[1@t\x1b[1@t\x1b[1@r\x1b[1@(\x1b[1@0\x1b[1@)\x1b[1@)\x1b[41D\n\r\x1b[?2004l\x1b[?1l\x1b>' E after: <class 'pexpect.exceptions.EOF'> E match: None E match_index: None E exitstatus: None E flag_eof: True E pid: 7323 E child_fd: 15 E closed: False E timeout: 600 E delimiter: <class 'pexpect.exceptions.EOF'> E logfile: <_pytest.capture.EncodedFile object at 0x0000000110935130> E logfile_read: None E logfile_send: None E maxread: 5000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile('attr= (\\[.*?\\[.*?\\]\\])') ../virt_test/site-packages/pexpect/expect.py:122: EOF ----------------------------- Captured stdout call ----------------------------- SPAWN: ('/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', ['/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios']) {} PyPy 8.0.0-alpha0 in StdObjSpace on top of Python 2.7.18 (startuptime: 7.06 secs) [?2004h[?1h=[?25l >>>> [?12l[?25himport termios [1@i[1@m[1@p[1@o[1@r[1@t[1@ [1@t[1@e[1@r[1@m[1@i[1@o[1@s [?2004l[?1l>[?2004h[?1h=[?25l >>>> [?12l[?25htermios.tcgetattr(0) [1@t[1@e[1@r[1@m[1@i[1@o[1@s[1@.[1@t[1@c[1@g[1@e[1@t[1@a[1@t[1@t[1@r[1@([1@0[1@) [?2004l[?1l>[11010, 0, 3, 0, 9600, 9600, [b'K', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\xcb', b'\x05', b'\x00', b' ', b'\x00', b'\x00', b'\x00', b'\x00', b'\x04', 255, 255, b'\x7f', b'\x17']] [?2004h[?1h=[?25l >>>> [?12l[?25hprint("attr=", termios.tcgetattr(0)) [1@p[1@r[1@i[1@n[1@t[1@([1@"[1@a[1@t[1@t[1@r[1@=[1@"[1@,[1@ [1@t[1@e[1@r[1@m[1@i[1@o[1@s[1@.[1@t[1@c[1@g[1@e[1@t[1@a[1@t[1@t[1@r[1@([1@0[1@)[1@) [?2004l[?1l> ________________________ TestTermios.test_ioctl_termios ________________________ self = <test_termios.TestTermios object at 0x0000000140f69440> def test_ioctl_termios(self): source = py.code.Source(r""" import termios import fcntl lgt = len(fcntl.ioctl(2, termios.TIOCGWINSZ, b'\000'*8)) assert lgt == 8 print('ok!') """) f = udir.join("test_ioctl_termios.py") f.write(source) child = self.spawn(['--withmod-termios', '--withmod-fcntl', str(f)]) > child.expect('ok!') module/termios/test/test_termios.py:99: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../virt_test/site-packages/pexpect/spawnbase.py:355: in expect timeout, searchwindowsize, async_) ../virt_test/site-packages/pexpect/spawnbase.py:383: in expect_list return exp.expect_loop(timeout) ../virt_test/site-packages/pexpect/expect.py:179: in expect_loop return self.eof(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.expect.Expecter object at 0x0000000140f69398> err = EOF('End Of File (EOF). Empty string style platform.',) def eof(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn._buffer = spawn.buffer_type() spawn._before = spawn.buffer_type() spawn.after = EOF index = self.searcher.eof_index if index >= 0: spawn.match = EOF spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = EOF(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E EOF: End Of File (EOF). Empty string style platform. E <pexpect.pty_spawn.spawn object at 0x0000000140f68368> E command: /Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python E args: ['/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios', '--withmod-fcntl', '/tmp/buildbot-arm64/usession-py3.11-2843/test_ioctl_termios.py'] E buffer (last 100 chars): '' E before (last 100 chars): "types_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0\r\n" E after: <class 'pexpect.exceptions.EOF'> E match: None E match_index: None E exitstatus: None E flag_eof: True E pid: 9073 E child_fd: 18 E closed: False E timeout: 600 E delimiter: <class 'pexpect.exceptions.EOF'> E logfile: <_pytest.capture.EncodedFile object at 0x0000000110935130> E logfile_read: None E logfile_send: None E maxread: 5000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile('ok!') ../virt_test/site-packages/pexpect/expect.py:122: EOF ----------------------------- Captured stdout call ----------------------------- SPAWN: ('/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', ['/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios', '--withmod-fcntl', '/tmp/buildbot-arm64/usession-py3.11-2843/test_ioctl_termios.py']) {} Traceback (most recent call last): File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py", line 218, in <module> sys.exit(main_(sys.argv)) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py", line 189, in main_ verbose=interactiveconfig.verbose): File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 108, in run_toplevel f() File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py", line 173, in doit main.run_file(filename, space=space) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 74, in run_file run_string(istring, filename, space) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 62, in run_string _run_eval_string(source, filename, space, False) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 50, in _run_eval_string retval = pycode.exec_code(space, w_globals, w_globals) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/eval.py", line 33, in exec_code return frame.run() File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 256, in run return self.execute_frame() File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 353, in execute_frame raise self._convert_unexpected_exception(e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 844, in _convert_unexpected_exception operr = error.get_converted_unexpected_exception(self.space, e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 349, in execute_frame executioncontext) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyopcode.py", line 68, in dispatch next_instr = self.handle_bytecode(co_code, next_instr, ec) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyopcode.py", line 74, in handle_bytecode next_instr = self.dispatch_bytecode(co_code, next_instr, ec) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyopcode.py", line 313, in dispatch_bytecode self.CALL_METHOD(oparg, next_instr) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/objspace/std/callmethod.py", line 93, in CALL_METHOD w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/baseobjspace.py", line 1264, in call_valuestack nargs, frame, methodcall=methodcall, dropvalues=dropvalues) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/function.py", line 203, in funccall_valuestack return self.call_args(args) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/function.py", line 81, in call_args w_res = self.getcode().funcrun(self, args) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 869, in funcrun return BuiltinCode.funcrun_obj(self, func, None, args) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 884, in funcrun_obj self.handle_exception(space, e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 908, in handle_exception raise error.get_converted_unexpected_exception(space, e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 878, in funcrun_obj w_result = activation._run(space, scope_w) File "<2344-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/tool/sourcetools.py:200>", line 3, in _run return self.behavior(space, scope_w[0], scope_w[1], scope_w[2], space.gateway_int_w(scope_w[3])) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/fcntl/interp_fcntl.py", line 299, in ioctl rv = ioctl_str(fd, op, buf.raw) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py", line 321, in wrapper res = call_external_function(*real_args) File "<2169-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>", line 13, in call_external_function res = funcptr(a0, a1, a2) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/lltype.py", line 1384, in __call__ return callb(*args) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/ll2ctypes.py", line 1342, in __call__ return self.trampoline(*argvalues) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/ll2ctypes.py", line 1370, in invoke_via_ctypes cvalue = cfunc.extraargs[i - natural_arity](cvalue) File "/Users/matti/oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py", line 73, in __init__ self.contents = value File "/Users/matti/oss/pypy-arm64-buildbot/lib_pypy/_ctypes/pointer.py", line 106, in setcontents self._type_.__name__, type(value).__name__)) TypeError: expected ctypes_Array of Char {'nolength': True} *0 instead of LP_ctypes_Array of Char {'nolength': True} *0 ___________________________ TestTermios.test_icanon ____________________________ self = <test_termios.TestTermios object at 0x0000000140c13670> def test_icanon(self): source = py.code.Source(""" import termios import fcntl f = termios.tcgetattr(2) f[3] |= termios.ICANON termios.tcsetattr(2, termios.TCSANOW, f) f = termios.tcgetattr(2) assert len([i for i in f[-1] if isinstance(i, int)]) == 0 assert isinstance(f[-1][termios.VMIN], bytes) assert isinstance(f[-1][termios.VTIME], bytes) print('ok!') """) f = udir.join("test_icanon.py") f.write(source) child = self.spawn(['--withmod-termios', '--withmod-fcntl', str(f)]) > child.expect('ok!') module/termios/test/test_termios.py:117: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../virt_test/site-packages/pexpect/spawnbase.py:355: in expect timeout, searchwindowsize, async_) ../virt_test/site-packages/pexpect/spawnbase.py:383: in expect_list return exp.expect_loop(timeout) ../virt_test/site-packages/pexpect/expect.py:179: in expect_loop return self.eof(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.expect.Expecter object at 0x0000000140c524b8> err = EOF('End Of File (EOF). Empty string style platform.',) def eof(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn._buffer = spawn.buffer_type() spawn._before = spawn.buffer_type() spawn.after = EOF index = self.searcher.eof_index if index >= 0: spawn.match = EOF spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = EOF(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E EOF: End Of File (EOF). Empty string style platform. E <pexpect.pty_spawn.spawn object at 0x0000000140c52250> E command: /Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python E args: ['/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios', '--withmod-fcntl', '/tmp/buildbot-arm64/usession-py3.11-2843/test_icanon.py'] E buffer (last 100 chars): '' E before (last 100 chars): 'e: 840663040\r\npython(9634,0x1f372a2c0) malloc: *** set a breakpoint in malloc_error_break to debug\r\n' E after: <class 'pexpect.exceptions.EOF'> E match: None E match_index: None E exitstatus: None E flag_eof: True E pid: 9634 E child_fd: 19 E closed: False E timeout: 600 E delimiter: <class 'pexpect.exceptions.EOF'> E logfile: <_pytest.capture.EncodedFile object at 0x0000000110935130> E logfile_read: None E logfile_send: None E maxread: 5000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile('ok!') ../virt_test/site-packages/pexpect/expect.py:122: EOF ----------------------------- Captured stdout call ----------------------------- SPAWN: ('/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', ['/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios', '--withmod-fcntl', '/tmp/buildbot-arm64/usession-py3.11-2843/test_icanon.py']) {} python(9634,0x1f372a2c0) malloc: Heap corruption detected, free list is damaged at 0x6000003ef4b0 *** Incorrect guard value: 840663040 python(9634,0x1f372a2c0) malloc: *** set a breakpoint in malloc_error_break to debug ___________________________ TestTermios.test_winsize ___________________________ self = <test_termios.TestTermios object at 0x00000001409bec98> def test_winsize(self): source = py.code.Source(""" import termios termios.tcsetwinsize(2, (50, 200)) size = termios.tcgetwinsize(2) assert size == (50, 200) print('ok!') """) f = udir.join("test_ioctl_termios.py") f.write(source) child = self.spawn(['--withmod-termios', '--withmod-fcntl', str(f)]) > child.expect('ok!') module/termios/test/test_termios.py:148: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../virt_test/site-packages/pexpect/spawnbase.py:355: in expect timeout, searchwindowsize, async_) ../virt_test/site-packages/pexpect/spawnbase.py:383: in expect_list return exp.expect_loop(timeout) ../virt_test/site-packages/pexpect/expect.py:179: in expect_loop return self.eof(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.expect.Expecter object at 0x00000001409bebf0> err = EOF('End Of File (EOF). Empty string style platform.',) def eof(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn._buffer = spawn.buffer_type() spawn._before = spawn.buffer_type() spawn.after = EOF index = self.searcher.eof_index if index >= 0: spawn.match = EOF spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = EOF(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E EOF: End Of File (EOF). Empty string style platform. E <pexpect.pty_spawn.spawn object at 0x00000001409be870> E command: /Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python E args: ['/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios', '--withmod-fcntl', '/tmp/buildbot-arm64/usession-py3.11-2843/test_ioctl_termios.py'] E buffer (last 100 chars): '' E before (last 100 chars): "erand type for long(): 'LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }'\r\n" E after: <class 'pexpect.exceptions.EOF'> E match: None E match_index: None E exitstatus: None E flag_eof: True E pid: 10792 E child_fd: 21 E closed: False E timeout: 600 E delimiter: <class 'pexpect.exceptions.EOF'> E logfile: <_pytest.capture.EncodedFile object at 0x0000000110935130> E logfile_read: None E logfile_send: None E maxread: 5000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile('ok!') ../virt_test/site-packages/pexpect/expect.py:122: EOF ----------------------------- Captured stdout call ----------------------------- SPAWN: ('/Users/matti/build-worker-arm64/own-macos-arm64/build/virt_test/bin/python', ['/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py', '-S', '--withmod-termios', '--withmod-fcntl', '/tmp/buildbot-arm64/usession-py3.11-2843/test_ioctl_termios.py']) {} Traceback (most recent call last): File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py", line 218, in <module> sys.exit(main_(sys.argv)) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py", line 189, in main_ verbose=interactiveconfig.verbose): File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 108, in run_toplevel f() File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/bin/pyinteractive.py", line 173, in doit main.run_file(filename, space=space) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 74, in run_file run_string(istring, filename, space) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 62, in run_string _run_eval_string(source, filename, space, False) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/main.py", line 50, in _run_eval_string retval = pycode.exec_code(space, w_globals, w_globals) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/eval.py", line 33, in exec_code return frame.run() File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 256, in run return self.execute_frame() File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 353, in execute_frame raise self._convert_unexpected_exception(e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 844, in _convert_unexpected_exception operr = error.get_converted_unexpected_exception(self.space, e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyframe.py", line 349, in execute_frame executioncontext) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyopcode.py", line 68, in dispatch next_instr = self.handle_bytecode(co_code, next_instr, ec) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyopcode.py", line 74, in handle_bytecode next_instr = self.dispatch_bytecode(co_code, next_instr, ec) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/pyopcode.py", line 313, in dispatch_bytecode self.CALL_METHOD(oparg, next_instr) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/objspace/std/callmethod.py", line 93, in CALL_METHOD w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args+2) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/baseobjspace.py", line 1264, in call_valuestack nargs, frame, methodcall=methodcall, dropvalues=dropvalues) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/function.py", line 168, in funccall_valuestack return code.fastcall_2(self.space, self, f_1, f_0) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 1006, in fastcall_2 self.handle_exception(space, e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 908, in handle_exception raise error.get_converted_unexpected_exception(space, e) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/gateway.py", line 1001, in fastcall_2 w_result = self.fastfunc_2(space, w1, w2) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/termios/interp_termios.py", line 120, in tcsetwinsize failed = rposix.c_ioctl_voidp(fd, rposix.TIOCGWINSZ, winsize) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py", line 321, in wrapper res = call_external_function(*real_args) File "<59-codegen /Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/rffi.py:217>", line 13, in call_external_function res = funcptr(a0, a1, a2) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/lltype.py", line 1384, in __call__ return callb(*args) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/ll2ctypes.py", line 1342, in __call__ return self.trampoline(*argvalues) File "/Users/matti/build-worker-arm64/own-macos-arm64/build/rpython/rtyper/lltypesystem/ll2ctypes.py", line 1370, in invoke_via_ctypes cvalue = cfunc.extraargs[i - natural_arity](cvalue) File "/Users/matti/oss/pypy-arm64-buildbot/lib_pypy/_ctypes/primitive.py", line 424, in __init__ self.value = value File "/Users/matti/oss/pypy-arm64-buildbot/lib_pypy/_ctypes/primitive.py", line 253, in _setvalue self._buffer[0] = value TypeError: unsupported operand type for long(): 'LP_ctypes_Struct winsize { c_ws_row, c_ws_col, c_ws_xpixel, c_ws_ypixel }' __________________________ AppTestTermios.test_values __________________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000140ff4c28> def test_values(self): import termios d = {} for name in dir(termios): val = getattr(termios, name) if name.isupper() and type(val) is int: d[name] = val > assert sorted(d.items()) == sorted(self.orig_module_dict.items()) E (application-level) AssertionError [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/module/termios/test/test_termios.py:162]:8: AssertionError =========================== short test summary info ============================ FAIL module/termios/test/test_termios.py::TestTermios::()::test_one FAIL module/termios/test/test_termios.py::TestTermios::()::test_ioctl_termios FAIL module/termios/test/test_termios.py::TestTermios::()::test_icanon FAIL module/termios/test/test_termios.py::TestTermios::()::test_winsize FAIL module/termios/test/test_termios.py::AppTestTermios::()::test_values ===================== 5 failed, 5 passed in 113.39 seconds ===================== ++ 04:26:52 starting module/token/test [164 started in total] __ module/token/test [162 done in total, somefailed=False] ____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items module/token/test/apptest_token.py ........ =========================== 8 passed in 7.14 seconds =========================== ++ 04:27:00 starting module/unicodedata/test [165 started in total] __ module/time/test [163 done in total, somefailed=True] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 43 items module/time/test/apptest_time.py ........................F................ module/time/test/test_timeutils.py . module/time/test/test_ztranslation.py . =================================== FAILURES =================================== ____________________________ test_strftime_nonascii ____________________________ @pytest.mark.skipif(sys.platform=="win32", reason='fails on win32') def test_strftime_nonascii(): import time import _locale prev_loc = _locale.setlocale(_locale.LC_TIME) try: _locale.setlocale(_locale.LC_TIME, "fr_CH") except _locale.Error: skip("unsupported locale LC_TIME=fr_CH") try: s = time.strftime('%B.', time.localtime(192039127)) # I am unsure, but I think that this fails because decoding of # the result isn't done in the fr_CH locale. There is no code # to grab the LC_TIME locale specifically, which is the one # used by strftime(). > assert s == "f\xe9vrier." E (application-level) AssertionError: assert 'février.' == 'février.' module/time/test/apptest_time.py:522: AssertionError =========================== short test summary info ============================ FAIL module/time/test/apptest_time.py::test_strftime_nonascii ===================== 1 failed, 42 passed in 53.57 seconds ===================== ++ 04:27:05 starting module/zipimport/test [166 started in total] __ module/zipimport/test [164 done in total, somefailed=False] ________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items module/zipimport/test/apptest_zipimport.py . =========================== 1 passed in 7.60 seconds =========================== ++ 04:27:14 starting module/zlib/test [167 started in total] __ module/unicodedata/test [165 done in total, somefailed=False] ______________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 35 items module/unicodedata/test/test_hyp.py ................ module/unicodedata/test/test_unicodedata.py ................... ========================== 35 passed in 16.77 seconds ========================== ++ 04:27:18 starting objspace/fake/test [168 started in total] __ module/zlib/test [166 done in total, somefailed=False] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 38 items module/zlib/test/test_zlib.py ...................................... ========================== 38 passed in 18.39 seconds ========================== ++ 04:27:34 starting objspace/std/test [169 started in total] __ objspace/fake/test [167 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items objspace/fake/test/test_checkmodule.py ........ objspace/fake/test/test_objspace.py ............. ========================== 21 passed in 16.67 seconds ========================== ++ 04:27:35 starting objspace/test [170 started in total] __ objspace/test [168 done in total, somefailed=False] ________________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 75 items objspace/test/apptest_binop_overriding.py . objspace/test/apptest_descriptor.py ....s.... objspace/test/apptest_descroperation.py ................s...................................... objspace/test/test_descroperation.py .......... ==================== 73 passed, 2 skipped in 14.83 seconds ===================== ++ 04:27:52 starting sandbox/test [171 started in total] __ sandbox/test [169 done in total, somefailed=False] _________________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items sandbox/test/test_pypy_interact.py . ========================== 1 passed in 17.17 seconds =========================== ++ 04:28:13 starting tool/bench/test [172 started in total] __ tool/bench/test [170 done in total, somefailed=False] ______________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items / 1 skipped tool/bench/test/test_pypyresult.py ... ===================== 3 passed, 1 skipped in 0.49 seconds ====================== ++ 04:28:14 starting tool/memusage/test [173 started in total] __ tool/memusage/test [171 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items tool/memusage/test/test_log2gnumeric.py ..... =========================== 5 passed in 0.44 seconds =========================== ++ 04:28:15 starting tool/pytest/fake_pytest/test [174 started in total] __ tool/pytest/fake_pytest/test [172 done in total, somefailed=False] _________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items tool/pytest/fake_pytest/test/apptest_fake_pytest.py . =========================== 1 passed in 7.72 seconds =========================== ++ 04:28:23 starting tool/pytest/test [175 started in total] __ module/thread/test [173 done in total, somefailed=False] ___________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 56 items module/thread/test/test_fork.py s... module/thread/test/test_gil.py .... module/thread/test/test_import_lock.py ..... module/thread/test/test_local.py ....... module/thread/test/test_lock.py ..................... module/thread/test/test_thread.py ............... ==================== 55 passed, 1 skipped in 168.60 seconds ==================== ++ 04:28:26 starting tool/release/test [176 started in total] __ tool/release/test [174 done in total, somefailed=True] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items tool/release/test/test_package.py ....s tool/release/test/test_smartstrip.py FFs =================================== FAILURES =================================== ________________________ TestSmarStrip.test_info_symbol ________________________ self = <pypy.tool.release.test.test_smartstrip.TestSmarStrip object at 0x0000000130d77fa0> exe = local('/private/tmp/buildbot-arm64/pytest/pytest-of-matti/pytest-1146/test_info_symbol0/myprog') def test_info_symbol(self, exe): info = info_symbol(exe, "foo") > assert info == "foo in section .text" E assert '/bin/sh: gdb...and not found' == 'foo in section .text' E - /bin/sh: gdb: command not found E + foo in section .text tool/release/test/test_smartstrip.py:32: AssertionError ___________________________ TestSmarStrip.test_strip ___________________________ self = <pypy.tool.release.test.test_smartstrip.TestSmarStrip object at 0x0000000130ccc410> exe = local('/private/tmp/buildbot-arm64/pytest/pytest-of-matti/pytest-1146/test_strip0/myprog') def test_strip(self, exe): smartstrip(exe, keep_debug=False) info = info_symbol(exe, "foo") > assert info.startswith("No symbol table is loaded") E assert <bound method str.startswith of '/bin/sh: gdb: command not found'>('No symbol table is loaded') E + where <bound method str.startswith of '/bin/sh: gdb: command not found'> = '/bin/sh: gdb: command not found'.startswith tool/release/test/test_smartstrip.py:37: AssertionError =========================== short test summary info ============================ FAIL tool/release/test/test_smartstrip.py::TestSmarStrip::()::test_info_symbol FAIL tool/release/test/test_smartstrip.py::TestSmarStrip::()::test_strip ================ 2 failed, 4 passed, 2 skipped in 21.33 seconds ================ ++ 04:28:50 starting tool/test [177 started in total] __ tool/test [175 done in total, somefailed=False] ____________________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 29 items tool/test/test_gdb_pypy.py ........... tool/test/test_getdocstrings.py ... tool/test/test_isolate.py ....... tool/test/test_lib_pypy.py ... tool/test/test_license.py . tool/test/test_package.py . tool/test/test_tab.py .. tool/test/test_template.py . ========================== 29 passed in 9.66 seconds =========================== __ tool/pytest/test [176 done in total, somefailed=False] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items tool/pytest/test/test_appsupport.py ......... tool/pytest/test/test_astrewrite.py ..... tool/pytest/test/test_conftest1.py ...xx tool/pytest/test/test_pytestsupport.py ...... ==================== 23 passed, 2 xfailed in 105.28 seconds ==================== __ objspace/std/test [177 done in total, somefailed=True] _____________________ ============================= test session starts ============================== platform darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/.hypothesis/examples') pytest-2.9.2 from /Users/matti/build-worker-arm64/own-macos-arm64/build/pytest.pyc rootdir: /Users/matti/build-worker-arm64/own-macos-arm64/build, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2509 items objspace/std/test/apptest_boolobject.py ......... objspace/std/test/apptest_callmethod.py .......... objspace/std/test/apptest_complexobject.py .................................... objspace/std/test/apptest_contains.py .. objspace/std/test/apptest_fstring.py ..................... objspace/std/test/apptest_instmethobject.py ..... objspace/std/test/apptest_iterobject.py ..................... objspace/std/test/apptest_memoryobject.py ........ objspace/std/test/apptest_operation.py . objspace/std/test/apptest_specializedtuple.py ........................ objspace/std/test/apptest_stringformat.py .................s......s..................s........................ objspace/std/test/apptest_tuple.py ........................ objspace/std/test/apptest_typeobjject.py ........ objspace/std/test/apptest_unicode.py ...........................s.......................................................................................... objspace/std/test/apptest_userobject.py ........................ objspace/std/test/test_boolobject.py ....... objspace/std/test/test_bytearrayobject.py ..................................................................................... objspace/std/test/test_bytesobject.py ................................................................................s...................... objspace/std/test/test_callmethod.py ... objspace/std/test/test_celldict.py .......................................... objspace/std/test/test_complexobject.py .... objspace/std/test/test_dictmultiobject.py .........s.s.........................................................s.........................................................s........................................................................... objspace/std/test/test_dictproxy.py ................ objspace/std/test/test_floatobject.py ...................................................... objspace/std/test/test_identitydict.py ..... objspace/std/test/test_identityset.py ....... objspace/std/test/test_index.py ................................... objspace/std/test/test_intobject.py ............................................................................................................................................................. objspace/std/test/test_iterobject.py .... objspace/std/test/test_jsondict.py .......... objspace/std/test/test_kwargsdict.py .................................... objspace/std/test/test_lengthhint.py ..................... objspace/std/test/test_listobject.py .......................................................................s.......................................... objspace/std/test/test_liststrategies.py ...................................................................s................................................................... objspace/std/test/test_longobject.py .................................................... objspace/std/test/test_mapdict.py ..........................................................................................s....................................................... objspace/std/test/test_memoryobject.py ............................................. objspace/std/test/test_methodcache.py ............................................................................................. objspace/std/test/test_newformat.py ...................................................F........... objspace/std/test/test_noneobject.py ... objspace/std/test/test_obj.py ....................................... objspace/std/test/test_prebuiltint.py .............................................................. objspace/std/test/test_proxy.py ssssssssssss objspace/std/test/test_proxy_function.py ........ objspace/std/test/test_proxy_internals.py ....... objspace/std/test/test_proxy_iter.py . objspace/std/test/test_proxy_object.py .......... objspace/std/test/test_proxy_usercreated.py . objspace/std/test/test_random_attr.py s.... objspace/std/test/test_setobject.py ................................................................................................. objspace/std/test/test_setstrategies.py ....s...ss... objspace/std/test/test_sliceobject.py ............. objspace/std/test/test_smalllongobject.py ................................................................................................................................................................................................................................................. objspace/std/test/test_specialisedtupleobject.py ....................ss.... objspace/std/test/test_stdobjspace.py s........ objspace/std/test/test_translate.py . objspace/std/test/test_typeobject.py ............................................................................................................. objspace/std/test/test_unicodeobject.py ................. objspace/std/test/test_userobject.py . objspace/std/test/test_versionedtype.py ............... =================================== FAILURES =================================== __________________ AppTestFloatFormatting.test_locale_german ___________________ self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0000000164013280> def test_locale_german(self): import locale, sys for name in ['de_DE', 'de_DE.utf8']: try: locale.setlocale(locale.LC_NUMERIC, name) break except locale.Error: pass else: skip("no german locale") x = 1234.567890 try: if sys.platform != "darwin": assert locale.format('%g', x, grouping=True) == '1.234,57' assert format(x, 'n') == '1.234,57' assert format(12345678901234, 'n') == '12.345.678.901.234' else: # No thousands separator on German in MacOS since 10.4 > assert locale.format('%g', x, grouping=True) == '1234,57' E (application-level) AssertionError [/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/objspace/std/test/test_newformat.py:410]:19: AssertionError =========================== short test summary info ============================ FAIL objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_locale_german ============= 1 failed, 2477 passed, 31 skipped in 209.54 seconds ============== program finished with exit code 1 elapsedTime=3629.991587