Adam Olsen added the comment:
signalmodule.c has a hack to limit it to the main thread. Otherwise there's
all sorts of platform-specific behaviour.
--
___
Python tracker
<https://bugs.python.org/i
Adam Olsen added the comment:
signal-safe is different from thread-safe (despite conceptual similarities),
but regardless it's been a long time since I last delved into this so I'm quite
rusty. I could be doing it all wrong.
--
Adam Olsen added the comment:
Converting to/from sig_atomic_t could have a compile time check on currently
supported platforms and isn't buggy for them. For platforms with a different
size you could do a runtime check, only allowing a fd in the range of 0-254
(with 255 reserved);
Adam Olsen added the comment:
Disagree; if you're writing signal-handling code you should be very careful to
do it properly, even if that's only proper for your current platform. If you
can't do it properly you should find an alternative that doesn't involve
sig
Adam Olsen added the comment:
The fd field may be written from the main thread simultaneous with the signal
handler activating and reading it out. Back in 2007 the only POSIX-compliant
type allowed for that was sig_atomic_t, anything else was undefined.
Looks like pycore_atomic.h should
Adam Olsen added the comment:
Signals can directly kill a process. Try SIGTERM to see this. SIGINT is
caught and handled by Python, which just happens to default to a graceful exit
(unless stuck in a lib that prevents that.) Try pasting your script into an
interactive interpreter session
Adam Olsen added the comment:
As far as I know.
--
___
Python tracker
<http://bugs.python.org/issue1441>
___
___
Python-bugs-list mailing list
Unsubscribe:
Adam Olsen added the comment:
I don't believe there's anything to debate on this, so all it really needs is a
patch, followed by getting someone to review and commit it.
--
___
Python tracker
<http://bugs.python.org
Adam Olsen added the comment:
I don't have any direct opinions on this, as it is just a bandaid. fork, as
defined by POSIX, doesn't allow what we do with it, so we're reliant on great
deal of OS and library implementation details. The only portable and robust
solution woul
Adam Olsen added the comment:
There should be a way to walk the unicode string in Python too. Afaik there
isn't.
--
nosy: +Rhamphoryncus
___
Python tracker
<http://bugs.python.org/i
Changes by Adam Olsen :
--
nosy: +Rhamphoryncus
___
Python tracker
<http://bugs.python.org/issue9198>
___
___
Python-bugs-list mailing list
Unsubscribe:
Adam Olsen added the comment:
I assume you mean 63. ;)
--
___
Python tracker
<http://bugs.python.org/issue8188>
___
___
Python-bugs-list mailing list
Unsubscribe:
Adam Olsen added the comment:
Why aren't you using 64-bit hashes on 64-bit architectures?
--
nosy: +Rhamphoryncus
___
Python tracker
<http://bugs.python.org/i
Adam Olsen added the comment:
$ ./python -m timeit -s 'from collections import deque; c =
deque(range(100))' 'c.append(c.popleft())'
100 loops, best of 3: 0.29 usec per loop
$ ./python -m timeit -s 'c = range(100)' 'c.append(c.pop(0))'
1
Adam Olsen added the comment:
On Sun, Jan 10, 2010 at 14:59, Marc-Andre Lemburg
wrote:
> BTW, I'm not aware of any changes to the PyUnicodeObject by some
> fastsearch implementation. Could you point me to this ?
/* We allocate one more byte to make sure the string is Ux
Adam Olsen added the comment:
Points against the subclassing argument:
* We have a null-termination invariant. For byte strings this was part of the
public API, and I'm not sure that's changed for unicode strings; aren't you
arguing that we should maximize how much of our im
Adam Olsen added the comment:
See also issue5127.
--
nosy: +Rhamphoryncus
___
Python tracker
<http://bugs.python.org/issue7663>
___
___
Python-bugs-list mailin
Adam Olsen added the comment:
A better solution would be to block all signals by default, then unblock
specific ones you expect. This avoids races (as undeliverable signals
are simply deferred.)
Note that readline is not threadsafe anyway, so it doesn't necessarily
need to allow calls
Adam Olsen added the comment:
You forget that the original report is about ctrl-C. Should we abandon
support of it for threaded programs? Close as won't-fix?
We could also just block SIGINT, but why? That means we don't support
python signal handlers in threaded programs (signa
Adam Olsen added the comment:
The real, OS signal does not get propagated to the main thread. Only
the python-level signal handler runs from the main thread.
Correctly written programs are supposed to let select block
indefinitely. This allows them to have exactly 0 CPU usage, especially
Adam Olsen added the comment:
That's fine, but please provide a link to the new issue once you create it.
--
___
Python tracker
<http://bugs.python.org/i
Adam Olsen added the comment:
Nope, no access.
--
___
Python tracker
<http://bugs.python.org/issue1722344>
___
___
Python-bugs-list mailing list
Unsubscribe:
Adam Olsen added the comment:
On Mon, Oct 5, 2009 at 12:10, Marc-Andre Lemburg wrote:
> All this is just nitpicking, really. UCS2 is a character set,
> UTF-16 an encoding.
UCS is a character set, for most purposes synonymous with the Unicode
character set. UCS-2 and UTF-16 are both enc
Adam Olsen added the comment:
On Mon, Oct 5, 2009 at 03:03, Marc-Andre Lemburg wrote:
> We use UCS2 on narrow Python builds, not UTF-16.
>
>> We might keep the old public API for compatibility, but it should be
>> clearly marked as broken for non-BMP scalar values.
>
>
Adam Olsen added the comment:
With some further prodding I've noticed that although the test behaves
as expected in the py3k branch (fails on UTF-32 builds before the
patch), it doesn't fail using python 3.0. I'm guessing there's
interactions with compile() vs import an
Adam Olsen added the comment:
Patch, which uses UTF-32-BE as indicated in my last comment. Test included.
--
keywords: +patch
Added file: http://bugs.python.org/file15043/py3k-nonBMP-literal.diff
___
Python tracker
<http://bugs.python.
Adam Olsen added the comment:
Surrogates aren't optional features of UTF-16, we really need to get
this fixed. That includes .isalpha().
We might keep the old public API for compatibility, but it should be
clearly marked as broken for non-BMP scalar values.
I don't see a pr
Adam Olsen added the comment:
I've traced down the biggest problem to decode_unicode in ast.c. It
needs to convert everything into a form of escapes so it becomes pure
ascii, which then become evaluated back into a unicode object.
Unfortunately, it uses UTF-16-BE to do so, which always
Adam Olsen added the comment:
Looks like the failure mode has changed here, presumably due to issue
#3672 patches. It now always fails, even after loading from a .pyc.
This is using py3k via bzr, which reports itself as 3.2a0
$ rm unicodetest.pyc
$ ./python -c 'import unicodetest
Adam Olsen added the comment:
I believe this is a duplicate of issue #3297. When given a high unicode
scalar value directly in the source (rather than in escaped form) python
will split it into surrogates, even on a UTF-32 build where those
surrogates are nonsensical and ill-formed.
Patches
Adam Olsen added the comment:
It'd probably be sufficient if we raised "NameError: lazy import 'foo'
not yet complete". That should require a set of what names this module
is lazy importing, which is checked in the failure paths of module
attribute lookup
Adam Olsen added the comment:
The key distinction between this and a "bad" circular import is that
this is lazy. You may list the import at the top of your module, but
you never touch it until after you've finished importing yourself (and
they feel the same about you.)
An ug
Adam Olsen added the comment:
Fix it at its source: patch your database engine to use the type you
want. Or wrap the list without subclassing (__iter__ may be the only
method you need to wrap).
Obscure performance hacks don't warrant language extensions.
--
nosy: +Rhamphor
Adam Olsen added the comment:
Aye. 2.6 has come and gone, with most or all warnings applied using (I
believe) a different patch. If any future work is needed it can get a
new ticket.
--
status: open -> closed
___
Python tracker
&l
New submission from Adam Olsen :
"destination" is ambiguous. It means opposite things, depending on if
it's the symlink creation operation or if it's the symlink itself.
In contrast, "old" is clearly what existed before the operation, and
"new" is what
Adam Olsen added the comment:
issue 960406 broke this as part of a fix for readline. I believe that
was motivated by fixing ctrl-C in the main thread, but non-main threads
were thrown in as a "why not" measure.
msg 46078 is the mention of this. You can go into readlingsigs7.patch
Changes by Adam Olsen :
--
versions: +Python 2.6, Python 2.7, Python 3.0, Python 3.1
___
Python tracker
<http://bugs.python.org/issue1975>
___
___
Python-bug
Adam Olsen added the comment:
The readline API just sucks. It's not at all designed to be used
simultaneously from multiple threads, so we shouldn't even try. Ban
using it in non-main threads, restore the blocking of signals, and go on
with our merry lives.
--
nosy: +Rha
Adam Olsen added the comment:
Antoine, x ^= x>>4 has a higher collision rate than just a rotate.
However, it's still lower than a statistically random hash.
If you modify the benchmark to randomly discard 90% of its contents this
should give you random addresses, reflecting a l
Adam Olsen added the comment:
Testing with a large set of ids is a good demonstration, but not proof.
Forming a set of *all* possible values within a certain range is proof.
However, XOR does work (OR definitely does not) — it's a 1-to-1
transformation (reversible as you say.)
Additio
Adam Olsen added the comment:
> At four bits, you may be throwing away information and I don't think
> that's cool. Even if some selected timings are better with more bits
> shifted, all you're really showing is that there is more randomness in
> the upper bits tha
Adam Olsen added the comment:
Antoine, I only meant list() and dict() to be an example of objects with
a larger allocation pattern. We get a substantial benefit from the
sequentially increasing memory addresses, and I wanted to make sure that
benefit wasn't lost on larger allocations
Adam Olsen added the comment:
The alignment requirements (long double) make it impossible to have
anything in those bits.
Hypothetically, a custom allocator could lower the alignment
requirements to sizeof(void *). However, rotating to the high bits is
pointless as they're the least like
Adam Olsen added the comment:
Upon further inspection, although a shift of 4 (on a 64-bit linux box)
isn't perfect for dict, it's fairly close to it and well beyond random
hash values. Mixing things more is just gonna lower it towards random
values.
>>> c()
2: 1, 1,
Adam Olsen added the comment:
On my 64-bit linux box there's nothing in the last 4 bits:
>>> [id(o)%16 for o in [object() for i in range(128)]]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Changes by Adam Olsen :
--
nosy: +Rhamphoryncus
___
Python tracker
<http://bugs.python.org/issue3959>
___
___
Python-bugs-list mailing list
Unsubscribe:
Adam Olsen added the comment:
I didn't test it, but the patch looks okay to me.
--
nosy: +Rhamphoryncus
___
Python tracker
<http://bugs.python.org/i
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3999>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I'm in favour of just the doc change now. It's less work and we don't
really need to disable that usage.
___
Python tracker <[EMAIL PROTECTED]>
<ht
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue4006>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I've got another report open about the codecs not properly reporting
errors relating to surrogates: issue 3672
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Marc, I don't understand what you're saying. UTF-16's surrogates are
not optional. Unicode 2.0 and later require them, and Python is
supposed to support it.
Likewise, UCS-4 originally allowed a much larger range of c
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
components: +Unicode
type: -> behavior
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.py
New submission from Adam Olsen <[EMAIL PROTECTED]>:
The Unicode FAQ makes it quite clear that any surrogates in UTF-8 or
UTF-32 should be treated as errors. Lone surrogates in UTF-16 should
probably be treated as errors too (but only during encoding/decoding;
unicode objects on UTF-16
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Graham, I appreciate the history of sub-interpreters and how entrenched
they are. Changing those practises requires a significant investment.
This is an important factor to consider.
The other factor is the continuing maintenan
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3299>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Err, to clarify, the parse/compile/whatever stages is producing broken
UTF-32 (surrogates are ill-formed there too), and that gets transformed
into CESU-8 when the .pyc is saved.
___
Python tracker &
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Marc, perhaps Unicode has refined their definitions since you last looked?
Valid UTF-8 *cannot* contain surrogates[1]. If it does, you have
CESU-8[2][3], not UTF-8.
So there are two bugs: first, the UTF-8 codec should refuse to load
surr
Adam Olsen <[EMAIL PROTECTED]> added the comment:
No, the configure options are wrong - we do use UTF-16 and UTF-32.
Although modern UCS-4 has been restricted down to the range of UTF-32
(it used to be larger!), UCS-2 still doesn't support the supplementary
planes (ie no surrogat
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Simpler way to reproduce this (on linux):
$ rm unicodetest.pyc
$
$ python -c 'import unicodetest'
Result: False
Len: 2 1
Repr: u'\ud800\udd23' u'\U00010123'
$
$ python -c 'import unicodetest
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Basically you just want to kick the malloc implementation into doing
some housekeeping, freeing its caches? I'm kinda surprised you don't
add the hook directly to your libc's malloc.
IMO, there's no use-case for
Adam Olsen <[EMAIL PROTECTED]> added the comment:
How would this allow you to free all memory? The interpreter will still
reference it, so you'd have to have called Py_Finalize already, and
promise not to call Py_Initialize afterwords. This further supposes the
process will live
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Looking over some of the other platforms for thread_*.h, I'm sure
replacing the lock is the right thing.
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.py
Adam Olsen <[EMAIL PROTECTED]> added the comment:
In general I suggest replacing the lock with a new lock, rather than
trying to release the existing one. Releasing *might* work in this
case, only because it's really a semaphore underneath, but it's still
easier to think about b
Adam Olsen <[EMAIL PROTECTED]> added the comment:
It's only checking that the original tstate *for the current thread* and
the new tstate have a different subinterpreter. A subinterpreter can
have multiple tstates, so long as they're all in different threads.
The documentat
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Franco, you need to look at the line above that check:
PyThreadState *check = PyGILState_GetThisThreadState();
if (check && check->interp == newts->interp && check != newts)
Py_FatalErr
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Ahh, I did miss that bit, but it doesn't really matter.
Tell modwsgi to only use the main interpreter ("PythonInterpreter
main_interpreter"), and if you want multiple modules of the same name
put them in different packages
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Apparently modwsgi uses subinterpreters because some third-party
packages aren't sufficiently thread-safe - modwsgi can't fix those
packages, so subinterpreters are the next best thing.
http://groups.google.com/group/modwsgi/b
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue874900>
___
__
New submission from Adam Olsen <[EMAIL PROTECTED]>:
inherit_special contains logic to inherit the base type's tp_basicsize
if the new type doesn't have it set. The logic was spread over several
lines, but actually does almost nothing (presumably an artifact of
previous versio
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Also, make sure you do a "make clean" since you last updated the tree or
touched any file or ran configure. The automatic dependency checking
isn't 100% reliable.
___
Python tracker <
Adam Olsen <[EMAIL PROTECTED]> added the comment:
That looks better. It crashed while deleting an exception, who's args
tuple has a bogus refcount. Could be a refcount issue of the
exception or the args, or of something that that references them, or a
dangling pointer, or a buffer o
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Wed, Jul 2, 2008 at 5:08 PM, Mark Dickinson <[EMAIL PROTECTED]> wrote:
>
> Mark Dickinson <[EMAIL PROTECTED]> added the comment:
>
> Okay. I just got about 5 perfect runs of the test suite, followed by:
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Wed, Jul 2, 2008 at 3:44 PM, Mark Dickinson <[EMAIL PROTECTED]> wrote:
>
> Mark Dickinson <[EMAIL PROTECTED]> added the comment:
>
>> Mark, can you try commenting out _TestCondition and seeing if you can
>&g
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I've checked it again, using the font preferences rather than the zoom
setting, and I can reproduce the problem.
Part of the problem stems from using pixels to set the margin, rather
than ems (or whatever the text box is based on
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Sun, Jun 22, 2008 at 2:56 PM, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
> Le dimanche 22 juin 2008 à 20:40 +0000, Adam Olsen a écrit :
>> Passing in e.args is probably sufficient.
>
> I think it's very optimisti
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Sun, Jun 22, 2008 at 2:20 PM, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
>
> Antoine Pitrou <[EMAIL PROTECTED]> added the comment:
>
> Le dimanche 22 juin 2008 à 19:57 +, Adam Olsen a écrit :
>> T
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Sun, Jun 22, 2008 at 1:48 PM, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
>
> Antoine Pitrou <[EMAIL PROTECTED]> added the comment:
>
> Le dimanche 22 juin 2008 à 19:23 +, Adam Olsen a écrit :
>> For this
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Sun, Jun 22, 2008 at 1:04 PM, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
>
> Antoine Pitrou <[EMAIL PROTECTED]> added the comment:
>
> Le dimanche 22 juin 2008 à 17:17 +, Adam Olsen a écrit :
>> I mean
Adam Olsen <[EMAIL PROTECTED]> added the comment:
On Sun, Jun 22, 2008 at 8:07 AM, Antoine Pitrou <[EMAIL PROTECTED]> wrote:
> You mean they should be detected when the exception is set? I was afraid
> that it may make exception raising slower. Reporting is not performa
Adam Olsen <[EMAIL PROTECTED]> added the comment:
* cause/context cycles should be avoided. Naive traceback printing
could become confused, and I can't think of any accidental way to
provoke it (besides the problem mentioned here.)
* I suspect PyErr_Display handled string except
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3155>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
That's the same version I'm using. Maybe there's some font size differences?
I'm also on a 64-bit AMD.
___
Python tracker <[EMAIL PROTECTED]>
&
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Works for me.
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.pytho
New submission from Adam Olsen <[EMAIL PROTECTED]>:
Found in Modules/_sqlite/cursor.c:
self->statement = PyObject_New(pysqlite_Statement,
&pysqlite_StatementTy
pe);
if (!self->statement) {
goto error;
}
rc = pysqlite_statement_create
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I agree with your agreement.
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3111>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I don't see a problem with skipping it, but if chroot is the problem,
maybe the chroot environment should be fixed to include /dev/shm?
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3107>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Unfortunately, Py_INCREF is sometimes used in an expression (followed by
a comma). I wouldn't expect an assert to be valid there (and I'd want
to check ISO C to make sure it's portable, not just accepted by GCC).
I
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I see no common symbols between #3102 and #3092, so unless I missed
something, they shouldn't be involved.
I second the notion that multiprocessing's use of pickle is the
triggering factor. Registering so many types is
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Jesse, can you be more specific?
Thomas, do you have a specific command to reproduce this? It runs fine
if I do "./python -m test.regrtest -v test_multiprocessing test_ctypes".
That's with amaury'
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus, jnoller
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3125>
___
_
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Looking good.
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3114>
___
___
Python-bugs
Adam Olsen <[EMAIL PROTECTED]> added the comment:
I'm not sure that fix is 100% right - it fixes safety, but not
correctness. Wouldn't it be more correct to move all 3 into
temporaries, assign from tstate, then XDECREF the temporaries?
Otherwise you're going to exp
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +Rhamphoryncus
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3088>
___
__
Adam Olsen <[EMAIL PROTECTED]> added the comment:
This is messy. File descriptors from other threads are leaking into
child processes, and if the write end of a pipe never gets closed in all
of them the read end won't get EOF.
I suspect "cat"'s stdin is getting d
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Another minor nit: "if(current->ob_refcnt > 0)" should have a space
after the "if". Otherwise it's looking good.
___
Python tracker <[EMAIL PROTE
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Ahh, it seems gcmodule already considers the weakref to be reachable
when it calls the callbacks, so it shouldn't be a problem.
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.
Adam Olsen <[EMAIL PROTECTED]> added the comment:
Well, my attempt at a patch didn't work, and yours does, so I guess I
have to support yours. ;)
Can you review my python-incref-from-zero patch? It verifies the
invariant that you need, that once an object hits a refcount of 0 i
Changes by Adam Olsen <[EMAIL PROTECTED]>:
--
nosy: +jnoller
___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3100>
___
___
Python
1 - 100 of 196 matches
Mail list logo