pypy / pypy

PyPy is a very fast and compliant implementation of the Python language.
https://pypy.org
Other
1.09k stars 58 forks source link

Intermittent translation failure on ppc64el: IndexError in compute_lifetimes #2950

Open gitlab-importer opened 5 years ago

gitlab-importer commented 5 years ago

In Heptapod by @stefanor on Feb 9, 2019, 08:48

Seen this a few times, but intermittently, translating pypy3 7.0.0 on ppc64el:

[backendopt:malloc] starting malloc removal
*********%%%%%%%%%%#############################################################
%%%%%%%%%%%%%%%%%%%%#%##########################################################

######.............................+%%+++.......................................
###%+..............................**...........................................
....%...............................*...........................................
.+*%*+................................+++.......................................
++*%%*+++++++++%#++++...............++*%%*+.....................................
*+#**#******%******++++++.....+++++******%**....................................
++*%%%*%%%%%%%%%%%*****++++++%+***%%%%%%%***++.......................%..........
+***%%#%%######%%%%%*****++++***%#%%####%%%**++.................+++%**+.........
****%%%%########%%%%%**%**+++****%%%%%%%%%***++++++++++++++++++*#%***+..........
****%%%%#%####%%%%#%%%%%%**+++*%%##%********+++++++++++++++++#**++++++++++++++++
+*****%%%%%%%%%%%%%%%####%%%*+*%#*******++++++++*+++++++++++++++++++++++++++++++
++********%%%%%%*****%%%%*%%***%****+***++++*++++++++****++++++*#%+++++[1a61a] translation-task}

[Timer] Timings:
[Timer] annotate                       ---  412.7 s
[Timer] rtype_lltype                   ---  578.8 s
[Timer] pyjitpl_lltype                 ---   64.7 s
[Timer] ===========================================
[Timer] Total:                         --- 1056.2 s
[translation:info] Error:
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/goal/translate.py", line 318, in main
    drv.proceed(goals)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/driver.py", line 554, in proceed
    result = self._execute(goals, task_skip = self._maybe_skip())
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/tool/taskengine.py", line 114, in _execute
    res = self._do(goal, taskcallable, *args, **kwds)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/driver.py", line 278, in _do
    res = func()
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/driver.py", line 361, in task_pyjitpl_lltype
    backend_name=self.config.translation.jit_backend, inline=True)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/jit/metainterp/warmspot.py", line 49, in apply_jit
    **kwds)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/jit/metainterp/warmspot.py", line 253, in __init__
    self.prejit_optimizations(policy, graphs)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/jit/metainterp/warmspot.py", line 469, in prejit_optimizations
    replace_we_are_jitted=False)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/all.py", line 90, in backend_optimizations
    inline_graph_from_anywhere=inline_graph_from_anywhere)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/all.py", line 174, in inline_malloc_removal_phase
    remove_mallocs(translator, graphs)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/malloc.py", line 550, in remove_mallocs
    count = remove_simple_mallocs(graph, verbose=translator.config.translation.verbose)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/malloc.py", line 542, in remove_simple_mallocs
    return remover.remove_simple_mallocs(graph)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/malloc.py", line 313, in remove_simple_mallocs
    count = self.remove_mallocs_once(graph)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/malloc.py", line 303, in remove_mallocs_once
    lifetimes = self.compute_lifetimes(graph)
   File "/<<BUILDDIR>>/pypy3-7.0.0+dfsg/rpython/translator/backendopt/malloc.py", line 176, in compute_lifetimes
    node.target, node.target.inputargs[i])
[translation:ERROR] IndexError: list index out of range
[translation] batch mode, not calling interactive helpers

Attachments: buildlog_ubuntu-trusty-ppc64el.pypy3_7.0.0+dfsg-2_ppa1_ubuntu14.04_BUILDING.txt.gz

gitlab-importer commented 5 years ago

In Heptapod by @cfbolz on Feb 13, 2019, 10:28

fwiw, @arigo has seen this too, but we haven't managed to track it down yet :-(