** Description changed:

  [Impact]
  
  There is a memory leak in python3-sysv-ipc, that is only seen under python3
  and not under python2, and the author of the software, Philip Semanchuk,
  has kindly asked for this to be fixed [1] on the ubuntu-devel-discuss mailing
  list.
  
  [1] https://lists.ubuntu.com/archives/ubuntu-devel-
  discuss/2026-January/019790.html
  
  [Testcase]
  
  $ sudo apt install python3-sysv-ipc python3-numpy
  $ cat >> reproducer.py << EOL
  import numpy as np
  import sysv_ipc
  import resource
  
  if __name__ =='__main__':
      queue = sysv_ipc.SharedMemory(None, flags=sysv_ipc.IPC_CREX, size=128, 
mode=0o600)
      try:
          while True:
              queue_info = np.array([5000, 64, 0, 0, 0])
              #queue_info = b'askdfhkjasdfkasdhfkhfkhflkjhasfhds'
              queue.write(queue_info)
              print('Memory usage : %s (kb)' % 
resource.getrusage(resource.RUSAGE_SELF).ru_maxrss)
  
      finally:
          queue.remove()
  EOL
  $ python3 reproducer.py
  
  The memory usage will keep on increasing.
  
  There is a test package available in the following ppa:
  
+ https://launchpad.net/~mruffell/+archive/ubuntu/lp2139394-updates
  
  If you install it, the memory usage will be stable and not leak every
  allocation.
  
  [Where problems can occur]
+ 
+ Memory is leaked on every numpy allocation and is never freed, and we are now
+ adding a check to see if we are running under a python2 interpreter and if we
+ are to release the memory once we are finished with it. This should be
+ compatible with both python2 and python3 users.
+ 
+ In the unlikely event a user is relying on reusing memory, they may find the
+ data is now freed and overwritten instead of being leaked permanently. 
+ 
+ If a regression were to occur, users may see memory leaks or incorrect
+ computations.
  
  [Other info]
  
  The upstream bug for this issue is:
  https://github.com/osvenskan/sysv_ipc/issues/7
  
  This was fixed in version 1.0.1 by:
  
  commit 03a4cb02af525369838369a857d0eb857eaf39ae
  From: osvenskan <[email protected]>
  Date: Sun, 24 Nov 2019 22:52:14 -0500
  Subject: add release of data buffer. 
  Link: 
https://github.com/osvenskan/sysv_ipc/commit/03a4cb02af525369838369a857d0eb857eaf39ae

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2139394

Title:
  python3-sysv-ipc leaks memory under python3

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-sysv-ipc/+bug/2139394/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to