[Bug 789547] New: FD leak on android

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Oct 27 09:59:00 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=789547

            Bug ID: 789547
           Summary: FD leak on android
    Classification: Platform
           Product: GStreamer
           Version: 1.12.3
                OS: other
            Status: NEW
          Severity: critical
          Priority: Normal
         Component: don't know
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: luckychsj at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Based on GStreamer app on android, there is a serious problem that fd will
leak.
Steps to reproduce:
----
We can quickly get an app with the following link:
https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player/android

Using gst app play a local mp4 file, and then press< return> to exit, use lsof
count fds(perhaps you must have root privileges),

shell at android# ps|grep org.freedesktop.gstreamer.play
u0_a50    7057  1096  883832 68736 ffffffff f765fc34 S
org.freedesktop.gstreamer.play
shell at android# lsof |grep  7057 


----------
org.freed  7057     u0_a50   27       ???                ???       ???       
??? /data/app/org.freedesktop.gstreamer.pla$
org.freed  7057     u0_a50   28       ???                ???       ???       
??? /dev/urandom
org.freed  7057     u0_a50   30       ???                ???       ???       
??? anon_inode:[eventfd]
...
...
org.freed  7057     u0_a50   84       ???                ???       ???       
??? socket:[294096]
org.freed  7057     u0_a50   85       ???                ???       ???       
??? socket:[294097]
org.freed  7057     u0_a50   90       ???                ???       ???       
??? socket:[289744]
org.freed  7057     u0_a50   91       ???                ???       ???       
??? socket:[289745]
---------
1) PLAY -> EXIT, there are 6 items with prefix <socket:]>,
2) Just repeat the steps above to PLAY->EXIT,counting the items that contain
the prefix "socket:", there are 8 items
3) ... 10 items
4) ... 12 items
...
Each time PLAY => EXIT, 2 FDS will be leaked.

AFAIK, many OS have limits on the number of FDS that can be opened in a
process, usually not exceeding 1024.
On my device, I can use a script to perform the above operation, and can't play
video in a few minutes with error message:
---
E MemoryHeapBase: error creating ashmem region: Too many open files
---
It seems can't see any useful information in log,
How to investigate fd leak, any debug tools or methods ?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list