I posted a patch to fix the mmap bus error bug SF #462783. After I
posted it I realized I forgot to list my e-mail address. I don't see
how to modify sourceforge so that it will use a good e-mail
address. Is there a way?
Get a beautiful, 100%
Custom Web site
or redesign your
Call now and schedule a walk through
with a Web design specialist.
Includes up to 7 pages (you can add more), plus a Guestbook and a Bulletin
Board. Java rollover buttons, Feedback forms, Pushbutton E-Commerce
Activation and more. It will be constructed to your taste and specifications in only
five days. We do not use templates, our sites are completely custom.
*Must host with us for $15.96 a month. You get: 200 Megs, 100 E-mail accounts,
Control Panel, Front Page, Graphical Statistics, more!
Act now and get one FREE .com domain name!
To discuss your Web site, call 404-806-6124
and schedule a call back now.
I have recently made the upgrade to Python 2.2 from 1.5.2. In the
Python application which I develop, we have several embedded C
functions, one of which is a simple function to convert a hex string to
octal--it simply chars each byte and returns the new buffer. However, I
have noticed a 0.01% error rate in Python 2.2 which I did not see in
Python 1.5.2 (it was 100% accurate). That is, 1 out of 10,000 hex
strings will be converted incorrectly in the C function, usually one
byte is returned as \x00 instead of what is should be. I also have
noticed that in Python 2.2, chr(0xff) returns \xff instead of \377 in
Python 1.5.2. Could this be the source of the communication breakdown?
I should mention that writing a similar conversion function totally in
Python is 100% accurate in Python 2.2 as well as Python 1.5.2, although
it is an order of magnitude slower.
Any information about the apparent source of this issue would be
building 'bsddb' extension
ld: 0711-317 ERROR: Undefined symbol: .dbopen
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
(build/temp.aix-4.3-2.2/bsddbmodule.o up-to-date) ./Modules/ld_so_aix cc
-L/g/g20/jnjohnso/arf/lib -ldb -o build/lib.aix-4.3-2.2/bsddb.so
WARNING: removing "bsddb" since importing it failed
error: build/lib.aix-4.3-2.2/bsddb.so: No such file or directory
make: *** [sharedmods] Error 1
I've been reading the Python Date/Time design Wiki, and was wondering how
all of those issues were shaking out. Specifically, how final is the
current prototype, and what are the outstanding issues yet to be resolved?
The OPAL Group - Enterprise Systems Architect
Voice: (216) 986-0710 x 19 E-mail: jacobs(a)theopalgroup.com
Fax: (216) 986-0714 WWW: http://www.theopalgroup.com
I am seriously considering Python, Tkinter and MySQL for an application project. I have it running on linux and Win98. My questions are, does this sound viable for an accounting application? Can I give it a similar look and feel to existing Windows GUI apps?
> Well, it *also* abuses the ob_refcnt field.
My patch fixes that too (by abusing the gc_prev pointer to chain trash
> How about this wild idea (which Tim & I had simultaneously
> yesterday): change the trashcan code to simply leave the
> object in the GC generational list, and let the GC code
> special-case objects with zero refcnt so that they are
> eventually properly disposed?
That could probably work. What happens when the GC is disabled?
There is insidious bug here. Andrew helped me walk through it and I
think we figured it out. First here's the code to trigger it:
for x in range(20):
t = () # <-- here
for i in range(300):
t = [t, Ouch()]
The line marked with "here" is where things go wrong. t used to refer
to a long chain of [t, Ouch()]. The SETLOCAL macro in ceval calls
Py_XDECREF(GETLOCAL(i)). That starts the deallocation of the list
structure. Ouch.__del__ gets called can creates some more objects,
triggering a collection. The f frame's traverse gets called and tries
to follow the pointer for the t local. It points to memory that was
freed by _PyTrash_destroy_chain.
Hmm, now that I think about it the GC is not needed to trigger the bug:
f_frame = sys._getframe()
t = ()
for i in range(300):
t = [t, Ouch()]
I haven't figured out the correct solution yet. I'm just giving a
status update. :-)
Didn't see this in the Python-SF-FAQ and SF's docs are pretty mum on the
subject... How do I change the password I use when ssh-ing into SF
machines? I used the [change password] form from my SF web page, but when I
ssh in to the compile farm it still wants my old password. Running the
passwd command after logging into a compile farm machine results in
"authentication failure" using both my old and new passwords. Is there
perhaps some other machine I should login to?
(For those of you not involved with the python.org website, this has
immediate practical implications, because it appears one of the python.org
machines was broken into.)
Guido and I have, for a while, been having some discussions about the
Python RPMs. He suggested that I bring the topic up here for further
One of the biggest things that we've discussed is that of the naming of the
resultant Python. With the 2.1 releases, I started installing the latest
stable Python as /usr/bin/python2, so as not to conflict with the Red Hat
1.5.2 version installed in /usr/bin/python (which many of the system tools
For test releases, I've been using the full release name as the extension,
/usr/bin/python2.2c1 (or was it just python2.2?). This is so that multiple
versions can be installed 1.5.2, 2.1, 2.2c1...
I know there are some other things brought up, but I can't remember them
off hand. If it weren't for hackingsociety.org, I probably wouldn't have
*ANY* time to work on community projects this month...
So, first of all, comments on the current naming scheme? Note that the
binary extension can be easily changed by modifying one line in the .spec
file and building again. Handy for users who just want to forget about
1.5.2 and don't mind that some of the RedHat tools may break.
Also, any other comments on the RPMs?
Canadian phone sex: What kind of hockey jersey are you wearing?
Sean Reifschneider, Inimitably Superfluous <jafo(a)tummy.com>
tummy.com - Linux Consulting since 1995. Qmail, KRUD, Firewalls, Python
This phenomenon is not really specific to repr(). It occurs with new-style
classes when methods are assigned.
>>>a = A()
>>>a.__repr__ = lambda: 'abc'
Whenever the method is accessed by Python code it sees the assigned method
in the object's __dict__. Builtins like repr(), iter() etc, see the
original class method. With classic objects both Python and C code see the
assigned function. This is bug #515336 on sourceforge.
Is anyone aware of any other cases where C code and Python code don't see
objects the same way?