python testrunner/pypyjit_tests.py in dir /buildbot/slave/pypy-c-jit-linux-aarch64/build (timeout 4000 secs) watching logfiles {'pytestLog': 'pypyjit_new.log'} argv: ['python', 'testrunner/pypyjit_tests.py'] environment: AUDITWHEEL_ARCH=aarch64 AUDITWHEEL_PLAT=manylinux_2_28_aarch64 AUDITWHEEL_POLICY=manylinux_2_28 BASH_FUNC__module_raw%%=() { unset _mlshdbg; if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '1' ]; then case "$-" in *v*x*) set +vx; _mlshdbg='vx' ;; *v*) set +v; _mlshdbg='v' ;; *x*) set +x; _mlshdbg='x' ;; *) _mlshdbg='' ;; esac; fi; unset _mlre _mlIFS; if [ -n "${IFS+x}" ]; then _mlIFS=$IFS; fi; IFS=' '; for _mlv in ${MODULES_RUN_QUARANTINE:-}; do if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" = "${_mlv#[0-9]}" ]; then if [ -n "`eval 'echo ${'$_mlv'+x}'`" ]; then _mlre="${_mlre:-}${_mlv}_modquar='`eval 'echo ${'$_mlv'}'`' "; fi; _mlrv="MODULES_RUNENV_${_mlv}"; _mlre="${_mlre:-}${_mlv}='`eval 'echo ${'$_mlrv':-}'`' "; fi; done; if [ -n "${_mlre:-}" ]; then eval `eval ${_mlre} /usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash '"$@"'`; else eval `/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash "$@"`; fi; _mlstatus=$?; if [ -n "${_mlIFS+x}" ]; then IFS=$_mlIFS; else unset IFS; fi; unset _mlre _mlv _mlrv _mlIFS; if [ -n "${_mlshdbg:-}" ]; then set -$_mlshdbg; fi; unset _mlshdbg; return $_mlstatus } BASH_FUNC_ml%%=() { module ml "$@" } BASH_FUNC_module%%=() { _module_raw "$@" 2>&1 } BASH_FUNC_scl%%=() { if [ "$1" = "load" -o "$1" = "unload" ]; then eval "module $@"; else /usr/bin/scl "$@"; fi } BASH_FUNC_switchml%%=() { typeset swfound=1; if [ "${MODULES_USE_COMPAT_VERSION:-0}" = '1' ]; then typeset swname='main'; if [ -e /usr/share/Modules/libexec/modulecmd.tcl ]; then typeset swfound=0; unset MODULES_USE_COMPAT_VERSION; fi; else typeset swname='compatibility'; if [ -e /usr/share/Modules/libexec/modulecmd-compat ]; then typeset swfound=0; MODULES_USE_COMPAT_VERSION=1; export MODULES_USE_COMPAT_VERSION; fi; fi; if [ $swfound -eq 0 ]; then echo "Switching to Modules $swname version"; source /usr/share/Modules/init/bash; else echo "Cannot switch to Modules $swname version, command not found"; return 1; fi } BASH_FUNC_which%%=() { ( alias; eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ } DEVTOOLSET_ROOTPATH=/opt/rh/gcc-toolset-14/root HOME=/home/buildworker HOSTNAME=82ca314034ca LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/gcc-toolset-14/root/usr/lib64:/opt/rh/gcc-toolset-14/root/usr/lib:/opt/rh/gcc-toolset-14/root/usr/lib64/dyninst:/opt/rh/gcc-toolset-14/root/usr/lib/dyninst LESSOPEN=||/usr/bin/lesspipe.sh %s LOADEDMODULES= MANPATH=: MODULEPATH=/etc/scl/modulefiles:/usr/share/Modules/modulefiles:/etc/modulefiles:/usr/share/modulefiles MODULEPATH_modshare=/usr/share/Modules/modulefiles:2:/etc/modulefiles:2:/usr/share/modulefiles:2 MODULESHOME=/usr/share/Modules MODULES_CMD=/usr/share/Modules/libexec/modulecmd.tcl MODULES_RUN_QUARANTINE=LD_LIBRARY_PATH LD_PRELOAD PATH=/tmp/venv/bin:/home/buildworker/.local/bin:/home/buildworker/bin:/usr/share/Modules/bin:/opt/clang/bin:/opt/rh/gcc-toolset-14/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/pypy2.7-v7.3.22-aarch64/bin PKG_CONFIG_PATH=/usr/local/lib/pkgconfig PS1=(venv) [\u@\h \W]\$ PWD=/buildbot/slave/pypy-c-jit-linux-aarch64/build PYPY_LOCALBASE=/usr/local PYPY_MAKE_PORTABLE=1 SHLVL=0 SSL_CERT_FILE=/opt/_internal/certs.pem TERM=xterm TMPDIR=/tmp/pytest VIRTUAL_ENV=/tmp/venv which_declare=declare -f using PTY: False ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-8.0.0-alpha], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /buildbot/slave/pypy-c-jit-linux-aarch64/build/pytest.pyc rootdir: /buildbot/slave/pypy-c-jit-linux-aarch64/build, inifile: pytest.ini collected 1207 items pypy/module/pypyjit/test_pypy_c/test_00_model.py ......................... pypy/module/pypyjit/test_pypy_c/test_alloc.py ................................................... pypy/module/pypyjit/test_pypy_c/test_array.py ....s.. pypy/module/pypyjit/test_pypy_c/test_boolrewrite.py ...................................................................................................................................................................................................................................................................................................................................... pypy/module/pypyjit/test_pypy_c/test_buffers.py .. pypy/module/pypyjit/test_pypy_c/test_bug.py . pypy/module/pypyjit/test_pypy_c/test_call.py .......................... pypy/module/pypyjit/test_pypy_c/test_containers.py ...................... pypy/module/pypyjit/test_pypy_c/test_cprofile.py . pypy/module/pypyjit/test_pypy_c/test_exception.py ..... pypy/module/pypyjit/test_pypy_c/test_ffi.py s..s...... pypy/module/pypyjit/test_pypy_c/test_generators.py ... pypy/module/pypyjit/test_pypy_c/test_getframe.py .. pypy/module/pypyjit/test_pypy_c/test_globals.py . pypy/module/pypyjit/test_pypy_c/test_import.py .. pypy/module/pypyjit/test_pypy_c/test_instance.py ................ pypy/module/pypyjit/test_pypy_c/test_intbound.py .................................................................................................................................................................................................................................................................................. pypy/module/pypyjit/test_pypy_c/test_jitlogparser.py F pypy/module/pypyjit/test_pypy_c/test_math.py ..s.. pypy/module/pypyjit/test_pypy_c/test_micronumpy.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss pypy/module/pypyjit/test_pypy_c/test_min_max.py ... pypy/module/pypyjit/test_pypy_c/test_misc.py ....................... pypy/module/pypyjit/test_pypy_c/test_shift.py ........................................................................................................................................................................................................................... pypy/module/pypyjit/test_pypy_c/test_string.py ................ pypy/module/pypyjit/test_pypy_c/test_struct.py ...... pypy/module/pypyjit/test_pypy_c/test_thread.py ... pypy/module/pypyjit/test_pypy_c/test_weakref.py . =================================== FAILURES =================================== ______________________________ TestLogParser.test ______________________________ self = <pypy.module.pypyjit.test_pypy_c.test_jitlogparser.TestLogParser object at 0x00000000418cc410> def test(self): def fn_with_bridges(N): def is_prime(x): for y in xrange(2, x): if x % y == 0: return False return True result = 0 for x in xrange(N): if x % 3 == 0: result += 5 elif x % 5 == 0: result += 3 elif is_prime(x): result += x elif x == 99: result *= 2 return result # N = 10000 _log = self.run(fn_with_bridges, [N]) log, loops = import_log(_log.logfile) parse_log_counts(extract_category(log, 'jit-backend-count'), loops) is_prime_loops = [] fn_with_bridges_loops = [] bridges = {} lib_re = re.compile("file '.*lib-python.*'") for loop in loops: if hasattr(loop, 'force_asm'): try: > loop.force_asm() pypy/module/pypyjit/test_pypy_c/test_jitlogparser.py:46: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rpython/tool/jitlogparser/parser.py:472: in <lambda> dump_start=start_ofs)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.tool.jitlogparser.parser.SimpleParser object at 0x00000000426f6100> loop = <rpython.jit.tool.oparser_model.ExtendedTreeLoop object at 0x0000000042719c20> backend_dump = '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...b3bbf290ffdff21000e0f200023fd6d0d3ff58b00b00f910ac82d250b3bbf290ffdff2b01300f9100080d250b3bbf290ffdff21000e0f200023fd6' backend_tp = 'arm', dump_start = 281461514704240L def postprocess(self, loop, backend_dump=None, backend_tp=None, dump_start=0): if backend_dump is not None: raw_asm = self._asm_disassemble(backend_dump.decode('hex'), backend_tp, dump_start) # additional mess: if the backend_dump starts with a series # of zeros, raw_asm's first regular line is *after* that, # after a line saying "...". So we assume that start==dump_start # if this parameter was passed. asm = [] start = dump_start for elem in raw_asm: if len(elem.split("\t")) < 3: continue e = elem.split("\t") adr = e[0] v = elem # --- more compactly: " ".join(e[2:]) if not start: # only if 'dump_start' is left at 0 start = int(adr.strip(":"), 16) ofs = int(adr.strip(":"), 16) - start if ofs >= 0: asm.append((ofs, v.strip("\n"))) asm_index = 0 for i, op in enumerate(loop.operations): end = 0 j = i + 1 while end == 0: if j == len(loop.operations): end = loop.last_offset break if loop.operations[j].offset is None: j += 1 else: end = loop.operations[j].offset if op.offset is not None: > while asm[asm_index][0] < op.offset: E IndexError: list index out of range rpython/tool/jitlogparser/parser.py:141: IndexError ----------------------------- Captured stdout call ----------------------------- loading symbols from /buildbot/slave/pypy-c-jit-linux-aarch64/build/pypy/goal/pypy-c... 23 symbols found ----------------------------- Captured stderr call ----------------------------- 0%..loaded =========================== short test summary info ============================ FAIL pypy/module/pypyjit/test_pypy_c/test_jitlogparser.py::TestLogParser::()::test ============= 1 failed, 1046 passed, 160 skipped in 73.85 seconds ============== program finished with exit code 1 elapsedTime=74.301814