C implementation of exceptions module

Hi all,
I've taken /F's C implementation of the standard class-based exceptions, implemented the stuff he left out, proofread for reference counting issues, hacked a bit more, and integrated it with the 1.6 interpreter. Everything seems to work well; i.e. the regression test suite passes and I don't get any core dumps ;).
I don't have the ability right now to Purify things[1], but I've tried to be very careful in handling reference counting. Since I've been hacking on this all day, it could definitely use another set of eyes. I think rather than email a huge patch kit, I'll just go ahead and check the changes in. Please take a look and give it a hard twist.
Thanks to /F for the excellent head start! -Barry
[1] Purify was one of the coolest products on Solaris, but alas it doesn't seem like they'll ever support Linux. What do you all use to do similar memory verification tests on Linux? Or do you just not?

On Fri, 26 May 2000, Barry A. Warsaw wrote:
[1] Purify was one of the coolest products on Solaris, but alas it doesn't seem like they'll ever support Linux. What do you all use to do similar memory verification tests on Linux? Or do you just not?
I'm not aware of anything as good, but there's "memprof" (check for it with "rpm -q"), and I think a few others. Checker is a malloc() & friends implementation that can be used to detect memory errors:
http://www.gnu.org/software/checker/checker.html
and there's ElectricFence from Bruce Perens:
http://www.perens.com/FreeSoftware/
(There's a MailMan related link there are well you might be interested in!) There may be others, and I can't speak to the quality of these as I've not used any of them (yet). memprof and ElectricFence were installed on my Mandrake box without my doing anything about it; I don't know if RedHat installs them on a stock develop box.
-Fred

"Fred" == Fred L Drake fdrake@acm.org writes:
Fred> and there's ElectricFence from Bruce Perens:
Fred> http://www.perens.com/FreeSoftware/
Yup, this comes with RH6.2 and is fairly easy to hook up; just link with -lefence and go. Running an efenced python over the whole test suite fails miserably, but running it over just Lib/test/test_exceptions.py has already (quickly) revealed one refcounting bug, which I will check in to fix later today (as I move Modules/_exceptions.c to Python/exceptions.c).
Fred> (There's a MailMan related link there are well you might be Fred> interested in!)
Indeed! I've seen Bruce contribute on the various Mailman mailing lists.
-Barry

BAW> Yup, this comes with RH6.2 and is fairly easy to hook up; just link BAW> with -lefence and go.
Hmmm... Sounds like an extra configure flag waiting to be added...
Skip

"SM" == Skip Montanaro skip@mojam.com writes:
BAW> Yup, this comes with RH6.2 and is fairly easy to hook up; BAW> just link with -lefence and go.
SM> Hmmm... Sounds like an extra configure flag waiting to be SM> added...
I dunno. I just did a "make -k OPT=-g LIBC=-lefence".
-Barry
participants (3)
-
bwarsaw@python.org
-
Fred L. Drake
-
Skip Montanaro