Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 230656 - net-im/pidgin-2.3.1 randomly crashes
Summary: net-im/pidgin-2.3.1 randomly crashes
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Net-im project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-03 17:32 UTC by Diego Barrios Romero
Modified: 2009-08-22 03:56 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Barrios Romero 2008-07-03 17:32:09 UTC
Pidgin crashes randomly. When running pidgin -d, after working perfectly, after some time it crashes and outputs this:

[...]
(19:14:04) msn: C: SB 011: MSG 36 D 145
(19:14:04) msn: S: SB 011: ACK 35
(19:14:04) dbus: Need to register an object with the dbus subsystem. (If you are not a developer, please ignore this message.)
(19:14:04) dbus: The signal "drawing-tooltip" caused some dbus error. (If you are not a developer, please ignore this message.)
(19:14:05) msn: S: SB 011: MSG xxxx@xxxxx.com xxxx 145
(19:14:05) msn: S: SB 011: MSG xxxx@xxxxx.com xxxx 485
(19:14:05) msn: C: SB 011: MSG 37 D 145
(19:14:05) msn: C: SB 011: OUT
(19:14:05) msn: S: SB 011: ACK 36
(19:14:05) msn: destroy httpconn (0x1413960)
*** glibc detected *** pidgin: corrupted double-linked list: 0x000000000143e400 ***
======= Backtrace: =========
/lib/libc.so.6[0x2afbec9eaaad]
/lib/libc.so.6[0x2afbec9ec1fd]
/lib/libc.so.6(cfree+0x76)[0x2afbec9ec796]
/usr/lib64/purple-2/libmsn.so(msn_transaction_destroy+0x24)[0x2afbf67bdc04]
/usr/lib64/purple-2/libmsn.so(msn_history_destroy+0xe)[0x2afbf67ac30e]
/usr/lib64/purple-2/libmsn.so(msn_cmdproc_destroy+0x2e)[0x2afbf67aad8e]
/usr/lib64/purple-2/libmsn.so(msn_servconn_destroy+0x5a)[0x2afbf67b72ca]
/usr/lib64/purple-2/libmsn.so[0x2afbf67ad233]
pidgin[0x460a2f]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1c2)[0x2afbeb9daf92]
/usr/lib/libglib-2.0.so.0[0x2afbeb9de28d]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1a6)[0x2afbeb9de576]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa2)[0x2afbe87af112]
pidgin(main+0x871)[0x475271]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2afbec99bb74]
pidgin[0x42d769]
======= Memory map: ========
00400000-004c3000 r-xp 00000000 16:06 1880940                            /usr/bin/pidgin
006c2000-006c3000 r--p 000c2000 16:06 1880940                            /usr/bin/pidgin
006c3000-006c8000 rw-p 000c3000 16:06 1880940                            /usr/bin/pidgin
006c8000-016d7000 rw-p 006c8000 00:00 0                                  [heap]
2afbe784c000-2afbe7867000 r-xp 00000000 16:06 2159451                    /lib64/ld-2.6.1.so
2afbe7867000-2afbe7869000 rw-p 2afbe7867000 00:00 0 
2afbe7a66000-2afbe7a67000 r--p 0001a000 16:06 2159451                    /lib64/ld-2.6.1.so
2afbe7a67000-2afbe7a68000 rw-p 0001b000 16:06 2159451                    /lib64/ld-2.6.1.so
2afbe7a68000-2afbe7b14000 r-xp 00000000 16:06 2309648                    /usr/lib64/libgstreamer-0.10.so.0.13.0
2afbe7b14000-2afbe7d13000 ---p 000ac000 16:06 2309648                    /usr/lib64/libgstreamer-0.10.so.0.13.0
2afbe7d13000-2afbe7d17000 r--p 000ab000 16:06 2309648                    /usr/lib64/libgstreamer-0.10.so.0.13.0
2afbe7d17000-2afbe7d1a000 rw-p 000af000 16:06 2309648                    /usr/lib64/libgstreamer-0.10.so.0.13.0
2afbe7d1a000-2afbe7d1b000 rw-p 2afbe7d1a000 00:00 0 
2afbe7d1b000-2afbe7d1e000 r-xp 00000000 16:06 398202                     /usr/lib64/libXss.so.1.0.0
2afbe7d1e000-2afbe7e1d000 ---p 00003000 16:06 398202                     /usr/lib64/libXss.so.1.0.0
2afbe7e1d000-2afbe7e1e000 rw-p 00002000 16:06 398202                     /usr/lib64/libXss.so.1.0.0
2afbe7e1e000-2afbe7e2e000 r-xp 00000000 16:06 163845                     /usr/lib64/libXext.so.6.4.0
2afbe7e2e000-2afbe7f2e000 ---p 00010000 16:06 163845                     /usr/lib64/libXext.so.6.4.0
2afbe7f2e000-2afbe7f2f000 rw-p 00010000 16:06 163845                     /usr/lib64/libXext.so.6.4.0
2afbe7f2f000-2afbe7f30000 rw-p 2afbe7f2f000 00:00 0 
2afbe7f30000-2afbe7f35000 r-xp 00000000 16:06 983240                     /usr/lib64/libgtkspell.so.0.0.0
2afbe7f35000-2afbe8134000 ---p 00005000 16:06 983240                     /usr/lib64/libgtkspell.so.0.0.0
2afbe8134000-2afbe8135000 r--p 00004000 16:06 983240                     /usr/lib64/libgtkspell.so.0.0.0
2afbe8135000-2afbe8136000 rw-p 00005000 16:06 983240                     /usr/lib64/libgtkspell.so.0.0.0
2afbe8136000-2afbe813d000 r-xp 00000000 16:06 365849                     /usr/lib64/libenchant.so.1.3.0
2afbe813d000-2afbe833c000 ---p 00007000 16:06 365849                     /usr/lib64/libenchant.so.1.3.0
2afbe833c000-2afbe833d000 r--p 00006000 16:06 365849                     /usr/lib64/libenchant.so.1.3.0
2afbe833d000-2afbe833e000 rw-p 00007000 16:06 365849                     /usr/lib64/libenchant.so.1.3.0
2afbe833e000-2afbe8347000 r-xp 00000000 16:06 136462                     /usr/lib64/libstartup-notification-1.so.0.0.0
2afbe8347000-2afbe8446000 ---p 00009000 16:06 136462                     /usr/lib64/libstartup-notification-1.so.0.0.0
2afbe8446000-2afbe8447000 rw-p 00008000 16:06 136462                     /usr/lib64


Reproducible: Sometimes

Steps to Reproduce:
1. Connect
2. Wait some random time

Actual Results:  
Crashes after some time.


emerge --info:
Portage 2.1.4.4 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.24-gentoo-r8 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-50
Timestamp of tree: Tue, 01 Jul 2008 17:15:03 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r9
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=athlon64"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=athlon64"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ http://mirror.ovh.net/gentoo-distfiles/"
LANG="es_ES.UTF-8"
LINGUAS="es_ES es"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/layman /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 arts avahi bash-completion battery berkdb branding bzip2 cairo cdda cdr cjk cli cracklib crypt cups dbus djvu dri dts dvd dvdr dvdread dvi eds emacs emboss encode esd evo fam ffmpeg firefox flac fortran gdbm gif gnome gpm gstreamer gtk hal iconv imagemagick ipv6 isdnlog jpeg jpeg2k kde kerberos ldap mad matroska mdnsresponder-compat midi mikmod mmx mp3 mpeg msn mudflap ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pdf perl png pppd python qt3support qt4 quicktime readline reflection sdl session spell spl sse sse2 ssl startup-notification stream svg tcpd theora threads tiff truetype unicode usb v4l v4l2 vorbis wifi wma wmf wxwindows x264 xml xorg xosd xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es_ES es" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Andrew Somerville 2008-07-17 17:16:41 UTC
I can confirm this bug on any system using only the Gentoo kernel, but user-space apps from other distros. Had the same bug on all Gentoo installs, 32-bit and 64-bit. Also exists with Firefox when using flash-based apps like Youtube. Crashes also affect pages using complex javascript, and the X-server itself. Frequency of crashes vary from every single time I receive a message in pidgin, to every few days for pidgin. Firefox crashes average every 4-5 youtube videos. X server crashes about once every day, often soon after a browser crash. 

Current system is Ubuntu 32-bit userspace, with gentoo 64-bit kernel. Bug did not exist with ubuntu kernel, but is very prominent when booting Gentoo kernel. Ubuntu install is a standard Ubuntu 8.04 fresh install using Compiz Fusion, and NVidia v. 178 series driver for 64-bit, and the X11 modules from the 32-bit edition of the same version number.

=== strace output === 
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 22597}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 29) = 1
read(3, "\16\7<G\335\2\200\3\0\0>\1\364-\273\10`F\36\10\1\0\0\0"..., 4096) = 32
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 35873}, NULL) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 35982}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 16) = 1
read(4, "A", 1)                         = 1
gettimeofday({1216314554, 46567}, NULL) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 46649}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 46785}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 46967}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 5) = 1
read(4, "A", 1)                         = 1
futex(0x8145eec, 0x81 /* FUTEX_??? */, 1) = 1
gettimeofday({1216314554, 53408}, NULL) = 0
clock_gettime(CLOCK_MONOTONIC, {3291, 230496371}) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 53618}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 53740}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
futex(0xf76b4160, 0x81 /* FUTEX_??? */, 1) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 53908}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 54025}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 54158}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 54276}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 54402}, NULL) = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 0) = 0
read(3, 0x812ecd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1216314554, 54519}, NULL) = 0
poll(*** PULSEAUDIO: Unable to create stream.
[{fd=4, events=POLLIN, revents=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=20, events=POLLIN}, {fd=19, events=POLLIN}, {fd=24, events=POLLIN}, {fd=18, events=POLLIN}], 9, 31) = 1
read(4, "A", 1)                         = 1
gettimeofday({1216314554, 64766}, NULL) = 0
futex(0xf2f13dc4, 0x85 /* FUTEX_??? */, 1) = 1
futex(0xf2f12250, 0x81 /* FUTEX_??? */, 1) = 1
close(26)                               = 0
futex(0x86ef394, 0x85 /* FUTEX_??? */, 1) = 1
futex(0x86ef370, 0x81 /* FUTEX_??? */, 1) = 1
write(2, "pidgin: pcm_pulse.c:115: pulse_s"..., 69pidgin: pcm_pulse.c:115: pulse_stop: Assertion `pcm->stream' failed.
) = 69
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(12312, 12312, SIGABRT)           = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++
Process 12312 detached


For a while it was crashing every time I got a message. When I went to capture the output, it went something like 5 messages without crashing, and didn't crash at all yesterday. 

$ uname -a
Linux landrews-desktop 2.6.23-gentoo-r3 #8 SMP PREEMPT Thu Jul 10 15:00:47 ADT 2008 x86_64 GNU/Linux

No unusual output in dmesg on crash either. 

Since I'm using Ubuntu user-space, I'm not sure what else to post here. 
Comment 2 Andrew Somerville 2008-07-17 17:29:52 UTC
Sorry...just noticed that pidgin was set using ALSA, and ALSA on this system ships sound through pulse audio...the stack trace pointed to pulse audio and a failed assertion. When the message received didn't cause a crash it was because the conversation had focus and therefore didn't try to play sound, but doesn't always crash when it does...sometimes it plays the sound successfully. Browser crashes always occur when a video is about to start playing, which I conjecture is for the same reason...a failed connection to ALSA. ALSA must be denying pule audio access to sound hardware randomly for some reason. 

It's still a bug that doesn't exist in the Ubuntu kernel though. Maybe something wrong with the ALSA driver in Gentoo, or something wrong with processing software interrupts. 
Comment 3 Michael Palimaka (kensington) gentoo-dev 2008-12-16 08:59:10 UTC
Does this persist in recent versions of pidgin?
Comment 4 Olivier Crete (RETIRED) gentoo-dev 2009-08-22 03:56:11 UTC
I guess its already fixed