[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-12 Thread Adam Olsen
Adam Olsen rha...@gmail.com added the comment: Antoine, x ^= x4 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

[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-11 Thread Adam Olsen
Adam Olsen rha...@gmail.com 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

[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-11 Thread Adam Olsen
Adam Olsen rha...@gmail.com 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

[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-11 Thread Adam Olsen
Adam Olsen rha...@gmail.com 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 than the lower ones

[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-11 Thread Adam Olsen
Adam Olsen rha...@gmail.com 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

[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-10 Thread Adam Olsen
Adam Olsen rha...@gmail.com 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, 0

[issue5186] Reduce hash collisions for objects with no __hash__ method

2009-02-10 Thread Adam Olsen
Adam Olsen rha...@gmail.com 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, 1

[issue5153] Extra ) in optparse sample

2009-02-04 Thread Adam Vandenberg
New submission from Adam Vandenberg fla...@gmail.com: In the Callback example 6: variable arguments section of the optparse documentation, the example code has an extra ) at the end of the last line of the function: setattr(parser.values, option.dest, value)) -- assignee: georg.brandl

[issue3959] Add Google's ipaddr.py to the stdlib

2009-01-05 Thread Adam Olsen
Changes by Adam Olsen rha...@gmail.com: -- nosy: +Rhamphoryncus ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3959 ___ ___ Python-bugs-list

[issue4074] Building a list of tuples has non-linear performance

2008-12-14 Thread Adam Olsen
Adam Olsen rha...@gmail.com added the comment: I didn't test it, but the patch looks okay to me. -- nosy: +Rhamphoryncus ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4074

[issue3999] Real segmentation fault handler

2008-12-10 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3999 ___ ___ Python-bugs-list mailing

[issue1215] Python hang when catching a segfault

2008-12-05 Thread Adam Olsen
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] http://bugs.python.org/issue1215

[issue4006] os.getenv silently discards env variables with non-UTF-8 values

2008-12-04 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4006 ___ ___ Python-bugs-list mailing

[issue3297] Python interpreter uses Unicode surrogate pairs only before the pyc is created

2008-09-02 Thread Adam Olsen
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 code points, but it no longer

[issue3297] Python interpreter uses Unicode surrogate pairs only before the pyc is created

2008-09-02 Thread Adam Olsen
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.python.org/issue3297

[issue2001] Pydoc interactive browsing enhancement

2008-08-31 Thread Ron Adam
Ron Adam [EMAIL PROTECTED] added the comment: New patch to replace outdated patch due to other changes to pydoc. The easies way to try this out is to: import pydoc pydoc.gui() Try it before and after the patch. I think most people will prefer the patch. Added file: http://bugs.python.org

[issue2001] Pydoc interactive browsing enhancement

2008-08-31 Thread Ron Adam
Changes by Ron Adam [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file9350/pydocnotk.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue2001

[issue2001] Pydoc interactive browsing enhancement

2008-08-31 Thread Ron Adam
Changes by Ron Adam [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file9423/pydocnotk.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue2001

[issue2001] Pydoc interactive browsing enhancement

2008-08-31 Thread Ron Adam
Changes by Ron Adam [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file9448/pydocnotk.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue2001

[issue3672] Ill-formed surrogates not treated as errors during encoding/decoding

2008-08-24 Thread Adam Olsen
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 builds

[issue3672] Ill-formed surrogates not treated as errors during encoding/decoding

2008-08-24 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- components: +Unicode type: - behavior ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3672 ___ ___ Python

[issue1674032] Make threading.Event().wait(timeout=3) return isSet

2008-08-20 Thread Adam Milner
Adam Milner [EMAIL PROTECTED] added the comment: I would like to add my support for this change. As David described, it is often useful to know why the x.wait() has returned, not just that it has. -- nosy: +carmiac ___ Python tracker [EMAIL

[issue3490] Example Code Error in Tutorial Documentation

2008-08-02 Thread Adam
Adam [EMAIL PROTECTED] added the comment: You know what, you're absolutely right. My apologies for sending the bad submission. =\ ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3490

[issue3490] Example Code Error in Tutorial Documentation

2008-08-01 Thread Adam
New submission from Adam [EMAIL PROTECTED]: In section 4.4 of the Python Tutorial (http://docs.python.org/tut/node6.html) there is a code example using prime numbers that results extraneous output. The else is incorrectly indented one tab too far to the right and is nested under (for x in range

[issue1758146] Crash in PyObject_Malloc

2008-07-21 Thread Adam Olsen
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 maintenance and development

[issue3299] invalid object destruction in re.finditer()

2008-07-19 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3299 ___ ___ Python-bugs-list mailing

[issue3297] Python interpreter uses Unicode surrogate pairs only before the pyc is created

2008-07-12 Thread Adam Olsen
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 surrogates

[issue3297] Python interpreter uses Unicode surrogate pairs only before the pyc is created

2008-07-12 Thread Adam Olsen
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 [EMAIL

[issue3297] Python interpreter uses Unicode surrogate pairs only before the pyc is created

2008-07-11 Thread Adam Olsen
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' Result: True Len: 1 1 Repr: u'\U00010123' u

[issue3297] Python interpreter uses Unicode surrogate pairs only before the pyc is created

2008-07-11 Thread Adam Olsen
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 surrogates

[issue3329] API for setting the memory allocator used by Python

2008-07-10 Thread Adam Olsen
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 this until Py_Finalize can

[issue874900] threading module can deadlock after fork

2008-07-09 Thread Adam Olsen
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 by just replacing

[issue874900] threading module can deadlock after fork

2008-07-09 Thread Adam Olsen
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.python.org/issue874900

[issue3329] API for setting the memory allocator used by Python

2008-07-09 Thread Adam Olsen
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 a long time

[issue874900] threading module can deadlock after fork

2008-07-08 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue874900 ___ ___ Python-bugs-list mailing

[issue1758146] Crash in PyObject_Malloc

2008-07-08 Thread Adam Olsen
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/browse_frm/thread

[issue1758146] Crash in PyObject_Malloc

2008-07-08 Thread Adam Olsen
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. Any other problems (trac

[issue1758146] Crash in PyObject_Malloc

2008-07-08 Thread Adam Olsen
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_FatalError(Invalid thread state

[issue1758146] Crash in PyObject_Malloc

2008-07-08 Thread Adam Olsen
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 documentation is referring

[issue3268] Cleanup of tp_basicsize inheritance

2008-07-03 Thread Adam Olsen
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 versions), so here's

[issue3088] test_multiprocessing hangs on OS X 10.5.3

2008-07-02 Thread Adam Olsen
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 still get it to hang?; I removed

[issue3088] test_multiprocessing hangs on OS X 10.5.3

2008-07-02 Thread Adam Olsen
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: Macintosh-3:trunk dickinsm$ ./python.exe -m

[issue3088] test_multiprocessing hangs on OS X 10.5.3

2008-07-02 Thread Adam Olsen
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 overrun, etc

[issue3088] test_multiprocessing hangs on OS X 10.5.3

2008-07-02 Thread Adam Olsen
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 [EMAIL PROTECTED] http

[issue3154] Quick search box renders too long on FireFox 3

2008-06-27 Thread Adam Olsen
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). However

[issue3112] implement PEP 3134 exception reporting

2008-06-23 Thread Adam Olsen
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 +, Adam Olsen a écrit : Passing in e.args is probably sufficient. I think it's very optimistic :-) Some exception objects can hold

[issue3112] implement PEP 3134 exception reporting

2008-06-22 Thread Adam Olsen
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 exceptions in 2.x

[issue3112] implement PEP 3134 exception reporting

2008-06-22 Thread Adam Olsen
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 performance sensitive in comparison

[issue3112] implement PEP 3134 exception reporting

2008-06-22 Thread Adam Olsen
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 meant only that trivial cycles should be detected

[issue3112] implement PEP 3134 exception reporting

2008-06-22 Thread Adam Olsen
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 behaviour, this is the most natural way to write

[issue3112] implement PEP 3134 exception reporting

2008-06-22 Thread Adam Olsen
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 : That's still O(n). I'm not so easily convinced it's

[issue3155] Python should expose a pthread_cond_timedwait API for threading

2008-06-21 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3155 ___ ___ Python-bugs-list mailing

[issue3153] sqlite leaks on error

2008-06-20 Thread Adam Olsen
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(self-statement, self

[issue3154] Quick search box renders too long on FireFox 3

2008-06-20 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Works for me. -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3154 ___ ___ Python

[issue3154] Quick search box renders too long on FireFox 3

2008-06-20 Thread Adam Olsen
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] http://bugs.python.org/issue3154

[issue3111] multiprocessing ppc Debian/ ia64 Ubuntu compilation error

2008-06-17 Thread Adam Olsen
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.python.org/issue3111

[issue3111] multiprocessing ppc Debian/ ia64 Ubuntu compilation error

2008-06-17 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: I agree with your agreement. ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3111 ___ ___ Python-bugs-list mailing

[issue3125] test_multiprocessing causes test_ctypes to fail

2008-06-16 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus, jnoller ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3125 ___ ___ Python-bugs-list

[issue3125] test_multiprocessing causes test_ctypes to fail

2008-06-16 Thread Adam Olsen
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's patch from 3100 applied

[issue3125] test_multiprocessing causes test_ctypes to fail

2008-06-16 Thread Adam Olsen
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 ugly, and IMO it shouldn't

[issue3100] weakref subclass segfault

2008-06-16 Thread Adam Olsen
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'd like if Py_INCREF and friends

[issue3107] memory leak in make test (in test list), 2.5.2 not 2.5.1, Linux 64bit

2008-06-16 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3107 ___ ___ Python-bugs-list mailing

[issue3114] bus error on lib2to3

2008-06-15 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Looking good. ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3114 ___ ___ Python-bugs-list mailing list

[issue2320] Race condition in subprocess using stdin

2008-06-14 Thread Adam Olsen
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 duplicated like that, but I haven't

[issue3088] test_multiprocessing hangs on OS X 10.5.3

2008-06-14 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3088 ___ ___ Python-bugs-list mailing

[issue3114] bus error on lib2to3

2008-06-14 Thread Adam Olsen
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 expose just the value or traceback

[issue3100] weakref subclass segfault

2008-06-13 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Patch to add extra sanity checks to Py_INCREF (only if Py_DEBUG is set). If the refcount is 0 or negative if calls Py_FatalError. This should catch revival bugs such as this one a little more clearly. The patch also adds a little more checking

[issue3095] multiprocessing initializes flags dict unsafely

2008-06-13 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Aww, that's cheating. (Why didn't I think of that?) ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3095

[issue3100] weakref subclass segfault

2008-06-13 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +jnoller ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3100 ___ ___ Python-bugs-list mailing list

[issue3100] weakref subclass segfault

2008-06-13 Thread Adam Olsen
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 it won't get raised

[issue3100] weakref subclass segfault

2008-06-13 Thread Adam Olsen
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.python.org/issue3100

[issue3100] weakref subclass segfault

2008-06-13 Thread Adam Olsen
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 PROTECTED] http://bugs.python.org/issue3100

[issue3093] Namespace polution from multiprocessing

2008-06-12 Thread Adam Olsen
New submission from Adam Olsen [EMAIL PROTECTED]: All these in multiprocessing.h are lacking suitable py/_py/Py/_Py/PY/_PY prefixes: PyObject *mp_SetError(PyObject *Type, int num); extern PyObject *pickle_dumps; extern PyObject *pickle_loads; extern PyObject *pickle_protocol; extern PyObject

[issue3095] multiprocessing initializes flags dict unsafely

2008-06-12 Thread Adam Olsen
New submission from Adam Olsen [EMAIL PROTECTED]: multiprocessing.c currently has code like this: temp = PyDict_New(); if (!temp) return; if (PyModule_AddObject(module, flags, temp) 0) return; PyModule_AddObject consumes the reference

[issue3093] Namespace polution from multiprocessing

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: The directory is irrelevant. C typically uses a flat namespace for symbols. If python loads this library it will conflict with any other libraries using the same name. This has happened numerous times in the past, so there's no questioning

[issue3095] multiprocessing initializes flags dict unsafely

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: This doesn't look right. PyDict_SetItemString doesn't steal the references passed to it, so your reference to flags will be leaked each time. Besides, I think it's a little cleaner to INCREF it before call PyModule_AddObject, then DECREF

[issue3100] segfault after loading multiprocessing.reduction

2008-06-12 Thread Adam Olsen
New submission from Adam Olsen [EMAIL PROTECTED]: $ ./python Python 2.6a3+ (unknown, Jun 12 2008, 20:10:55) [GCC 4.2.3 (Debian 4.2.3-1)] on linux2 Type help, copyright, credits or license for more information. import multiprocessing.reduction [55604 refs] [55604 refs] Segmentation fault

[issue3100] segfault after loading multiprocessing.reduction

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: op is a KeyedRef instance. The instance being cleared from the module is the multiprocessing.util._afterfork_registry. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7d626b0 (LWP 2287)] 0x0809a131

[issue3100] segfault from multiprocessing.util.register_after_fork

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: More specific test case. -- title: segfault after loading multiprocessing.reduction - segfault from multiprocessing.util.register_after_fork Added file: http://bugs.python.org/file10610/register_after_fork-crash.py

[issue3100] segfault from multiprocessing.util.register_after_fork

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Very specific test case, eliminating multiprocessing entirely. It may be an interaction between having the watched obj as its own key in the WeakValueDictionary and the order in which the two modules are cleared. Added file: http

[issue3100] segfault from multiprocessing.util.register_after_fork

2008-06-12 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: Added file: http://bugs.python.org/file10612/inner.py ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3100

[issue3100] segfault from multiprocessing.util.register_after_fork

2008-06-12 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file10610/register_after_fork-crash.py ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3100

[issue3100] segfault with WeakValueDictionary and module clearing

2008-06-12 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- title: segfault from multiprocessing.util.register_after_fork - segfault with WeakValueDictionary and module clearing ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3100

[issue3100] weakref subclass segfault

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Specific enough yet? Seems the WeakValueDictionary and the module clearing aren't necessary. A subclass of weakref is created. The target of this weakref is added as an attribute of the weakref. So long as a callback is present

[issue3100] weakref subclass segfault

2008-06-12 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file10612/inner.py ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3100

[issue3100] weakref subclass segfault

2008-06-12 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file10611/outer.py ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3100

[issue3100] weakref subclass segfault

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: 1. MyRef is released from the module as part of shutdown 2. MyRef's subtype_dealloc DECREFs its dictptr (not clearing it, as MyRef is dead and should be unreachable) 3. the dict DECREFs the Dummy (MyRef's target) 4. Dummy's subtype_dealloc calls

[issue3100] weakref subclass segfault

2008-06-12 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Ahh, I missed a detail: when the callback is called the weakref has a refcount of 0, which is ICNREFed to 1 when getting put in the args, then drops down to 0 again when the args are DECREFed (causing it to get _Py_ForgetReference to be called

[issue1683] Thread local storage and PyGILState_* mucked up by os.fork()

2008-06-11 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Updated version of roudkerk's patch. Adds the new function to pythread.h and is based off of current trunk. Note that Parser/intrcheck.c isn't used on my box, so it's completely untested. roudkerk's original analysis is correct. The TLS

[issue1683] Thread local storage and PyGILState_* mucked up by os.fork()

2008-06-11 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Incidentally, it doesn't seem necessary to reinitialize the lock. Posix duplicates the lock, so if you hold it when you fork your child will be able to unlock it and use it as normal. Maybe there's some non-Posix behaviour or something even more

[issue2320] Race condition in subprocess using stdin

2008-06-10 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue2320 ___ ___ Python-bugs-list mailing

[issue3021] Lexical exception handlers

2008-06-07 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: I agree, the argument for a syntax error is weak. It's more instinct than anything else. I don't think I'd be able to convince you unless Guido had the same instinct I do. ;) ___ Python tracker [EMAIL

[issue3021] Lexical exception handlers

2008-06-06 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: PEP 3134's implicit exception chaining (if accepted) would require your semantic, and your semantic is simpler anyway (even if the implementation is non-trivial), so consider my objections to be dropped. PEP 3134 also proposes implicit chaining

[issue3021] Lexical exception handlers

2008-06-06 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: PEP 3134 gives reason to change it. __context__ should be set from whatever exception is active from the try/finally, thus it should be the inner block, not the outer except block. This flipping of behaviour, and the general ambiguity, is why I

[issue643841] New class special method lookup change

2008-06-05 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: The inplace operators aren't right for weakref proxies. If a new object is returned there likely won't be another reference to it and the weakref will promptly be cleared. This could be fixed with another property like _target, which by default

[issue3042] Add PEP 8 compliant aliases to threading module

2008-06-05 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3042 ___ ___ Python-bugs-list mailing

[issue1758146] Crash in PyObject_Malloc

2008-06-03 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Does the PythonInterpreter option create multiple interpreters within a single process, rather than spawning separate processes? IMO, that API should be ripped out. They aren't truly isolated interpreters and nobody I've asked has yet provided

[issue1758146] Crash in PyObject_Malloc

2008-06-03 Thread Adam Olsen
Adam Olsen [EMAIL PROTECTED] added the comment: Right, so it's only the python modules loaded as part of the app that need to be isolated. You don't need the stdlib or any other part of the interpreter to be isolated. This could be done either by not using the normal import mechanism (build

[issue3021] Lexical exception handlers

2008-06-02 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3021 ___ ___ Python-bugs-list mailing

[issue2507] Exception state lives too long in 3.0

2008-05-30 Thread Adam Olsen
Changes by Adam Olsen [EMAIL PROTECTED]: -- nosy: +Rhamphoryncus ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue2507 ___ ___ Python-bugs-list mailing

<    1   2   3   4   5   6   7   >