pidgin often freezes for long seconds

Bug #197254 reported by LGB [Gábor Lénárt]
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Gaim
Won't Fix
Undecided
Unassigned
Pidgin
Fix Released
Undecided
Unassigned
pidgin (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

For some time, pidgin often (but not always) freezes for long seconds when I'm typing a message mainly when a new message arrives at the same moment: windows is not refreshed etc for even half a minute sometimes longer! The strange thing that if once it occures, it will keep freezing again and again. But sometimes I'm using pidgin for hours and no such a problem. I've tried to strace the running process in this situation with -tt -T flags:

12:43:42.604294 fsync(43) = 0 <2.684694>
12:43:45.289089 fsync(45 <unfinished ...>

I've hit CTRL-C here for strace. It seems it waits in an fsync() syscall here? For file descriptor 45:

12:43:42.603013 open("/home/lgb/.purple", O_RDONLY|O_LARGEFILE) = 45 <0.000019>
12:43:42.603104 fcntl64(45, F_GETFD) = 0 <0.000011>
12:43:42.603172 fcntl64(45, F_SETFD, FD_CLOEXEC) = 0 <0.000012>

But it seems to long to fsync() for fd 43 as well ... Strange. Btw, fd 43 is:

12:43:42.602607 open("/home/lgb/.purple/cap.db-journal", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0644) = 43 <0.000061>
12:43:42.602752 fcntl64(43, F_GETFD) = 0 <0.000012>
12:43:42.602822 fcntl64(43, F_SETFD, FD_CLOEXEC) = 0 <0.000012>
12:43:42.602892 fstat64(43, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 <0.000012>

Revision history for this message
LGB [Gábor Lénárt] (lgb) wrote :

Sorry, version of pidgin is 1:2.3.1-2ubuntu1 running on a 32 bit x86 machine, up-to-date (according the apt-get) hardy.

Revision history for this message
Roberto Cássio Jr. (rcsdnj) wrote :

Does it still happen on Pidgin 2.4.1?

Revision history for this message
LGB [Gábor Lénárt] (lgb) wrote :

Yes :-( Also noticed that:
1. under heavy disk I/O (mainly: dist-upgrade) pidgin goes almost totally unusable (no window refreshment for long seconds etc), but recovers if heavy disk I/O ends (note: other GUI applications are not affected it seems)
2. hard to trigger, but sometimes pidgin does the latter behaviour if I type a message or do something with it and got a message at the same time, sometimes you can wait some seconds to recover but somtimes only killing the process helps. Even if it recovers if it started once, it occures quite often from that point eg in every minute, quite unusable.

Also, my pidgin almost always crashes at exiting but I reported this bug somewhere else (it affects me for a year or even more, it called gaim).

I guess I may have some user specific problem with pidgin, but don't know what, I have two machines with the very same issues so no installation specific problems at least ...

Revision history for this message
LGB [Gábor Lénárt] (lgb) wrote :

According to 'ltrace -p <pid>' pidgin does this when 'freezes':

g_io_channel_unix_get_fd(0x879abe8, 0, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 1, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 2, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 3, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 4, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 5, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 6, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 7, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 8, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 9, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 10, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 11, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 12, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 13, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 14, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 15, 0x81191c0, 8, 16) = 32
g_io_channel_unix_get_fd(0x879abe8, 16, 0x81191c0, 8, 16) = 32
[etc till 46, then again in endless loop, or at least for minutes]

Revision history for this message
LGB [Gábor Lénárt] (lgb) wrote :

But now for example:
g_str_equal(0x8796040, 0xb4713f96, 0xb7a40c6b, 0xb7a762a8, 0x8135020) = 1
g_direct_hash(134, 0xb4713f96, 0xbfacc508, 0xb7a762a8, 0x8135020) = 134
g_direct_hash(0x85a8e00, 0x85a8e00, 0x811f94c, 0xb77b6680, 33) = 0x85a8e00
g_direct_hash(0x85a8e00, 0xb7791de0, 0xbfacc878, 0xb77b6680, 1) = 0x85a8e00
g_direct_hash(0x908f8b0, 3, 0xbfaccbe8, 0xb77877de, 1) = 0x908f8b0
g_direct_hash(0x86bb3a8, 0xb0c91dc0, 0xbfacc8a8, 0xb77b6680, 1) = 0x86bb3a8
g_direct_hash(0x86bb3a8, 0xb0c91dc0, 0xbfacc8a8, 0xb77b6680, 1) = 0x86bb3a8
g_direct_hash(0x86bb3a8, 0x86bb3a8, 0x811f94c, 0xb77b6680, 33) = 0x86bb3a8
g_direct_hash(0x9a21c00, 457, 0xbfacd238, 0xb77877de, 1) = 0x9a21c00
g_direct_hash(0x9a21d90, 76, 76, 1, 0x9a21d90) = 0x9a21d90
g_direct_hash(0x85a8e00, 0, 0x811f9a0, 0xb77b6680, 0xb7775620) = 0x85a8e00
g_direct_hash(0x85a8e00, 0, 0x811f9a0, 0xb77b6680, 0xb7775620) = 0x85a8e00
g_direct_hash(0x85a8e00, 0x85a8e00, 0x811f94c, 0xb77b6680, 33) = 0x85a8e00
g_direct_hash(0x9a21d90, 3, 0xbfacd238, 0xb77877de, 1) = 0x9a21d90
g_direct_hash(0x957f600, 76, 76, 1, 0x957f600) = 0x957f600
g_direct_hash(0x85a8e00, 0, 0x811f9a0, 0xb77b6680, 0xb7775620) = 0x85a8e00
g_direct_hash(0x85a8e00, 0, 0x811f9a0, 0xb77b6680, 0xb7775620) = 0x85a8e00
g_direct_hash(0x85a8e00, 0x85a8e00, 0x811f94c, 0xb77b6680, 33) = 0x85a8e00
g_direct_hash(0x957f600, 3, 0xbfacd238, 0xb77877de, 1) = 0x957f600
g_direct_hash(0x9a1b9b0, 76, 76, 1, 0x9a1b9b0) = 0x9a1b9b0
g_direct_hash(0x9a1b9b0, 0x9a1b9b0, 0xbfacd198, 0xb7a762a8, 1) = 0x9a1b9b0
g_direct_hash(0x97e4ee0, 76, 76, 1, 0x97e4ee0) = 0x97e4ee0
g_direct_hash(0x97e4ee0, 457, 0xbfacd238, 0xb77877de, 1) = 0x97e4ee0
g_timeout_add(1, 0xb7edd590, 0x81ffe08, 0xb771d3be, 0x9a04fb8) = 184011
[stalling]

Revision history for this message
Roberto Cássio Jr. (rcsdnj) wrote :

I believe your bug may be related to this http://developer.pidgin.im/ticket/37 (at Pidgin's bug tracker)
Unfortunately, it is targeted only for the 3.0 milestone...

Anyway, I'm just guessing... maybe it's better to talk to Pidgin's developers about it... I'm not sure... I saw this same problem once on my girlfriend's machine, but I didn't go further to check what was happening. I may ask her if she's having the problem yet, though.

Changed in gaim:
status: Unknown → New
Revision history for this message
Hammer89 (soc-intel) wrote :

I have similar issues with pidgin... I found that the freezing would stop as soon as I closed all instances of firefox... really odd.

(I'm running 8.04... latest version of Pidgin... and Firefox 3 beta 5)

Revision history for this message
phyz (phyz2010) wrote :

i did have the latest version of pidgin on hardy heron too,sometimes it freezing after long time and i've got force it to quit.this morning,my pidgin freezing again but not only freezing itself but also freezing my gnome-desktop with all application running.

Richard Laager (rlaager)
Changed in pidgin:
importance: Undecided → Unknown
status: New → Unknown
Changed in gaim:
status: New → Won't Fix
Changed in pidgin:
status: Unknown → New
Revision history for this message
Magnus S (magnuss) wrote :

Hi all. Is this bug still reproducible? If so, please attach a backtrace (https://wiki.ubuntu.com/Backtrace) to this bug report.

Thanks.
//magnus

Changed in pidgin:
status: New → Incomplete
Revision history for this message
phyz (phyz2010) wrote :
Download full text (53.3 KiB)

currently i used pidgin 2.5.2 and here is my gdb log:-

GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
(gdb) habndle SIG33 pass nostop noprint
Signal Stop Print Pass to program Description
SIG33 No No Yes Real-time event 33
(gdb) set pagination 0
(gdb) attach 17056
Attaching to process 17056
Reading symbols from /usr/bin/pidgin...(no debugging symbols found)...done.
Reading symbols from /lib/libdbus-1.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libdbus-1.so.3
Reading symbols from /usr/lib/libgstreamer-0.10.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgstreamer-0.10.so.0
Reading symbols from /usr/lib/libgthread-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgthread-2.0.so.0
Reading symbols from /usr/lib/libX11.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libXss.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXss.so.1
Reading symbols from /usr/lib/libSM.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libSM.so.6
Reading symbols from /usr/lib/libICE.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libICE.so.6
Reading symbols from /usr/lib/libgtkspell.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgtkspell.so.0
Reading symbols from /usr/lib/libstartup-notification-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libstartup-notification-1.so.0
Reading symbols from /usr/lib/liblaunchpad-integration.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/liblaunchpad-integration.so.1
Reading symbols from /usr/lib/libgtk-x11-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgtk-x11-2.0.so.0
Reading symbols from /usr/lib/libgdk-x11-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgdk-x11-2.0.so.0
Reading symbols from /usr/lib/libatk-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libatk-1.0.so.0
Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /lib/tls/i686/cmov/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /usr/lib/libpango-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpango-1.0.so.0
Reading symbols from /usr/lib/libgobject-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /usr/lib/libglib-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /usr/lib/libpurple.so.0...(no debugging symbols found).....

Revision history for this message
Magnus S (magnuss) wrote :

@phyz: Thanks, but unfortunately the debug symbols doesn't seem to be there. Please follow the instructions at https://wiki.ubuntu.com/DebuggingProgramCrash, and then try again with the backtrace.

//magnus

Revision history for this message
phyz (phyz2010) wrote : Re: [Bug 197254] Re: pidgin often freezes for long seconds

hi,

unfortunately i did not get any problem yet by using the latest version of
pidgin.

thank you

On Mon, Dec 22, 2008 at 9:02 PM, Magnus S <email address hidden> wrote:

> @phyz: Thanks, but unfortunately the debug symbols doesn't seem to be
> there. Please follow the instructions at
> https://wiki.ubuntu.com/DebuggingProgramCrash, and then try again with
> the backtrace.
>
> //magnus
>
> --
> pidgin often freezes for long seconds
> https://bugs.launchpad.net/bugs/197254
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Changed in pidgin (Ubuntu):
importance: Undecided → Low
status: Incomplete → Triaged
Revision history for this message
Dan Quade (danquade) wrote :

This is a very strange bug. My pidgin is also affected by it. However, it is not present when I initially run it. For some reason it starts to act like this after 10 PM (or somewhere around there - i may be wrong, it could just be after X hours after I've ran it).

Revision history for this message
starslights (starslights) wrote : apport-collect data

Architecture: amd64
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: pidgin 1:2.6.2-1ubuntu7
PackageArchitecture: amd64
ProcEnviron:
 SHELL=/bin/bash
 LANG=fr_CH.UTF-8
 LANGUAGE=
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
Uname: Linux 2.6.31-14-generic x86_64
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare syslog
XsessionErrors:
 (polkit-gnome-authentication-agent-1:3051): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (npviewer.bin:11798): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so: mauvaise classe ELF: ELFCLASS64
 (npviewer.bin:19000): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so: mauvaise classe ELF: ELFCLASS64
 (npviewer.bin:19196): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so: mauvaise classe ELF: ELFCLASS64

Revision history for this message
starslights (starslights) wrote : Dependencies.txt
tags: added: apport-collected
Revision history for this message
starslights (starslights) wrote :

hello,

I run Kubuntu Karmic 9.10 rc1 64 bits and use socks5 in pidgin for info and i have same problem, pidgin freeze for long time when will type a message or use it..

Revision history for this message
starslights (starslights) wrote :

Hello,

With the new update of pidgin, it seem good now, it don't freeze anymore and no more errors in my console

pidgin : 1:2.6.2ubuntu7.1

best regards

Revision history for this message
phyz (phyz2010) wrote :
Revision history for this message
phyz (phyz2010) wrote :
Revision history for this message
Fabio Marconi (fabiomarconi) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

Changed in pidgin (Ubuntu):
status: Triaged → Fix Released
Changed in pidgin:
importance: Unknown → Undecided
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.