Xavier de Gaye added the comment:
That was really fast Victor!
I confirm that the '-R 23:23' refleak test does not crash any more here after
changeset 5d87a6b38422.
--
___
Python tracker
<http://bugs.python.o
Xavier de Gaye added the comment:
With the attached patch (the patch does reintroduce the bug in
'test_incref_decref_API' for testing purposes), it is possible to find the
failing subtest rapidly:
Get the number of subtests (35 subsets):
$ export SUBTEST_RANGE="[]"
$
Changes by Xavier de Gaye :
--
keywords: +patch
Added file: http://bugs.python.org/file36870/subtest_in_range.diff
___
Python tracker
<http://bugs.python.org/issue22
New submission from Xavier de Gaye:
This issue stems from issue 22588.
See message 228968 for the rationale:
Automatize the dichotomy process used to to identify memory leaks, crash,
reference leak, resource leak, etc. in a failing test.
--
components: Tests
messages: 229067
nosy
Xavier de Gaye added the comment:
See msg 228968 for the rationale.
--
___
Python tracker
<http://bugs.python.org/issue22607>
___
___
Python-bugs-list mailin
Xavier de Gaye added the comment:
With the attached patch (the patch does reintroduce the bug in
'test_incref_decref_API' of issue 22588 for testing purposes), it is possible
to find the failing subtest rapidly:
After identifying the failing test, print the list of subtests in thi
Xavier de Gaye added the comment:
> With the attached patch (the patch does reintroduce the bug in
> 'test_incref_decref_API' of issue 22588 for testing purposes)
Sorry for not being more explicit and for being lazy doing a copy paste from
msg 229022:
* this is not a patch, o
Xavier de Gaye added the comment:
@ Georg Brandl
> I don't think this feature is generally useful enough to be included.
>
> * Since you need to modify the test code anyway (adding the try-except), it
> is probably just as much work to do the selection there.
You seem to
Xavier de Gaye added the comment:
The attached patch adds the '-X' and '-Y' options to the regrtest tool,
allowing to select a range of tests and a range of their subtests. The patch
is missing the test cases for the moment.
Limitation:
Does not work very well with ne
Xavier de Gaye added the comment:
This new version of the patch uses a specific exception to skip tests and fixes
a bug when invoking the overriden and wrapped subTest method.
--
Added file: http://bugs.python.org/file36994/regrest_XY_options_2.patch
New submission from Xavier de Gaye:
To reproduce the crash run the following two-lines script and, at the fisrt
(Pdb) prompt, remove the last line of this script (and the following empty
lines if any):
import pdb; pdb.set_trace()
x = 1
then issue the 'quit' pdb command. This wil
Xavier de Gaye added the comment:
Looks similar to the problem fixed at changeset 298d98486794 by Victor Stinner.
--
nosy: +haypo
___
Python tracker
<http://bugs.python.org/issue22
Xavier de Gaye added the comment:
The attached script raises the PyExc_RecursionErrorInst singleton and
reproduces the issue.
The attached patch fixes the issue by ignoring the warning when clearing
PyExc_RecursionErrorInst and clearing the frames associated with its traceback,
in _PyExc_Fini
Changes by Xavier de Gaye :
Added file: http://bugs.python.org/file37279/warn_2.patch
___
Python tracker
<http://bugs.python.org/issue22898>
___
___
Python-bugs-list m
Xavier de Gaye added the comment:
> +/* during Python finalization, warnings may be emited after
> interp->sysdict
> + is cleared: see issue #22898 */
>
> I would prefer to see this comment in the else block.
Indeed.
New updated patch attached.
-
Xavier de Gaye added the comment:
> Why recursion limit is restored? Couldn't the test be simpler without it?
For the sake of explicitness, so that the interpreter will not raise a
RuntimeError during finalization when checking for the recursion limit after
g.throw(MyException) ha
Xavier de Gaye added the comment:
> out can be b'Done.\r\n'. Use self.assertIn.
Ok, new patch attached.
>> If both patches were to be included, the test case in warn_4.patch would
>> test the above patch and not the changes made in Python/_warnings.c.
> You can
Xavier de Gaye added the comment:
Out of curiosity I have tried to figure out how to build another test case
using the model provided by runtimerror_singleton.py. This cannot be done, and
for the following reasons:
The infinite recursion of PyErr_NormalizeException() is supposed to occur as
Xavier de Gaye added the comment:
When tstate->overflowed is already set to 1 before entering
PyErr_NormalizeException() to normalize an exception, the following cases may
occur:
1) Normalizing a built-in exception => instantiation ok.
2) Normalizing a python exception that fails
Changes by Xavier de Gaye :
Added file: http://bugs.python.org/file37333/mymodule.c
___
Python tracker
<http://bugs.python.org/issue22898>
___
___
Python-bugs-list mailin
Changes by Xavier de Gaye :
Added file: http://bugs.python.org/file37334/setup.py
___
Python tracker
<http://bugs.python.org/issue22898>
___
___
Python-bugs-list mailin
New submission from Xavier de Gaye:
This happens on archlinux. Annoying: the terminal becomes unusable unless you
type blindly 'stty sane ', and the backspace key is still wrong.
This does not happen with gdb 7.6.1.
And this does not happen when running gdb with the 'mi
Xavier de Gaye added the comment:
The previous patch failed many tests, sorry.
The attached patch runs successfully test_gdb using gdb/mi.
All the changes that were made in the test cases themselves, remove either a
terminating new line or terminating white spaces in the assertion check
New submission from Xavier de Gaye:
In Doc/howto/pyporting.rst at line "from __future__ import print_statement":
s/print_statement/print_function/
--
assignee: docs@python
components: Documentation
messages: 232600
nosy: brett.cannon, docs@python, xdegaye
priority: norma
Xavier de Gaye added the comment:
This has been fixed by issue 14612 for version 2.7.4.
--
nosy: +xdegaye
___
Python tracker
<http://bugs.python.org/issue23
New submission from Xavier de Gaye:
With the following jump.py script:
def foo():
import pdb; pdb.set_trace()
while 1:
pass
return # this is line 5
foo()
The following debugging session aborts on Python 3.5.0a0 (default:334c01aa7f93,
Dec 3 2014, 16:20:19):
$ python
Xavier de Gaye added the comment:
> Building on OS X 10.10 with the head of the code tree (as of today), I cannot
> reproduce this. Also the disassembly looks fine:
I should have mentionned that I am running a debug build of python.
--
___
New submission from Xavier de Gaye:
The attached test_cancel.py script prints the following error:
Exception in callback SubprocessStreamProtocol.process_exited()
handle:
source_traceback: Object created at (most recent call last):
File "test_cancel.py", l
Xavier de Gaye added the comment:
The exception is not raised when loop.set_debug(False) on my linux box.
So I guess this may be not reproductible on all platforms.
The new attached test_cancel_2.py raises an exception while asyncio debug is
false, by forcing one more iteration of the loop
Xavier de Gaye added the comment:
> Thanks Xavier for the bug report, it should now be fixed.
Works fine with me. Thanks for the patch.
--
___
Python tracker
<http://bugs.python.org/issu
Xavier de Gaye added the comment:
pdb does not ignore breakpoints which are set and hit in a non-main thread.
For example with the attached script:
$ python pdb_thread.py
> pdb_thread.py(5)foo()
-> lineno = 5
(Pdb) break 6
Breakpoint 1 at pdb_thread.py:6
(Pdb) continue
> pdb_thread
Xavier de Gaye added the comment:
The pdb documentation could make an explicit reference to the documentation of
sys.settrace() where it is explained that the function is thread specific.
--
___
Python tracker
<http://bugs.python.org/issue23
Xavier de Gaye added the comment:
The patch is wrong, the frame may not be run by the current PyThreadState.
--
___
Python tracker
<http://bugs.python.org/issue17
New submission from Xavier de Gaye:
The last paragraph of Objects/lnotab_notes.txt explains that the f_lineno
member of the PyFrameObject structure is needed to store the line number of the
last "line" tracing event so that this value may be used as the line number of
the &quo
Xavier de Gaye added the comment:
Uploading the corresponding test cases.
--
Added file: http://bugs.python.org/file39866/f_lineno_tests.patch
___
Python tracker
<http://bugs.python.org/issue24
Changes by Xavier de Gaye :
--
type: -> behavior
___
Python tracker
<http://bugs.python.org/issue24565>
___
___
Python-bugs-list mailing list
Unsubscrib
Xavier de Gaye added the comment:
Slightly better in that pdb exits in case of a syntax error instead of
proposing to restart the program which does not make sense.
A test case is included.
--
Added file: http://bugs.python.org/file40372/pdb_syntax_error.patch
New submission from Xavier de Gaye:
The attached patch fixes this.
--
components: Library (Lib)
files: run_pdb.patch
keywords: patch
messages: 249989
nosy: terry.reedy, xdegaye
priority: normal
severity: normal
status: open
title: run_pdb() in test_pdb.py always returns stderr as None
Xavier de Gaye added the comment:
TLPI (The Linux Programming Interface book) says about the pty implementation
on linux, at section 5 of chapter 64:
If we close all file descriptors referring to the pseudoterminal slave,
then:
a) A read() from the master device fails with the error
Xavier de Gaye added the comment:
The line discipline [1] of a terminal driver and a pty is controlled by
terminal attributes set with tcsetattr() [2][3].
IMHO (as a developer running ptys over asyncio), using a pty implies writing
code at the low level such as configuring the line discipline
Xavier de Gaye added the comment:
This is an artefact that occurs as the result of raising an exception in the
local trace function.
Disassembling the first case of failure of as_context.py with the attached
script gives the following:
9 0 LOAD_GLOBAL 0 (context
Xavier de Gaye added the comment:
The difference lies in the line numbers. When tracing lines, the interpreter
operates on the basis of physical lines, not logical lines
(https://docs.python.org/3/reference/lexical_analysis.html#line-structure).
The local trace function is called on the
New submission from Xavier de Gaye:
On archlinux during an upgrade, the package manager backups some files in /etc
with a .pacnew extension. On my system there are 20 such files, 9 .pacnew files
located in /etc and 11 .pacnew files in subdirectories of /etc. The following
commands are run
Xavier de Gaye added the comment:
FWIW the patch looks good to me.
I find the code in glob.py difficult to read as it happily joins regular
filenames together with os.path.join() or attempts to list the files contained
into a regular file (sic). The attached diff makes the code more correct
Xavier de Gaye added the comment:
glob('invalid_dir/**', recursive=True) triggers the assert that was added by my
patch in _rlistdir().
This new patch fixes this: when there is no magic character in the dirname part
of a split(), and dirname is not an existing directory, then there
New submission from Xavier de Gaye:
The glob module happily joins names of regular files together with
os.path.join() or attempts to list the files contained into a regular file
(sic). The same 'except os.error' statement is used to handle both these cases
and the case of a no
Xavier de Gaye added the comment:
New issue 25596 entered: regular files handled as directories in the glob
module.
Thanks for fixing this Serhiy.
--
___
Python tracker
<http://bugs.python.org/issue25
Xavier de Gaye added the comment:
This second patch rewrites the conditionals that decide whether to call
_iglob() recursively, in a more natural way and without changing the behavior
from the first patch.
Note that when 'dirname == pathname', then basename is empty and glob2() or
g
Xavier de Gaye added the comment:
os.scandir() is called recursively in the last patch and the file descriptors
are not closed until returning from the recursion.
The glob functions should fail explicitly when scandir() raises OSERROR with
posix errno set to EMFILE (The process has too many
Xavier de Gaye added the comment:
I may be missing something, anyway here are few comments on the patch:
Is the call to entry.is_symlink() in _iterdir() necessary since is_dir()
follows symlinks ?
If _iterdir() would yield the DirEntry instance instead of DirEntry.name, then
_rlistdir() could
Xavier de Gaye added the comment:
> and since _iterdir() results are always accumulated in a list
Right, I failed to note that point. And so, since the file descriptor opened by
os.scandir() is closed within each call to recursive _rlistdir(), then my other
comment about EMFILE does not st
Xavier de Gaye added the comment:
Adding a doc patch.
--
Added file: http://bugs.python.org/file41533/glob_scandir_doc.patch
___
Python tracker
<http://bugs.python.org/issue25
Changes by Xavier de Gaye :
Added file: http://bugs.python.org/file41571/glob_scandir_3.patch
___
Python tracker
<http://bugs.python.org/issue25596>
___
___
Python-bug
Xavier de Gaye added the comment:
FWIW I have followed the idea of having _iterdir() yielding the DirEntry entry
instead of the name in Serhiy's patch. There is a slight performance gain. Now
_glob0() and _glob1() do return a list of directories when dironly is true but
there is now an
Xavier de Gaye added the comment:
Oops, the list comprehension in _glob1() of glob_scandir_3.patch should be
instead: names = [x.name for x in _iterdir(dirname, dironly)]
This does not change the tests results except it improves
glob('/usr/lib*/**/*', True) that gives now 820 msec
Xavier de Gaye added the comment:
Actually the microbenchmarks comparison between glob_scandir_2.patch and
glob_scandir_3.patch must be made by removing the call to entry.is_symlink()
also in glob_scandir_2.patch.
In that case the microbenchmarks give about the same results for each patch
Changes by Xavier de Gaye :
--
nosy: +xdegaye
___
Python tracker
<http://bugs.python.org/issue26053>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Xavier de Gaye :
--
nosy: +xdegaye
___
Python tracker
<http://bugs.python.org/issue26072>
___
___
Python-bugs-list mailing list
Unsubscribe:
New submission from Xavier de Gaye:
create_server() used to accept the 'port' parameter as a string before in all
cases (until last december at least).
The following session shows the difference in behavior when the listening
address is INADDR_ANY and
Xavier de Gaye added the comment:
This patch improves changeset c2a53aa27cad by allowing cross-compilation:
The following checks have been made:
* successfull cross-compilation of python3.4 after retrofiting changeset
c2a53aa27cad to python3.4 since I don't have a working
Xavier de Gaye added the comment:
> But I am a bit worried at the new makefile syntax [ifeq directive and
> $(findstring) function]. I suspect it is Gnu specific, and that Python tries
> to support other versions of Make as well.
Yes, they are both GNU extensions :(
To avoid
Xavier de Gaye added the comment:
When tested with runtimerror_singleton_3.py (see msg 231933 above), the latest
Python 3.6.0a0 (default:3eec7bcc14a4, Mar 24 2016, 20:16:19) still crashes:
$ python runtimerror_singleton_3.py
Importing mymodule.
Traceback (most recent call last):
File
Xavier de Gaye added the comment:
Victor,
With warn_5.patch *filename is not set when globals is NULL: setup_context()
returns 0, and so do_warn() returns NULL without calling warn_explicit().
This is different from your initial warn.patch where setup_context() returns 1
in that case and an
New submission from Xavier de Gaye:
The traceback:
Traceback (most recent call last):
File "Lib/logging/handlers.py", line 917, in emit
self.socket.sendto(msg, self.address)
TypeError: getsockaddrarg: AF_INET address must be tuple, not bytes
The attached patch
Xavier de Gaye added the comment:
The _datetime module also calls functions in libm: delta_new() uses
round() and accum() uses modf().
The attached patch updates setup.py for all the modules that use libm.
--
nosy: +xdegaye
Added file: http://bugs.python.org/file42514
Xavier de Gaye added the comment:
Here is a patch that does not use GNU make conditionals.
Patch tested by running the test suite both natively and after a
cross-compilation.
--
Added file: http://bugs.python.org/file42517/cross-chgeset-c2a53aa27cad_2.patch
Xavier de Gaye added the comment:
A unix abstract socket address is defined here:
http://man7.org/linux/man-pages/man7/unix.7.html
as:
"Traditionally, UNIX domain sockets can be either unnamed, or bound to
a filesystem pathname (marked as being of type socket). Linux also
suppor
Xavier de Gaye added the comment:
The patch should be acknowledged in Misc/NEWS to Chi Hsuan Yen and not to me.
--
___
Python tracker
<http://bugs.python.org/issue21
Xavier de Gaye added the comment:
Martin, thanks for the review and the suggestions.
The attached patch makes the following changes:
* do not modify the source files so as not to break builds made from
read-only build sources (as per issue 15819)
* the cross-build copies the graminit.[ch
Xavier de Gaye added the comment:
The SysLogHandlerTest class instantiates a 'server_class' that eventually calls
the
server_bind() method of the TCPServer class of the socketserver module.
This server_bind() method executes the statements:
self.socket.bind(self.serv
Xavier de Gaye added the comment:
makesockaddr() in socketmodule.c calls PyBytes_FromStringAndSize() when the
first byte is a null byte.
My opinion is not worth much in this matter :). The socket documentation does
say that AF_UNIX addresses are "represented as a string, using the file s
Xavier de Gaye added the comment:
Then it seems that makesockaddr() should be fixed instead of the logging
handler.
--
___
Python tracker
<http://bugs.python.org/issue26
Xavier de Gaye added the comment:
I will give it a try.
--
___
Python tracker
<http://bugs.python.org/issue26803>
___
___
Python-bugs-list mailing list
Unsub
Xavier de Gaye added the comment:
Here is the patch.
As a reference, issue #8373 with changeset 1f23bb74f4bc changed the AF_UNIX
socket addresses encoding from UTF-8 to the file system encoding and the
'surrogateescape' error handler (PEP 383).
--
Added file: http://bugs.
Xavier de Gaye added the comment:
This patch corrects the non-ascii quote character in the Misc/NEWS diff.
--
Added file: http://bugs.python.org/file42543/unix_abstract_namespace_3.patch
___
Python tracker
<http://bugs.python.org/issue26
Xavier de Gaye added the comment:
> Why do you make the linking of _freeze_importlib conditional, but always
> build $(PGEN)?
Yes, this is not consistent. The cross-build is correct when both are linked or
when both are not linked. And $(PGENOBJS) are cross-compiled in both cases.
Xavier de Gaye added the comment:
In makesockaddr(), the current implementation does not do any decoding of
AF_UNIX addresses in the abstract namespace in the struct sockaddr_un to bytes
direction, i.e. system to python direction, but does encode a string or bytes
object to struct sockaddr_un
Xavier de Gaye added the comment:
_freeze_importlib and pgen are cross-built in this patch. Patch tested with a
run of the testsuite after a cross-build.
--
Added file: http://bugs.python.org/file42554/crossbuild-sources-readonly_2.patch
___
Python
Xavier de Gaye added the comment:
Android API level 21 has a full fledged locale.h now.
There is still no langinfo.h, this issue is a duplicate of issue #22747.
--
nosy: +xdegaye
___
Python tracker
<http://bugs.python.org/issue17
Xavier de Gaye added the comment:
Android default system encoding is UTF-8 as specified at
http://developer.android.com/reference/java/nio/charset/Charset.html
The platform's default charset is UTF-8. (This is in contrast to some
older implementations, where the default charset depend
Xavier de Gaye added the comment:
This error:
_curses.error: setupterm: could not find terminfo database
does not occur for me after removing the '--disable-database
--disable-home-terminfo' options from the configure options used to
cross-compile ncurses, and after setting th
Xavier de Gaye added the comment:
Thanks.
Cross-compilation for android is fine now.
Tested with a run of test_decimal on android emulator.
Maybe issue #26723 can be closed now as well ?
--
___
Python tracker
<http://bugs.python.org/issue26
Xavier de Gaye added the comment:
With changeset 0d74d4937ab9, test_pwd fails on android API level 21 at
test_values with:
Traceback (most recent call last):
File "/sdcard/org.bitbucket.pyona/lib/python3.6/test/test_pwd.py", line 27,
in test_values
self.assertIsInstance(e
New submission from Xavier de Gaye:
When python is cross-compiled for android with --enable-shared, the following
error occurs:
# python -c "import socket"
Fatal Python error: PyThreadState_Get: no current thread
This also occurs when importing subprocess, asyncore or asyncio bu
New submission from Xavier de Gaye:
The attached patch:
* Sets the recommended android compilation flags, see:
http://developer.android.com/ndk/guides/standalone_toolchain.html#abi. Note
that the android toolchains already set the -fpic flag, as shown with:
arm-linux-androideabi-gcc
New submission from Xavier de Gaye:
Add a COMPILEALL_FLAGS Makefile variable to allow setting this flag to have
legacy locations for byte-code files and save space on mobile devices.
Patch attached.
The '-E' python command line option added to $(PYTHON_FOR_BUILD) in the patch
i
New submission from Xavier de Gaye:
The android loader complains when shared libraries are not linked against their
needed libraries (see also issue #21668). When ncurses is cross-compiled as a
shared library, the curses and readline modules must be linked with
libtinfow.so.
The attached
New submission from Xavier de Gaye:
On linux /usr/include/sys/soundcard.h includes /usr/include/linux/soundcard.h
while on android (also a linux) there is only /usr/include/linux/soundcard.h
Patch attached.
--
components: Cross-Build
files: ossaudiodev.patch
keywords: patch
messages
New submission from Xavier de Gaye:
The attached patch misses a test case.
Also how can we be sure that the '/system/build.prop' file may be guaranteed to
exist on all android devices ?
It is difficult to get a reliable information on the android infrastructure
when the informatio
New submission from Xavier de Gaye:
User ids on android are the ids of the applications and they are used to
enforce the applications access rights. See the 'User IDs and File Access'
section at http://developer.android.com/guide/topics/security/permissions.html.
Most integers ar
New submission from Xavier de Gaye:
HAVE_GETHOSTBYNAME_R is defined on android API 21, but importing the _socket
module fails with:
ImportError: dlopen failed: cannot locate symbol "gethostbyaddr_r"
referenced by "_socket.cpython-36m-i386-linux-gnu.so"
Patch attached
New submission from Xavier de Gaye:
Android defines SO_REUSEPORT on android API 21 but setting this option in the
asyncio tests raises OSError: [Errno 92] Protocol not available.
The attached patch assumes there is a platform.android_ver() function to detect
that this is the android platform
New submission from Xavier de Gaye:
unittest fails to load tests when the tests are in a package that has an
__init__.pyc file and no __init__.py file.
Patch attached.
--
components: Library (Lib)
files: unittest.patch
keywords: patch
messages: 264283
nosy: xdegaye
priority: normal
New submission from Xavier de Gaye:
Revert the changeset commited at issue #20307 as the compilation does not fail
anymore on android API level 21.
Patch attached.
--
components: Cross-Build
files: posixmodule.patch
keywords: patch
messages: 264287
nosy: Alex.Willmer, xdegaye
priority
New submission from Xavier de Gaye:
'AT_EACCESS' is not declared although HAVE_FACCESSAT is defined
'I_PUSH' is not declared
Patch attached.
The patch does not take into account the fact that this may be fixed in future
versions of android.
--
component
Xavier de Gaye added the comment:
Fixing a comment in previous patch.
--
Added file: http://bugs.python.org/file42615/posixmodule.patch
___
Python tracker
<http://bugs.python.org/issue26
Xavier de Gaye added the comment:
Attached are the logcat traces of the abort.
This links helps in reading Android avc messages:
http://www.all-things-android.com/content/debugging-se-android-avc-messages
--
Added file: http://bugs.python.org/file42618/logcat.txt
New submission from Xavier de Gaye:
This issue lists issues that may have to be fixed in the perspective of a
future support of the android platform.
build
issue #26849: android does not support versioning in SONAME
issue #26851: android compilation and link flags
issue #26852: add
Xavier de Gaye added the comment:
It seems to be the same bug.
Source-less distributions are useful on mobile devices where space is sparse.
--
___
Python tracker
<http://bugs.python.org/issue26
Xavier de Gaye added the comment:
New patch taking into account Gregory's comments.
API level 19 is the last to have a sys/linux-syscalls.h header.
All levels have a android/api-level.h header that define __ANDROID_API__.
There is no API level 20, and SYS_getdents64 is defined at API lev
1201 - 1300 of 1614 matches
Mail list logo