New issue 2388: Sandbox broken in 5.4.0 os.access() called with float mode
https://bitbucket.org/pypy/pypy/issues/2388/sandbox-broken-in-540-osaccess-called-with
Stefano Rivera:
The sandbox fails to get to a REPL in 5.4.0, it seems something is making a
broken call to `os.access()` with a floating point `mode` argument:
```
[sandlib:call] ll_os.ll_os_getenv('PYPY_GENERATIONGC_NURSERY')
[sandlib:result] None
[sandlib:call] ll_os.ll_os_getenv('PYPY_GC_DEBUG')
[sandlib:result] None
[sandlib:call] ll_os.ll_os_envitems()
[sandlib:result] []
[sandlib:call] ll_os.ll_os_stat('/bin/pypy-c')
[sandlib:vpath] '/bin/pypy-c' => <RealFile
/usr/lib/pypy-sandbox/x86_64-linux-gnu/pypy-c-sandbox>
[sandlib:result] posix.stat_result(st...ctime=0)
[sandlib:call] ll_os.ll_os_access('/bin/pypy-c', 1.0)
[sandlib:vpath] '/bin/pypy-c' => <RealFile
/usr/lib/pypy-sandbox/x86_64-linux-gnu/pypy-c-sandbox>
Traceback (most recent call last):
File "/usr/bin/pypy-sandbox", line 12, in <module>
execfile(fn)
File "/usr/lib/python2.7/dist-packages/pypy/sandbox/pypy_interact.py", line
133, in <module>
main()
File "/usr/lib/python2.7/dist-packages/pypy/sandbox/pypy_interact.py", line
128, in main
sandproc.interact()
File
"/usr/lib/python2.7/dist-packages/pypy/sandbox/rpython/translator/sandbox/sandlib.py",
line 325, in interact
returncode = self.handle_until_return()
File
"/usr/lib/python2.7/dist-packages/pypy/sandbox/rpython/translator/sandbox/sandlib.py",
line 252, in handle_until_return
write_exception(child_stdin, e, tb)
File
"/usr/lib/python2.7/dist-packages/pypy/sandbox/rpython/translator/sandbox/sandlib.py",
line 249, in handle_until_return
answer, resulttype = self.handle_message(fnname, *args)
File
"/usr/lib/python2.7/dist-packages/pypy/sandbox/rpython/translator/sandbox/sandlib.py",
line 288, in handle_message
return handler(*args), resulttype
File
"/usr/lib/python2.7/dist-packages/pypy/sandbox/rpython/translator/sandbox/sandlib.py",
line 457, in do_ll_os__ll_os_access
return node.access(mode)
File
"/usr/lib/python2.7/dist-packages/pypy/sandbox/rpython/translator/sandbox/vfs.py",
line 47, in access
return (e_mode & mode) == mode
TypeError: unsupported operand type(s) for &: 'int' and 'float'
```
_______________________________________________
pypy-issue mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-issue