← Back to team overview

desktop-packages team mailing list archive

[Bug 1479715] Re: Crash due to fd leak when playing sounds in pidgin

 

The attachment "remove-gstreamer-pipeline-after-playing-a-sound-
902b1fd.diff" seems to be a patch.  If it isn't, please remove the
"patch" flag from the attachment, remove the "patch" tag, and if you are
a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by
~brian-murray, for any issues please contact him.]

** Tags added: patch

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to pidgin in Ubuntu.
https://bugs.launchpad.net/bugs/1479715

Title:
  Crash due to fd leak when playing sounds in pidgin

Status in pidgin package in Ubuntu:
  Confirmed

Bug description:
  The Ubuntu Error Tracker has been receiving reports about a problem
  regarding pidgin.  This problem was most recently seen with version
  1:2.10.11-0ubuntu4, the problem page at
  https://errors.ubuntu.com/problem/7470d12c4e88f72501f718f2e8fd6469b2cb650f
  contains more details.

  Upstream bug: https://developer.pidgin.im/ticket/16752

  Partial backtrace:

  #0  0x00007f0e72819b24 in g_source_attach (source=source@entry=0x0, context=0x0) at /build/glib2.0-ajuDY6/glib2.0-2.46.1/./glib/gmain.c:1163
  #1  0x00007f0e74b848b8 in gst_bus_add_watch_full_unlocked (bus=<optimized out>, priority=<optimized out>, func=0x56004c7ceeb0 <bus_call>, user_data=0x56004e00aa40, notify=0x0) at gstbus.c:885
  #2  0x00007f0e74b849e0 in gst_bus_add_watch_full (bus=0x7f0e14009260 [GstBus], priority=0, func=0x56004c7ceeb0 <bus_call>, user_data=0x56004e00aa40, notify=0x0) at gstbus.c:936
  #3  0x000056004c7cfb3a in pidgin_sound_play_file (filename=<optimized out>)
      at /build/pidgin-hiYwOJ/pidgin-2.10.11/./pidgin/gtksound.c:543
  #4  0x000056004c7cf927 in pidgin_sound_play_event (event=PURPLE_SOUND_SEND)
      at /build/pidgin-hiYwOJ/pidgin-2.10.11/./pidgin/gtksound.c:616

  
  [Impact]

  * Each sound played will leak a file descriptor.

  * Crash (null pointer dereference) after playing sounds roughly 1000
  times (depending on fd limit)

  * Depending on the amount of activity, this can mean every few hours
  for some users (it's once for each received or sent message)

  
  [Test Case]

  1. Set the file descriptor limit low enough to be able to login, plus a few extra. "ulimit -Sn 20" works for me
  2. Start pidgin
  3. Tools menu -> preferences -> sounds tab
  4. Click "preview" 10 times or so
  5. Acquire crash

  [Regression Potential]

  * The fix consists in adding two lines, returning FALSE when a sound
  finishes playing or when an error happens, which tells gstreamer to
  free those file descriptors, so it's highly unlikely that this could
  make things worse.

  * A user who reported this bug yesterday was given a .deb file with
  the fix, who also distributed that fixed .deb to other 50 users who
  also had the issue in ubuntu wily. Everyone is happy now.

  [Other Info]

  * This fix will be included in pidgin 2.10.12, set to release very
  soon.

  * The bug originally happened because of the backported gstreamer 1.0
  patch that was also introduced in post-2.10.11 development versions.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/1479715/+subscriptions


References