[pypy-issue] Issue #2348: pypy3-5.2.0-alpha1 fails to translate on FreeBSD (pypy/pypy)

David Naylor issues-reply at bitbucket.org
Wed Jul 20 02:34:14 EDT 2016


New issue 2348: pypy3-5.2.0-alpha1 fails to translate on FreeBSD
https://bitbucket.org/pypy/pypy/issues/2348/pypy3-520-alpha1-fails-to-translate-on

David Naylor:

When translating with PyPy-5.1.1 on FreeBSD 10.3 I get:
```
> /usr/bin/env PYPY_LOCALBASE=/usr/local XDG_DATA_HOME=/usr/local/home/dbn/ports/ports/lang/pypy3/work  XDG_CONFIG_HOME=/usr/local/home/dbn/ports/ports/lang/pypy3/work  HOME=/usr/local/home/dbn/ports/ports/lang/pypy3/work NO_PIE=yes WITHOUT_DEBUG_FILES=yes WITHOUT_KERNEL_SYMBOLS=yes SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing"  CPP="cpp" CPPFLAGS=""  LDFLAGS=" -fstack-protector" LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector -fno-strict-aliasing "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 444"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" TMPDIR=/usr/local/home/dbn/ports/ports/lang/pypy3/work/build  /usr/local/bin/pypy ../../rpython/bin/rpython --source -Ojit targetpypystandalone.py
<snip/>
[7271] translation-task}

[Timer] Timings:
[Timer] annotate                       --- 268.9 s
[Timer] ==========================================
[Timer] Total:                         --- 268.9 s
[translation:info] Error:
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/goal/translate.py", line 317, in main
    drv.proceed(goals)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/driver.py", line 551, in proceed
    result = self._execute(goals, task_skip = self._maybe_skip())
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/tool/taskengine.py", line 114, in _execute
    res = self._do(goal, taskcallable, *args, **kwds)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/driver.py", line 278, in _do
    res = func()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/driver.py", line 315, in task_annotate
    s = annotator.build_types(self.entry_point, self.inputtypes)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 86, in build_types
    return self.build_graph_types(flowgraph, inputs_s, complete_now=complete_now)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 132, in build_graph_types
    self.complete()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 186, in complete
    self.complete_pending_blocks()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 181, in complete_pending_blocks
    self.processblock(graph, block)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 347, in processblock
    self.flowin(graph, block)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 446, in flowin
    self.consider_op(op)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 598, in consider_op
    resultcell = op.consider(self)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/flowspace/operation.py", line 104, in consider
    return spec(annotator, *self.args)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/unaryop.py", line 118, in simple_call_SomeObject
    return s_func.call(argspec)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/rtyper/lltypesystem/lltype.py", line 1579, in call
    v = self.ll_ptrtype._example()(*llargs)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/rtyper/lltypesystem/lltype.py", line 1374, in __call__
    "types: %r" % (self._T, args_repr))
[translation:ERROR] TypeError: calling <Func ( INT, * Array of Char , * Struct stat { c_st_dev, c_st_ino, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c_st_atime, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mtime, c__pad8, c__pad9, c__pad10, c__pad11, c__pad12, c__pad13, c__pad14, c__pad15, c_st_ctime, c__pad16, c__pad17, c__pad18, c__pad19, c__pad20, c__pad21, c__pad22, c__pad23, c_st_size, c_st_blocks, c_st_blksize, c_st_flags, c__pad24, c__pad25, c__pad26, c__pad27, c__pad28, c__pad29, c__pad30, c__pad31, c__pad32, c__pad33, c__pad34, c__pad35, c__pad36, c__pad37, c__pad38, c__pad39, c__pad40, c__pad41, c__pad42, c__pad43, c__pad44, c__pad45, c__pad46, c__pad47 }, INT ) -> INT> with wrong argument types: [<INT>, <* Array of Char >, <* Struct stat { c_st_dev, c_st_ino, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c_st_atime, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mtime, c__pad8, c__pad9
 , c__pad
 10, c__pad11, c__pad12, c__pad13, c__pad14, c__pad15, c_st_ctime, c__pad16, c__pad17, c__pad18, c__pad19, c__pad20, c__pad21, c__pad22, c__pad23, c_st_size, c_st_blocks, c_st_blksize, c_st_flags, c__pad24, c__pad25, c__pad26, c__pad27, c__pad28, c__pad29, c__pad30, c__pad31, c__pad32, c__pad33, c__pad34, c__pad35, c__pad36, c__pad37, c__pad38, c__pad39, c__pad40, c__pad41, c__pad42, c__pad43, c__pad44, c__pad45, c__pad46, c__pad47 }>, <Void>]
Processing block:
 block at 6 is a <class 'rpython.flowspace.flowcontext.SpamBlock'> 
 in (rpython.rtyper.lltypesystem.rffi:3)ccall_fstatat__INT_arrayPtr_statPtr_NoneConst 
 containing the following operations: 
       v741 = simple_call((function release)) 
       v740 = simple_call((function _errno_before), (1)) 
       res_0 = simple_call((<* fn fstatat>), a0_0, a1_0, a2_0, a3_0) 
       v742 = simple_call((function _errno_after), (1)) 
       v743 = simple_call((function acquire)) 
 --end--
[translation] start debugger...
> /usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/rtyper/lltypesystem/lltype.py(1374)__call__()
-> "types: %r" % (self._T, args_repr))
(Pdb+)
```

when translating with Python-2.7.11 I get a different error:
```
> /usr/bin/env PYPY_LOCALBASE=/usr/local XDG_DATA_HOME=/usr/local/home/dbn/ports/ports/lang/pypy3/work  XDG_CONFIG_HOME=/usr/local/home/dbn/ports/ports/lang/pypy3/work  HOME=/usr/local/home/dbn/ports/ports/lang/pypy3/work NO_PIE=yes WITHOUT_DEBUG_FILES=yes WITHOUT_KERNEL_SYMBOLS=yes SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing"  CPP="cpp" CPPFLAGS=""  LDFLAGS=" -fstack-protector" LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector -fno-strict-aliasing "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 444"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" TMPDIR=/usr/local/home/dbn/ports/ports/lang/pypy3/work/build  /usr/local/bin/python2.7 ../../rpython/bin/rpython --source -Ojit targetpypystandalone.py
<snip/>
[Timer] Timings:
[Timer] annotate                       --- 144.9 s
[Timer] ==========================================
[Timer] Total:                         --- 144.9 s
[translation:info] Error:
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/goal/translate.py", line 317, in main
    drv.proceed(goals)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/driver.py", line 551, in proceed
    result = self._execute(goals, task_skip = self._maybe_skip())
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/tool/taskengine.py", line 114, in _execute
    res = self._do(goal, taskcallable, *args, **kwds)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/driver.py", line 278, in _do
    res = func()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/translator/driver.py", line 315, in task_annotate
    s = annotator.build_types(self.entry_point, self.inputtypes)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 86, in build_types
    return self.build_graph_types(flowgraph, inputs_s, complete_now=complete_now)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 132, in build_graph_types
    self.complete()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 186, in complete
    self.complete_pending_blocks()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 181, in complete_pending_blocks
    self.processblock(graph, block)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 347, in processblock
    self.flowin(graph, block)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 513, in flowin
    self.follow_link(graph, link, constraints)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 548, in follow_link
    self.addpendingblock(graph, link.target, inputs_s)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 174, in addpendingblock
    self.mergeinputargs(graph, block, cells)
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/annrpython.py", line 384, in mergeinputargs
    unions = [annmodel.unionof(c1,c2) for c1, c2 in zip(oldcells,inputcells)]
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/model.py", line 753, in unionof
    s1 = pair(s1, s2).union()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/binaryop.py", line 774, in union
    return obj.noneify()
   File "/usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/model.py", line 127, in noneify
    raise UnionError(self, s_None)
[translation:ERROR] UnionError: 

Offending annotations:
  SomeInteger(const=0, knowntype=int, nonneg=True, unsigned=False)
  SomeNone()

In <FunctionGraph of (rpython.rlib.rposix:1970)unlinkat at 0x8219033d0>:
Happened at file /usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/rlib/rposix.py line 1972

            error = c_unlinkat(dir_fd, pathname, flag)
            handle_posix_error('unlinkat', error)

Processing block:
 block at 3 is a <class 'rpython.flowspace.flowcontext.SpamBlock'> 
 in (rpython.rlib.rposix:1970)unlinkat 
 containing the following operations: 
       v512 = bool(removedir_0) 
 --end--
[translation] start debugger...
> /usr/local/home/dbn/ports/ports/lang/pypy3/work/pypy3.3-v5.2.0-alpha1-src/rpython/annotator/model.py(127)noneify()
-> raise UnionError(self, s_None)
```




More information about the pypy-issue mailing list