Bug 790979 - Memory leaks and crashers found in python bindings in rpm-4.9.1.2-12.fc17 using gcc-with-cpychecker static analyzer
Summary: Memory leaks and crashers found in python bindings in rpm-4.9.1.2-12.fc17 usi...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora Packaging Toolset Team
QA Contact: Fedora Extras Quality Assurance
URL: http://fedorapeople.org/~dmalcolm/gcc...
Whiteboard:
Depends On:
Blocks: cpychecker
TreeView+ depends on / blocked
 
Reported: 2012-02-15 21:02 UTC by Dave Malcolm
Modified: 2012-05-08 12:10 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-08 12:10:05 UTC
Type: ---


Attachments (Terms of Use)

Description Dave Malcolm 2012-02-15 21:02:07 UTC
Description of problem:
I've been writing an experimental static analysis tool to detect bugs commonly occurring within C Python extension modules:
  https://fedorahosted.org/gcc-python-plugin/
  http://gcc-python-plugin.readthedocs.org/en/latest/cpychecker.html
  http://fedoraproject.org/wiki/Features/StaticAnalysisOfPythonRefcounts

I ran the latest version of the tool (in git master; post 0.9) on
rpm-4.9.1.2-12.fc17.src.rpm, and it reports various errors.

You can see a list of errors here, triaged into categories (from most significant to least significant):
http://fedorapeople.org/~dmalcolm/gcc-python-plugin/2012-02-15/rpm-4.9.1.2-12.fc17/

Although the two bugs in the final category ("Returning (PyObject*)NULL without setting an exception") are false positives, I believe that all of the other bugs reported there are true errors.

There may of course be other bugs in my checker tool.

I submitted patches for these problems to rpm-maint in December 2011; see:
 http://lists.rpm.org/pipermail/rpm-maint/2011-December/003138.html
 http://lists.rpm.org/pipermail/rpm-maint/2011-December/003139.html
 http://lists.rpm.org/pipermail/rpm-maint/2011-December/003145.html
 http://lists.rpm.org/pipermail/rpm-maint/2011-December/003152.html
 http://lists.rpm.org/pipermail/rpm-maint/2011-December/003153.html
but I'm filing this here to ensure that the fixes make it into Fedora (and eventually RHEL).

Hope this is helpful; let me know if you need help reading the logs that the tool generates - I know that it could use some improvement.

Version-Release number of selected component (if applicable):
rpm-4.9.1.2-12.fc17
gcc-python-plugin post-0.9 git 073d390de53ef52136bd90e5ac06f1ef833d047d running the checker in an *f16* chroot

Comment 1 Fedora Admin XMLRPC Client 2012-04-13 23:07:55 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 2 Fedora Admin XMLRPC Client 2012-04-13 23:11:16 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Panu Matilainen 2012-05-08 12:10:05 UTC
The entire patch set is part of rpm >= 4.10, in rawhide since late March, and the worser memleaks got backported to rpm 4.9.x in older Fedoras as well.


Note You need to log in before you can comment on or make changes to this bug.