This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Logs from Purify and Insure(?)
Type: Stage:
Components: Interpreter Core Versions:
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: barry Nosy List: barry, rminsk, tim.peters
Priority: normal Keywords:

Created on 2001-05-18 21:42 by rminsk, last changed 2022-04-10 16:04 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
python.plog rminsk, 2001-05-18 22:38 Purify output
python.ins rminsk, 2001-05-19 00:24
Messages (8)
msg4807 - (view) Author: Robert Minsk (rminsk) Date: 2001-05-18 21:42
While trying to debug a memory corruption problem I may
have run across a problem in Objects/tupleobject.c. 
Line 363 reads:

for (i = o->ob_size; --i >= 0; ) {

Should it be?

for (i = o->ob_size - 1; --i >= 0; ) {
msg4808 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2001-05-18 21:53
Logged In: YES 
user_id=31435

Zoomed the priority and assigned to me.  Good eye!  The 
same bug appears in listobject.c too.  I'll review all the 
xxx_traverse methods while I'm at it -- cut-&-paste bugs 
are deadly.  Thanks!
msg4809 - (view) Author: Robert Minsk (rminsk) Date: 2001-05-18 22:07
Logged In: YES 
user_id=132786

I discovered this using purify.  I am running purify on all
the python test code right now.
msg4810 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2001-05-18 22:14
Logged In: YES 
user_id=31435

I'm afraid we're both hallucinating, so reduced the 
priority again.  The  "--i >= 0" is executed before the 
loop begins, so the first value of i is in fact o->ob_size-
1.

So the question shifts to what Purify thinks is wrong.
msg4811 - (view) Author: Robert Minsk (rminsk) Date: 2001-05-18 22:53
Logged In: YES 
user_id=132786

Upon futher investigation this may be a bug in the optimizer
from the SGI 7.3.1.2m compilers.  I'm still checking....
msg4812 - (view) Author: Robert Minsk (rminsk) Date: 2001-05-19 00:24
Logged In: YES 
user_id=132786

I just ran the code thru insure++ and you may want to look
at some of the errors...
Some of the 0 size rallocs/mallocs may be causing problems. 
The **FREE_DANGLING** may also be serious.
msg4813 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2001-05-19 02:19
Logged In: YES 
user_id=31435

Changed "Summary" line to better reflect the current state, 
and reassigned to Barry.
msg4814 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2001-08-16 21:21
Logged In: YES 
user_id=12800

I'm going to close this bug because Insure/Purify reports
tend to go out of date fairly quickly, especially when the C
code undergoes as radical changes as descr-branch.  We've
got Insure and I try to routinely run it on the codebase to
find memory problems.

What is much more helpful than Purify/Insure output is
reproducible code samples that illustrate a memory problem
or leak.  The smaller and more self contained the sample is
the better (i.e. it's better to highlight one leak than
100's).  Feel free to assign any such future leak/memory
bugs to me.
History
Date User Action Args
2022-04-10 16:04:04adminsetgithub: 34521
2001-05-18 21:42:00rminskcreate