Unable to find image 'ghcr.io/pypy/buildworker_aarch64@sha256:39e5c08e54bfb55bb730b5618bed52ec72a13165d08090e973fd8737276a2526' locally ghcr.io/pypy/buildworker_aarch64@sha256:39e5c08e54bfb55bb730b5618bed52ec72a13165d08090e973fd8737276a2526: Pulling from pypy/buildworker_aarch64 2bf6f7eae01d: Pulling fs layer 9491a71586c0: Pulling fs layer 80db859a6dbb: Pulling fs layer 4f4fb700ef54: Pulling fs layer 0c06b6357be8: Pulling fs layer 37a0e8878423: Pulling fs layer ae8d958c9b65: Pulling fs layer 8e30e6555c77: Pulling fs layer 4f4fb700ef54: Waiting 74cc4344afbc: Pulling fs layer d164ae6ab552: Pulling fs layer d570c27381c9: Pulling fs layer fca0c36a5cc1: Pulling fs layer bc417f31c8bd: Pulling fs layer 6a3e7906bcd2: Pulling fs layer ee44b93dcdad: Pulling fs layer bfd5709a0aa5: Pulling fs layer 34e62fbc45ff: Pulling fs layer 3fa2fe74fee0: Pulling fs layer 860ec70b0915: Pulling fs layer abda7f8ddbb3: Pulling fs layer 3d05953d3094: Pulling fs layer 21e9ed28759e: Pulling fs layer ccfc90884dd7: Pulling fs layer c9d56b8fb456: Pulling fs layer a0320a507be1: Pulling fs layer 3fedcd31e658: Pulling fs layer 69057da610bc: Pulling fs layer 013ec937baf3: Pulling fs layer 0c06b6357be8: Waiting 6e699181850b: Pulling fs layer 162a48abaa81: Pulling fs layer 37a0e8878423: Waiting 3453db4047be: Pulling fs layer ae8d958c9b65: Waiting ea85a8472372: Pulling fs layer 53ca0ab0cacd: Pulling fs layer 8e30e6555c77: Waiting 9e719892baae: Pulling fs layer d2e4827d0830: Pulling fs layer 74cc4344afbc: Waiting d164ae6ab552: Waiting d570c27381c9: Waiting d62258cd4798: Pulling fs layer fca0c36a5cc1: Waiting c24f8376e7d9: Pulling fs layer bc417f31c8bd: Waiting 8ef29104e0a2: Pulling fs layer 6a3e7906bcd2: Waiting 000b52d79574: Pulling fs layer ee44b93dcdad: Waiting 08ee11391e54: Pulling fs layer 83018cbf2c19: Pulling fs layer bfd5709a0aa5: Waiting ebc1d49639e9: Pulling fs layer eeb4c1ce01d1: Pulling fs layer 34e62fbc45ff: Waiting 69057da610bc: Waiting a7e8963e1aa8: Pulling fs layer 82f24063b8df: Pulling fs layer 3fa2fe74fee0: Waiting 013ec937baf3: Waiting cd597171a0fb: Pulling fs layer 860ec70b0915: Waiting 6e699181850b: Waiting abda7f8ddbb3: Waiting 162a48abaa81: Waiting 9e719892baae: Waiting 3d05953d3094: Waiting 3453db4047be: Waiting d2e4827d0830: Waiting ea85a8472372: Waiting d62258cd4798: Waiting 21e9ed28759e: Waiting 53ca0ab0cacd: Waiting c24f8376e7d9: Waiting ccfc90884dd7: Waiting 8ef29104e0a2: Waiting c9d56b8fb456: Waiting 000b52d79574: Waiting a0320a507be1: Waiting a7e8963e1aa8: Waiting 08ee11391e54: Waiting 3fedcd31e658: Waiting 82f24063b8df: Waiting cd597171a0fb: Waiting 83018cbf2c19: Waiting eeb4c1ce01d1: Waiting ebc1d49639e9: Waiting 9491a71586c0: Verifying Checksum 9491a71586c0: Download complete 80db859a6dbb: Verifying Checksum 80db859a6dbb: Download complete 0c06b6357be8: Download complete 4f4fb700ef54: Verifying Checksum 4f4fb700ef54: Download complete 37a0e8878423: Verifying Checksum 37a0e8878423: Download complete 2bf6f7eae01d: Verifying Checksum 2bf6f7eae01d: Download complete 8e30e6555c77: Verifying Checksum 8e30e6555c77: Download complete d164ae6ab552: Verifying Checksum d164ae6ab552: Download complete 74cc4344afbc: Verifying Checksum 74cc4344afbc: Download complete d570c27381c9: Verifying Checksum d570c27381c9: Download complete fca0c36a5cc1: Verifying Checksum fca0c36a5cc1: Download complete 6a3e7906bcd2: Verifying Checksum 6a3e7906bcd2: Download complete bc417f31c8bd: Download complete ee44b93dcdad: Verifying Checksum ee44b93dcdad: Download complete bfd5709a0aa5: Verifying Checksum bfd5709a0aa5: Download complete 34e62fbc45ff: Verifying Checksum 34e62fbc45ff: Download complete ae8d958c9b65: Verifying Checksum ae8d958c9b65: Download complete 3fa2fe74fee0: Verifying Checksum 3fa2fe74fee0: Download complete 3d05953d3094: Download complete 860ec70b0915: Verifying Checksum 860ec70b0915: Download complete abda7f8ddbb3: Verifying Checksum abda7f8ddbb3: Download complete c9d56b8fb456: Download complete a0320a507be1: Verifying Checksum a0320a507be1: Download complete 21e9ed28759e: Verifying Checksum 21e9ed28759e: Download complete 69057da610bc: Verifying Checksum 69057da610bc: Download complete 3fedcd31e658: Verifying Checksum 6e699181850b: Verifying Checksum 6e699181850b: Download complete 013ec937baf3: Verifying Checksum 013ec937baf3: Download complete 3453db4047be: Verifying Checksum 3453db4047be: Download complete 162a48abaa81: Verifying Checksum 162a48abaa81: Download complete ea85a8472372: Verifying Checksum ea85a8472372: Download complete 53ca0ab0cacd: Verifying Checksum 53ca0ab0cacd: Download complete d2e4827d0830: Verifying Checksum d2e4827d0830: Download complete 9e719892baae: Verifying Checksum 9e719892baae: Download complete ccfc90884dd7: Verifying Checksum ccfc90884dd7: Download complete c24f8376e7d9: Verifying Checksum c24f8376e7d9: Download complete d62258cd4798: Verifying Checksum d62258cd4798: Download complete 8ef29104e0a2: Verifying Checksum 8ef29104e0a2: Download complete 000b52d79574: Verifying Checksum 000b52d79574: Download complete 08ee11391e54: Verifying Checksum 08ee11391e54: Download complete 83018cbf2c19: Verifying Checksum 83018cbf2c19: Download complete ebc1d49639e9: Verifying Checksum ebc1d49639e9: Download complete a7e8963e1aa8: Verifying Checksum a7e8963e1aa8: Download complete 82f24063b8df: Download complete cd597171a0fb: Verifying Checksum cd597171a0fb: Download complete eeb4c1ce01d1: Verifying Checksum eeb4c1ce01d1: Download complete 2bf6f7eae01d: Pull complete 9491a71586c0: Pull complete 80db859a6dbb: Pull complete 4f4fb700ef54: Pull complete 0c06b6357be8: Pull complete 37a0e8878423: Pull complete ae8d958c9b65: Pull complete 8e30e6555c77: Pull complete 74cc4344afbc: Pull complete d164ae6ab552: Pull complete d570c27381c9: Pull complete fca0c36a5cc1: Pull complete bc417f31c8bd: Pull complete 6a3e7906bcd2: Pull complete ee44b93dcdad: Pull complete bfd5709a0aa5: Pull complete 34e62fbc45ff: Pull complete 3fa2fe74fee0: Pull complete 860ec70b0915: Pull complete abda7f8ddbb3: Pull complete 3d05953d3094: Pull complete 21e9ed28759e: Pull complete ccfc90884dd7: Pull complete c9d56b8fb456: Pull complete a0320a507be1: Pull complete 3fedcd31e658: Pull complete 69057da610bc: Pull complete 013ec937baf3: Pull complete 6e699181850b: Pull complete 162a48abaa81: Pull complete 3453db4047be: Pull complete ea85a8472372: Pull complete 53ca0ab0cacd: Pull complete 9e719892baae: Pull complete d2e4827d0830: Pull complete d62258cd4798: Pull complete c24f8376e7d9: Pull complete 8ef29104e0a2: Pull complete 000b52d79574: Pull complete 08ee11391e54: Pull complete 83018cbf2c19: Pull complete ebc1d49639e9: Pull complete eeb4c1ce01d1: Pull complete a7e8963e1aa8: Pull complete 82f24063b8df: Pull complete cd597171a0fb: Pull complete Digest: sha256:39e5c08e54bfb55bb730b5618bed52ec72a13165d08090e973fd8737276a2526 Status: Downloaded newer image for ghcr.io/pypy/buildworker_aarch64@sha256:39e5c08e54bfb55bb730b5618bed52ec72a13165d08090e973fd8737276a2526 using config pypy/testrunner_cfg.py using config machine_cfg.py running 4 parallel test workers setting MAKEFLAGS to ' ' (space) -- jit/backend/aarch64/test/test_basic.py -- jit/backend/aarch64/test/test_call.py -- jit/backend/aarch64/test/test_calling_convention.py -- jit/backend/aarch64/test/test_del.py -- jit/backend/aarch64/test/test_dict.py -- jit/backend/aarch64/test/test_exception.py -- jit/backend/aarch64/test/test_fficall.py -- jit/backend/aarch64/test/test_float.py -- jit/backend/aarch64/test/test_instr_builder.py -- jit/backend/aarch64/test/test_jitlog.py -- jit/backend/aarch64/test/test_list.py -- jit/backend/aarch64/test/test_llop.py -- jit/backend/aarch64/test/test_loop_unroll.py -- jit/backend/aarch64/test/test_quasiimmut.py -- jit/backend/aarch64/test/test_rawmem.py -- jit/backend/aarch64/test/test_recursive.py -- jit/backend/aarch64/test/test_runner.py -- jit/backend/aarch64/test/test_rvmprof.py -- jit/backend/aarch64/test/test_send.py -- jit/backend/aarch64/test/test_slist.py -- jit/backend/aarch64/test/test_string.py -- jit/backend/aarch64/test/test_tl.py -- jit/backend/aarch64/test/test_tlc.py -- jit/backend/aarch64/test/test_virtual.py -- jit/backend/aarch64/test/test_virtualizable.py -- jit/backend/aarch64/test/test_virtualref.py -- jit/backend/aarch64/test/test_zrpy_gc.py -- jit/backend/aarch64/test/test_zrpy_gc_boehm.py -- jit/backend/aarch64/test/test_zrpy_releasegil.py -- jit/backend/aarch64/test/test_zrpy_vmprof.py -- jit/backend/aarch64/test/test_ztranslation_basic.py -- jit/backend/aarch64/test/test_ztranslation_call_assembler.py -- jit/backend/aarch64/test/test_ztranslation_jit_stats.py -- total: 33 to run ++ 14:21:49 starting jit/backend/aarch64/test/test_basic.py [1 started in total] ++ 14:21:49 starting jit/backend/aarch64/test/test_call.py [2 started in total] ++ 14:21:49 starting jit/backend/aarch64/test/test_calling_convention.py [3 started in total] ++ 14:21:49 starting jit/backend/aarch64/test/test_del.py [4 started in total] __ jit/backend/aarch64/test/test_del.py [1 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/aarch64/test/test_del.py ... =========================== 3 passed in 8.35 seconds =========================== ++ 14:21:59 starting jit/backend/aarch64/test/test_dict.py [5 started in total] __ jit/backend/aarch64/test/test_call.py [2 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.py rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit/backend/aarch64/test/test_call.py ................ ========================== 16 passed in 12.52 seconds ========================== ++ 14:22:03 starting jit/backend/aarch64/test/test_exception.py [6 started in total] __ jit/backend/aarch64/test/test_exception.py [3 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 32 items jit/backend/aarch64/test/test_exception.py s............................... ==================== 31 passed, 1 skipped in 11.00 seconds ===================== ++ 14:22:15 starting jit/backend/aarch64/test/test_fficall.py [7 started in total] __ jit/backend/aarch64/test/test_calling_convention.py [4 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/backend/aarch64/test/test_calling_convention.py .....s. ===================== 6 passed, 1 skipped in 27.81 seconds ===================== ++ 14:22:21 starting jit/backend/aarch64/test/test_float.py [8 started in total] __ jit/backend/aarch64/test/test_float.py [5 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items jit/backend/aarch64/test/test_float.py ....s..... ===================== 9 passed, 1 skipped in 3.83 seconds ====================== ++ 14:22:27 starting jit/backend/aarch64/test/test_instr_builder.py [9 started in total] __ jit/backend/aarch64/test/test_instr_builder.py [6 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items jit/backend/aarch64/test/test_instr_builder.py ..................... ========================== 21 passed in 1.81 seconds =========================== ++ 14:22:29 starting jit/backend/aarch64/test/test_jitlog.py [10 started in total] __ jit/backend/aarch64/test/test_fficall.py [7 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/backend/aarch64/test/test_fficall.py ...sss...... ===================== 9 passed, 3 skipped in 19.38 seconds ===================== ++ 14:22:36 starting jit/backend/aarch64/test/test_list.py [11 started in total] __ jit/backend/aarch64/test/test_jitlog.py [8 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/aarch64/test/test_jitlog.py ... =========================== 3 passed in 9.31 seconds =========================== ++ 14:22:39 starting jit/backend/aarch64/test/test_llop.py [12 started in total] __ jit/backend/aarch64/test/test_llop.py [9 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/aarch64/test/test_llop.py sssss ========================== 5 skipped in 1.79 seconds =========================== ++ 14:22:42 starting jit/backend/aarch64/test/test_loop_unroll.py [13 started in total] __ jit/backend/aarch64/test/test_list.py [10 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 24 items jit/backend/aarch64/test/test_list.py ...s.................... ==================== 23 passed, 1 skipped in 13.07 seconds ===================== ++ 14:22:50 starting jit/backend/aarch64/test/test_quasiimmut.py [14 started in total] __ jit/backend/aarch64/test/test_dict.py [11 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items jit/backend/aarch64/test/test_dict.py .................... ========================== 20 passed in 55.04 seconds ========================== ++ 14:22:57 starting jit/backend/aarch64/test/test_rawmem.py [15 started in total] __ jit/backend/aarch64/test/test_quasiimmut.py [12 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items jit/backend/aarch64/test/test_quasiimmut.py ..............s..... ===================== 19 passed, 1 skipped in 8.34 seconds ===================== ++ 14:23:00 starting jit/backend/aarch64/test/test_recursive.py [16 started in total] __ jit/backend/aarch64/test/test_rawmem.py [13 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/backend/aarch64/test/test_rawmem.py ....... =========================== 7 passed in 3.03 seconds =========================== ++ 14:23:02 starting jit/backend/aarch64/test/test_runner.py [17 started in total] __ jit/backend/aarch64/test/test_loop_unroll.py [14 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/backend/aarch64/test/test_loop_unroll.py ..............................ss.s... ==================== 34 passed, 3 skipped in 29.68 seconds ===================== ++ 14:23:15 starting jit/backend/aarch64/test/test_rvmprof.py [18 started in total] __ jit/backend/aarch64/test/test_rvmprof.py [15 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/aarch64/test/test_rvmprof.py ... =========================== 3 passed in 5.60 seconds =========================== ++ 14:23:21 starting jit/backend/aarch64/test/test_send.py [19 started in total] __ jit/backend/aarch64/test/test_basic.py [16 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.py rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 199 items jit/backend/aarch64/test/test_basic.py .ss...........................................................................................................................................s...................s..............s...........s......... ==================== 193 passed, 6 skipped in 95.53 seconds ==================== ++ 14:23:30 starting jit/backend/aarch64/test/test_slist.py [20 started in total] __ jit/backend/aarch64/test/test_send.py [17 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items jit/backend/aarch64/test/test_send.py ....................... ========================== 23 passed in 13.28 seconds ========================== ++ 14:23:36 starting jit/backend/aarch64/test/test_string.py [21 started in total] __ jit/backend/aarch64/test/test_slist.py [18 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items jit/backend/aarch64/test/test_slist.py s..... ===================== 5 passed, 1 skipped in 4.45 seconds ====================== ++ 14:23:36 starting jit/backend/aarch64/test/test_tl.py [22 started in total] __ jit/backend/aarch64/test/test_tl.py [19 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/aarch64/test/test_tl.py ..... =========================== 5 passed in 9.82 seconds =========================== ++ 14:23:48 starting jit/backend/aarch64/test/test_tlc.py [23 started in total] __ jit/backend/aarch64/test/test_recursive.py [20 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items jit/backend/aarch64/test/test_recursive.py ................s........s..............ss ==================== 38 passed, 4 skipped in 45.29 seconds ===================== ++ 14:23:52 starting jit/backend/aarch64/test/test_virtual.py [24 started in total] __ jit/backend/aarch64/test/test_tlc.py [21 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/aarch64/test/test_tlc.py ss. ===================== 1 passed, 2 skipped in 5.98 seconds ====================== ++ 14:23:55 starting jit/backend/aarch64/test/test_virtualizable.py [25 started in total] __ jit/backend/aarch64/test/test_virtualizable.py [22 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/backend/aarch64/test/test_virtualizable.py s...x................................ =============== 35 passed, 1 skipped, 1 xfailed in 19.14 seconds =============== ++ 14:24:15 starting jit/backend/aarch64/test/test_virtualref.py [26 started in total] __ jit/backend/aarch64/test/test_virtual.py [23 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items jit/backend/aarch64/test/test_virtual.py .................................................... ========================== 52 passed in 21.41 seconds ========================== ++ 14:24:15 starting jit/backend/aarch64/test/test_zrpy_gc.py [27 started in total] __ jit/backend/aarch64/test/test_virtualref.py [24 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items jit/backend/aarch64/test/test_virtualref.py ..s.................. ==================== 20 passed, 1 skipped in 12.46 seconds ===================== ++ 14:24:30 starting jit/backend/aarch64/test/test_zrpy_gc_boehm.py [28 started in total] __ jit/backend/aarch64/test/test_runner.py [25 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 156 items jit/backend/aarch64/test/test_runner.py ............................................................................................s....ss.....................ssss............s..s......s..sssss.. =================== 141 passed, 15 skipped in 90.51 seconds ==================== read saved errno: 24 read saved errno: 0 read saved errno: 25 read saved errno: 0 ++ 14:24:36 starting jit/backend/aarch64/test/test_zrpy_releasegil.py [29 started in total] __ jit/backend/aarch64/test/test_string.py [26 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 97 items jit/backend/aarch64/test/test_string.py .............................s............................................s...................... ==================== 95 passed, 2 skipped in 57.82 seconds ===================== ++ 14:24:42 starting jit/backend/aarch64/test/test_zrpy_vmprof.py [30 started in total] __ jit/backend/aarch64/test/test_zrpy_gc.py [27 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit/backend/aarch64/test/test_zrpy_gc.py EEEEEEEEEEEEEEEEEEE ==================================== ERRORS ==================================== __________ ERROR at setup of TestShadowStack.test_compile_framework_1 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ---------------------------- Captured stdout setup ----------------------------- {'compile_framework_1': 0, 'compile_framework_2': 1, 'compile_framework_3': 2, 'compile_framework_3_extra': 3, 'compile_framework_4': 4, 'compile_framework_5': 5, 'compile_framework_7': 6, 'compile_framework_7_interior': 7, 'compile_framework_8': 8, 'compile_framework_9': 9, 'compile_framework_bug1': 10, 'compile_framework_call_assembler': 11, 'compile_framework_external_exception_handling': 12, 'compile_framework_float': 13, 'compile_framework_minimal_size_in_nursery': 14, 'compile_framework_vref': 15, 'multiple_pinned': 16, 'pinned_simple': 17, 'pinned_unpin': 18} ---------------------------- Captured stderr setup ----------------------------- [rtyper] specializing: 100 / 1241 blocks (8%) [rtyper] specializing: 200 / 1392 blocks (14%) [rtyper] specializing: 300 / 1392 blocks (21%) [rtyper] specializing: 400 / 1445 blocks (27%) [rtyper] specializing: 500 / 1449 blocks (34%) [rtyper] specializing: 600 / 1449 blocks (41%) [rtyper] specializing: 700 / 1449 blocks (48%) [rtyper] specializing: 800 / 1449 blocks (55%) [rtyper] specializing: 900 / 1449 blocks (62%) [rtyper] specializing: 1000 / 1449 blocks (69%) [rtyper] specializing: 1100 / 1449 blocks (75%) [rtyper] specializing: 1200 / 1449 blocks (82%) [rtyper] specializing: 1300 / 1449 blocks (89%) [rtyper] specializing: 1400 / 1449 blocks (96%) [rtyper] -=- specialized 1449 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 1500 / 1512 blocks (99%) [rtyper] -=- specialized 59 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:removeassert] Removed 1 asserts [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 356 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 20 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 6 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 43 JitCode instances. [jitcodewriter:info] There are 202 -live- ops. Size of liveness is 220 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 18 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 27 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 12 bitstrings, mean length 1.2, max length 2 __________ ERROR at setup of TestShadowStack.test_compile_framework_2 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError __________ ERROR at setup of TestShadowStack.test_compile_framework_3 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError _______ ERROR at setup of TestShadowStack.test_compile_framework_3_extra _______ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError __________ ERROR at setup of TestShadowStack.test_compile_framework_4 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError __________ ERROR at setup of TestShadowStack.test_compile_framework_5 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError __________ ERROR at setup of TestShadowStack.test_compile_framework_7 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError _____ ERROR at setup of TestShadowStack.test_compile_framework_7_interior ______ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError __________ ERROR at setup of TestShadowStack.test_compile_framework_8 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError __________ ERROR at setup of TestShadowStack.test_compile_framework_9 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ERROR at setup of TestShadowStack.test_compile_framework_external_exception_handling cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ________ ERROR at setup of TestShadowStack.test_compile_framework_bug1 _________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ________ ERROR at setup of TestShadowStack.test_compile_framework_vref _________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ________ ERROR at setup of TestShadowStack.test_compile_framework_float ________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ERROR at setup of TestShadowStack.test_compile_framework_minimal_size_in_nursery cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ___ ERROR at setup of TestShadowStack.test_compile_framework_call_assembler ____ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError _____________ ERROR at setup of TestShadowStack.test_pinned_simple _____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError _____________ ERROR at setup of TestShadowStack.test_pinned_unpin ______________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ____________ ERROR at setup of TestShadowStack.test_multiple_pinned ____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ========================== 19 error in 44.63 seconds =========================== ++ 14:25:07 starting jit/backend/aarch64/test/test_ztranslation_basic.py [31 started in total] __ jit/backend/aarch64/test/test_zrpy_gc_boehm.py [28 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/aarch64/test/test_zrpy_gc_boehm.py F =================================== FAILURES =================================== ______________________________ test_compile_boehm ______________________________ def compile_boehm_test(): myjitdriver = JitDriver(greens = [], reds = ['n', 'x']) @dont_look_inside def see(lst, n): assert len(lst) == 3 assert lst[0] == n+10 assert lst[1] == n+20 assert lst[2] == n+30 def main(n, x): while n > 0: myjitdriver.can_enter_jit(n=n, x=x) myjitdriver.jit_merge_point(n=n, x=x) y = X() y.foo = x.foo n -= y.foo see([n+10, n+20, n+30], n) > res = compile_and_run(get_entry(get_g(main)), "boehm", jit=True) jit/backend/llsupport/test/zrpy_gc_boehm_test.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_boehm_test.py:20: in compile_and_run cbuilder = compile(f, gc, **kwds) jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 449 blocks (22%) [rtyper] specializing: 200 / 508 blocks (39%) [rtyper] specializing: 300 / 512 blocks (58%) [rtyper] specializing: 400 / 512 blocks (78%) [rtyper] specializing: 500 / 512 blocks (97%) [rtyper] -=- specialized 512 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 66 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] specializing: 600 / 601 blocks (99%) [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 5 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 1 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 3 -live- ops. Size of liveness is 5 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 =========================== short test summary info ============================ FAIL jit/backend/aarch64/test/test_zrpy_gc_boehm.py::test_compile_boehm ========================== 1 failed in 34.49 seconds =========================== ++ 14:25:08 starting jit/backend/aarch64/test/test_ztranslation_call_assembler.py [32 started in total] __ jit/backend/aarch64/test/test_zrpy_vmprof.py [29 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/aarch64/test/test_zrpy_vmprof.py F =================================== FAILURES =================================== ___________________________ TestZVMprof.test_vmprof ____________________________ self = def test_vmprof(self): from rpython.rlib import rvmprof class MyCode: _vmprof_unique_id = 0 _vmprof_weak_list = RWeakListMixin() ; _vmprof_weak_list.initialize() def __init__(self, name): self.name = name def get_name(code): return code.name code2 = MyCode("py:y:foo:4") rvmprof.register_code(code2, get_name) try: rvmprof.register_code_object_class(MyCode, get_name) except rvmprof.VMProfPlatformUnsupported as e: py.test.skip(str(e)) def get_unique_id(code): return rvmprof.get_unique_id(code) driver = JitDriver(greens = ['code'], reds = ['i', 's', 'num'], is_recursive=True, get_unique_id=get_unique_id) @rvmprof.vmprof_execute_code("xcode13", lambda code, num: code) def main(code, num): return main_jitted(code, num) def main_jitted(code, num): s = 0 i = 0 while i < num: driver.jit_merge_point(code=code, i=i, s=s, num=num) s += (i << 1) if i % 3 == 0 and code is not code2: main(code2, 100) i += 1 return s tmpfilename = str(udir.join('test_rvmprof')) def f(num): rthread.get_ident() # register TLOFS_thread_ident code = MyCode("py:x:foo:3") rvmprof.register_code(code, get_name) fd = os.open(tmpfilename, os.O_WRONLY | os.O_CREAT, 0666) period = 0.0001 rvmprof.enable(fd, period) res = main(code, num) #assert res == 499999500000 rvmprof.disable() os.close(fd) return 0 def check_vmprof_output(): from vmprof import read_profile tmpfile = str(udir.join('test_rvmprof')) stats = read_profile(tmpfile) t = stats.get_tree() assert t.name == 'py:x:foo:3' assert len(t.children) == 1 # jit > self.meta_interp(f, [1000000], inline=True) jit/backend/llsupport/test/zrpy_vmprof_test.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/test/support.py:73: in meta_interp warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 671 blocks (14%) [rtyper] specializing: 200 / 760 blocks (26%) [rtyper] specializing: 300 / 762 blocks (39%) [rtyper] specializing: 400 / 762 blocks (52%) [rtyper] specializing: 500 / 762 blocks (65%) [rtyper] specializing: 600 / 767 blocks (78%) [rtyper] specializing: 700 / 767 blocks (91%) [rtyper] -=- specialized 771 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 800 / 1059 blocks (75%) [rtyper] specializing: 900 / 1059 blocks (84%) [rtyper] specializing: 1000 / 1059 blocks (94%) [rtyper] -=- specialized 284 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 15 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 2 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 1 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] specializing: 1100 / 1100 blocks (100%) [rtyper] -=- specialized 8 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 12 -live- ops. Size of liveness is 22 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 4 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0 =========================== short test summary info ============================ FAIL jit/backend/aarch64/test/test_zrpy_vmprof.py::TestZVMprof::()::test_vmprof ========================== 1 failed in 36.91 seconds =========================== ++ 14:25:20 starting jit/backend/aarch64/test/test_ztranslation_jit_stats.py [33 started in total] __ jit/backend/aarch64/test/test_zrpy_releasegil.py [30 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/aarch64/test/test_zrpy_releasegil.py EEE ==================================== ERRORS ==================================== ________________ ERROR at setup of TestShadowStack.test_simple _________________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ---------------------------- Captured stdout setup ----------------------------- {'close_stack': 0, 'get_set_errno': 1, 'simple': 2} ---------------------------- Captured stderr setup ----------------------------- [rtyper] specializing: 100 / 1219 blocks (8%) [rtyper] specializing: 200 / 1336 blocks (14%) [rtyper] specializing: 300 / 1336 blocks (22%) [rtyper] specializing: 400 / 1340 blocks (29%) [rtyper] specializing: 500 / 1340 blocks (37%) [rtyper] specializing: 600 / 1340 blocks (44%) [rtyper] specializing: 700 / 1340 blocks (52%) [rtyper] specializing: 800 / 1340 blocks (59%) [rtyper] specializing: 900 / 1340 blocks (67%) [rtyper] specializing: 1000 / 1340 blocks (74%) [rtyper] specializing: 1100 / 1340 blocks (82%) [rtyper] specializing: 1200 / 1340 blocks (89%) [rtyper] specializing: 1300 / 1340 blocks (97%) [rtyper] -=- specialized 1340 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 27 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 1400 / 1407 blocks (99%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:removeassert] Removed 2 asserts [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 19 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 31 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 12 JitCode instances. [jitcodewriter:info] There are 38 -live- ops. Size of liveness is 49 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 11 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 ______________ ERROR at setup of TestShadowStack.test_close_stack ______________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError _____________ ERROR at setup of TestShadowStack.test_get_set_errno _____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit/backend/llsupport/test/zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/llsupport/test/zrpy_gc_test.py:105: in compile apply_jit(t) jit/metainterp/warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError =========================== 3 error in 42.64 seconds =========================== __ jit/backend/aarch64/test/test_ztranslation_call_assembler.py [31 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/aarch64/test/test_ztranslation_call_assembler.py F =================================== FAILURES =================================== __ TestTranslationCallAssemblerAarch64.test_direct_assembler_call_translates ___ self = def test_direct_assembler_call_translates(self): """Test CALL_ASSEMBLER and the recursion limit""" # - also tests threadlocalref_get from rpython.rlib.rstackovf import StackOverflow class Thing(object): def __init__(self, val): self.val = val class Frame(object): _virtualizable_ = ['thing'] driver = JitDriver(greens = ['codeno'], reds = ['i', 'frame'], virtualizables = ['frame'], get_printable_location = lambda codeno: str(codeno)) class SomewhereElse(object): pass somewhere_else = SomewhereElse() class Foo(object): pass t = ThreadLocalReference(Foo, loop_invariant=True) tf = ThreadLocalField(lltype.Char, "test_call_assembler_") def change(newthing): somewhere_else.frame.thing = newthing def main(codeno): frame = Frame() somewhere_else.frame = frame frame.thing = Thing(0) portal(codeno, frame) return frame.thing.val def portal(codeno, frame): i = 0 while i < 10: driver.can_enter_jit(frame=frame, codeno=codeno, i=i) driver.jit_merge_point(frame=frame, codeno=codeno, i=i) nextval = frame.thing.val if codeno == 0: subframe = Frame() subframe.thing = Thing(nextval) nextval = portal(1, subframe) elif frame.thing.val > 40: change(Thing(13)) nextval = 13 frame.thing = Thing(nextval + 1) i += 1 if t.get().nine != 9: raise ValueError if ord(tf.getraw()) != 0x92: raise ValueError return frame.thing.val driver2 = JitDriver(greens = [], reds = ['n']) def main2(bound): try: while portal2(bound) == -bound+1: bound *= 2 except StackOverflow: pass return bound def portal2(n): while True: driver2.jit_merge_point(n=n) n -= 1 if n <= 0: return n n = portal2(n) assert portal2(10) == -9 def setup(value): foo = Foo() foo.nine = value t.set(foo) tf.setraw("\x92") return foo def mainall(codeno, bound): foo = setup(bound + 8) result = main(codeno) + main2(bound) keepalive_until_here(foo) return result tmp_obj = setup(9) expected_1 = main(0) res = self.meta_interp(mainall, [0, 1], inline=True, > policy=StopAtXPolicy(change)) jit/backend/llsupport/test/ztranslation_test.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/test/support.py:73: in meta_interp warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 78 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 100 / 369 blocks (27%) [rtyper] specializing: 200 / 435 blocks (45%) [rtyper] specializing: 300 / 488 blocks (61%) [rtyper] specializing: 400 / 488 blocks (81%) [rtyper] -=- specialized 406 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] specializing: 500 / 501 blocks (99%) [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 11 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 6 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 19 -live- ops. Size of liveness is 29 bytes [rtyper] replaced 8 'jit_force_virtualizable' with <* delayed!force_virtualizable_if_necessary> [jitcodewriter] compute_bitstrings: [jitcodewriter] 5 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1 =========================== short test summary info ============================ FAIL jit/backend/aarch64/test/test_ztranslation_call_assembler.py::TestTranslationCallAssemblerAarch64::()::test_direct_assembler_call_translates ========================== 1 failed in 38.97 seconds =========================== __ jit/backend/aarch64/test/test_ztranslation_jit_stats.py [32 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/backend/aarch64/test/test_ztranslation_jit_stats.py sF =================================== FAILURES =================================== ____________ TestTranslationJITStatsAarch64.test_flush_trace_counts ____________ self = def test_flush_trace_counts(self): driver = JitDriver(greens = [], reds = ['i']) def f(): i = 0 while i < 100000: driver.jit_merge_point(i=i) i += 1 def main(): jit_hooks.stats_set_debug(None, True) f() jl.stats_flush_trace_counts(None) return 0 > res = self.meta_interp(main, []) jit/backend/llsupport/test/ztranslation_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/test/support.py:73: in meta_interp warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 7 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 100 / 369 blocks (27%) [rtyper] specializing: 200 / 422 blocks (47%) [rtyper] specializing: 300 / 422 blocks (71%) [rtyper] specializing: 400 / 422 blocks (94%) [rtyper] -=- specialized 411 more blocks -=- [rtyper] -=- specialized 26 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 1 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 1 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0 =========================== short test summary info ============================ FAIL jit/backend/aarch64/test/test_ztranslation_jit_stats.py::TestTranslationJITStatsAarch64::()::test_flush_trace_counts ===================== 1 failed, 1 skipped in 35.79 seconds ===================== __ jit/backend/aarch64/test/test_ztranslation_basic.py [33 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/workspace/rpython/.hypothesis/examples') pytest-2.9.2 from /workspace/pytest.pyc rootdir: /workspace/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/aarch64/test/test_ztranslation_basic.py F =================================== FAILURES =================================== _________________ TestTranslationAarch64.test_stuff_translates _________________ self = def test_stuff_translates(self): # this is a basic test that tries to hit a number of features and their # translation: # - jitting of loops and bridges # - two virtualizable types # - set_param interface # - profiler # - full optimizer # - floats neg and abs # - cast_int_to_float # - llexternal with macro=True # - extra place for the zero after STR instances class BasicFrame(object): _virtualizable_ = ['i'] def __init__(self, i): self.i = i class Frame(BasicFrame): pass eci = ExternalCompilationInfo(post_include_bits=[''' #define pypy_my_fabs(x) fabs(x) '''], includes=['math.h']) myabs1 = rffi.llexternal('pypy_my_fabs', [lltype.Float], lltype.Float, macro=True, releasegil=False, compilation_info=eci) myabs2 = rffi.llexternal('pypy_my_fabs', [lltype.Float], lltype.Float, macro=True, releasegil=True, compilation_info=eci) @jl.returns(jl.MP_FILENAME, jl.MP_LINENO, jl.MP_INDEX) def get_location(): return ("/home.py",0,0) jitdriver = JitDriver(greens = [], reds = ['total', 'frame', 'prev_s', 'j'], virtualizables = ['frame'], get_location = get_location) def f(i, j): for param, _ in unroll_parameters: defl = PARAMETERS[param] set_param(jitdriver, param, defl) set_param(jitdriver, "threshold", 3) set_param(jitdriver, "trace_eagerness", 2) total = 0 frame = Frame(i) j = float(j) prev_s = rstr.mallocstr(16) while frame.i > 3: jitdriver.can_enter_jit(frame=frame, total=total, j=j, prev_s=prev_s) jitdriver.jit_merge_point(frame=frame, total=total, j=j, prev_s=prev_s) _get_virtualizable_token(frame) total += frame.i if frame.i >= 20: frame.i -= 2 frame.i -= 1 j *= -0.712 if j + (-j): raise ValueError j += frame.i k = myabs1(myabs2(j)) if k - abs(j): raise ValueError if k - abs(-j): raise ValueError s = rstr.mallocstr(16) rgc.ll_write_final_null_char(s) rgc.ll_write_final_null_char(prev_s) if (frame.i & 3) == 0: prev_s = s return chr(total % 253) # class Virt2(object): _virtualizable_ = ['i'] def __init__(self, i): self.i = i from rpython.rlib.libffi import types, CDLL, ArgChain from rpython.rlib.test.test_clibffi import get_libm_name libm_name = get_libm_name(sys.platform) jitdriver2 = JitDriver(greens=[], reds = ['v2', 'func', 'res', 'x'], virtualizables = ['v2']) def libffi_stuff(i, j): lib = CDLL(libm_name) func = lib.getpointer('fabs', [types.double], types.double) res = 0.0 x = float(j) v2 = Virt2(i) while v2.i > 0: jitdriver2.jit_merge_point(v2=v2, res=res, func=func, x=x) promote(func) argchain = ArgChain() argchain.arg(x) res = func.call(argchain, rffi.DOUBLE) v2.i -= 1 return res # def main(i, j): a_char = f(i, j) a_float = libffi_stuff(i, j) return ord(a_char) * 10 + int(a_float) expected = main(40, -49) > res = self.meta_interp(main, [40, -49]) jit/backend/llsupport/test/ztranslation_test.py:127: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/backend/test/support.py:73: in meta_interp warmrunnerdesc.finish() jit/metainterp/warmspot.py:298: in finish self.annhelper.finish() rtyper/annlowlevel.py:219: in finish self.finish_rtype() rtyper/annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper/normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper/normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper/normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper/normalizecalls.py:76: TyperError ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 635 blocks (15%) [rtyper] specializing: 200 / 655 blocks (30%) [rtyper] specializing: 400 / 996 blocks (40%) [rtyper] specializing: 500 / 1001 blocks (49%) [rtyper] specializing: 600 / 1025 blocks (58%) [rtyper] specializing: 700 / 1033 blocks (67%) [rtyper] specializing: 800 / 1044 blocks (76%) [rtyper] specializing: 900 / 1074 blocks (83%) [rtyper] specializing: 1000 / 1078 blocks (92%) [rtyper] -=- specialized 1078 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 1100 / 1293 blocks (85%) [rtyper] specializing: 1200 / 1357 blocks (88%) [rtyper] specializing: 1300 / 1357 blocks (95%) [rtyper] -=- specialized 275 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 15 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 20 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 13 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 6 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 5 JitCode instances. [jitcodewriter:info] There are 34 -live- ops. Size of liveness is 110 bytes [rtyper] replaced 0 'jit_force_virtualizable' with <* delayed!force_virtualizable_if_necessary> [rtyper] replaced 5 'jit_force_virtualizable' with <* delayed!force_virtualizable_if_necessary> [jitcodewriter] compute_bitstrings: [jitcodewriter] 9 effectinfos: [jitcodewriter] 2 descrs for arrays [jitcodewriter] 1 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1 =========================== short test summary info ============================ FAIL jit/backend/aarch64/test/test_ztranslation_basic.py::TestTranslationAarch64::()::test_stuff_translates ========================== 1 failed in 44.59 seconds ===========================