Pidgin crashes when trying to connect to jabber

Reported by Martin Albisetti on 2009-04-08
460
This bug affects 17 people
Affects Status Importance Assigned to Milestone
Pidgin
Fix Released
Unknown
libxml2
Fix Released
Medium
libxml2 (Debian)
Fix Released
Unknown
libxml2 (Ubuntu)
High
Unassigned
Nominated for Jaunty by Matt Joiner
pidgin (Ubuntu)
High
Unassigned
Nominated for Jaunty by Matt Joiner

Bug Description

Binary package hint: pidgin

I use gmail for jabber, and there's the traceback from gdb (thanks Ted!):

(gdb) bt
#0 0xb531e125 in ?? ()
#1 0xb756f56b in ?? () from /usr/lib/libxml2.so.2
#2 0xb7583eeb in xmlParseChunk () from /usr/lib/libxml2.so.2
#3 0xb63b8751 in jabber_parser_free () from /usr/lib/purple-2/libjabber.so.0
#4 0xb63b878d in jabber_parser_setup () from /usr/lib/purple-2/libjabber.so.0
#5 0xb63b1fce in ?? () from /usr/lib/purple-2/libjabber.so.0
#6 0xb63b33ab in ?? () from /usr/lib/purple-2/libjabber.so.0
#7 0xb65884e5 in ?? () from /usr/lib/purple-2/ssl-nss.so
#8 0xb783e529 in purple_certificate_verify_complete () from /usr/lib/libpurple.so.0
#9 0xb783ee20 in ?? () from /usr/lib/libpurple.so.0
#10 0xb783f69f in purple_certificate_verify () from /usr/lib/libpurple.so.0
#11 0xb658875e in ?? () from /usr/lib/purple-2/ssl-nss.so
#12 0x080a8e93 in ?? ()
#13 0xb7952c4d in ?? () from /usr/lib/libglib-2.0.so.0
#14 0xb791ba58 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#15 0xb791efbb in ?? () from /usr/lib/libglib-2.0.so.0
#16 0xb791f48a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#17 0xb7c0d5e9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x080c31ea in main ()

Martin Albisetti (beuno) wrote :

Turns out that gstreamer0.10-plugins-bad 0.10.11-2ubuntu1 causes this. Removing it solves this problem.

Changed in pidgin (Ubuntu):
status: New → Invalid
Sebastien Bacher (seb128) wrote :

the upgrade trigger the bug but that still seems to be due to pidgin

Changed in pidgin (Ubuntu):
importance: Undecided → High
status: Invalid → New
Sebastien Bacher (seb128) wrote :

valgrind error log

==8902== at 0x4966F91: fread (in /lib/tls/i686/cmov/libc-2.9.so)
==8902== by 0x7E8B35C: gst_data_queue_pop (gstdataqueue.c:484)
==8902== by 0x4A9756A: xmlFatalErr (parser.c:459)
==8902== by 0x4AABEEA: xmlParseChunk (parser.c:11114)
==8902== by 0x6CDA750: jabber_parser_free (parser.c:210)
==8902== by 0x6CDA78C: jabber_parser_setup (parser.c:205)
==8902== by 0x6CD3FCD: jabber_stream_init (jabber.c:81)
==8902== by 0x6CD53AA: jabber_login_callback_ssl (jabber.c:579)
==8902== by 0x6E934E4: ssl_nss_verified_cb (ssl-nss.c:251)
==8902== by 0x4849528: purple_certificate_verify_complete (certificate.c:105)
==8902== by 0x4849E1F: x509_tls_cached_start_verify (certificate.c:1273)
==8902== by 0x484A69E: purple_certificate_verify (certificate.c:80)
==8902== Address 0xaf1f04c0 is not stack'd, malloc'd or (recently) free'd

Sebastien Bacher (seb128) wrote :
affects: pidgin (Ubuntu) → libxml2 (Ubuntu)
Changed in pidgin:
status: Unknown → New
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libxml2 - 2.6.32.dfsg-5ubuntu4

---------------
libxml2 (2.6.32.dfsg-5ubuntu4) jaunty; urgency=low

  * error.c: use svn change to fix error handling issues leading to pidgin crash
    when connecting jabber (lp: #357949)

 -- Sebastien Bacher <email address hidden> Wed, 08 Apr 2009 22:22:46 +0200

Changed in libxml2 (Ubuntu):
status: New → Fix Released
Changed in libxml2 (Debian):
status: Unknown → New
Changed in libxml2:
status: Unknown → New
nebcanuck (nebcanuck) wrote :

Bug is still affecting me. Is there a specific way to fix it? Or are we waiting for an update through the repositories?

wintermute (technobabble042) wrote :

I am still having this bug, and I can confirm that I have the latest version of libxml2, which (by the reports on the site) claims it fixes this bug.

Adam Stovicek (arstovicek) wrote :

This is still an unresolved issue.

adam@obsidian:~$ apt-cache policy pidgin
pidgin:
  Installed: 1:2.5.5-1ubuntu7
  Candidate: 1:2.5.5-1ubuntu7
  Version table:
 *** 1:2.5.5-1ubuntu7 0
        500 http://us.archive.ubuntu.com jaunty/main Packages
        100 /var/lib/dpkg/status

adam@obsidian:~$ apt-cache policy libxml2
libxml2:
  Installed: 2.6.32.dfsg-5ubuntu4
  Candidate: 2.6.32.dfsg-5ubuntu4
  Version table:
 *** 2.6.32.dfsg-5ubuntu4 0
        500 http://us.archive.ubuntu.com jaunty/main Packages
        100 /var/lib/dpkg/status

pidgin[8053]: segfault at 7f534903dc30 ip 00007f534903dc30 sp 00007fff6aead678 error 15 in 365b55f210c0a22e9a19e35191240f32-x86-64.cache-2[7f534902b000+2e000]

nandemonai (junin-toiro) wrote :

Still crashing for me too.

Linux 2.6.28-11-generic #41-Ubuntu SMP Wed Apr 8 04:39:23 UTC 2009 x86_64 GNU/Linux

pidgin:
  Installed: 1:2.5.5-1ubuntu6
  Candidate: 1:2.5.5-1ubuntu6
  Version table:
 *** 1:2.5.5-1ubuntu6 0
        500 http://mirror.internode.on.net jaunty/main Packages
        100 /var/lib/dpkg/status

libxml2:
  Installed: 2.6.32.dfsg-5ubuntu4
  Candidate: 2.6.32.dfsg-5ubuntu4
  Version table:
 *** 2.6.32.dfsg-5ubuntu4 0
        500 http://mirror.internode.on.net jaunty/main Packages
        100 /var/lib/dpkg/status

Emilio (turl) wrote :

Still crashing here.

Changed in libxml2 (Ubuntu):
status: Fix Released → Confirmed
nebcanuck (nebcanuck) wrote :

I don't see a fix yet. Running dist-upgrade did update my pidgin and libpurple files, but it's still crashing.

Robert Einhaus (robert00frag) wrote :

For me, Pidgin crashes only on an amd64 maschine, my x86 is unaffected.

The syslog says:
pidgin[4695]: segfault at 7fde35b23c30 ip 00007fde35b23c30 sp 00007fff575e7248 error 14 in libgioremote-volume-monitor.so[7fde3594d000+1ff000]

After disabling the jabber account in config, it works, so it's definitely related to the jabber support.

My versions are the same as nandemonai stated.

nebcanuck (nebcanuck) wrote :

Mine is an x86, so I don't think the architecture is an immediate cause.

Dyno (dyno-fu) wrote :

got the same crash/traceback after the upgrade,

dyno@koala:ubuntu$dpkg-query -W pidgin libxml2
libxml2 2.6.32.dfsg-5ubuntu4
pidgin 1:2.5.5-1ubuntu7

and remove gstreamer0.10-plugins-bad solve the problem as Martin Albisetti said, no idea why it is relevant.

Florent (florent.x) wrote :

Same here:

user@jaunty$ dpkg-query -W pidgin libxml2
libxml2 2.6.32.dfsg-5ubuntu4
pidgin 1:2.5.5-1ubuntu7

I tracked down the problem. It happens when the jabber plugin reads the custom buddy icon from the local cache "~/.purple/icons/".

user@jaunty$ grep 'protocol\|buddy_icon' ~/.purple/accounts.xml
  <protocol>prpl-jabber</protocol>
   <setting name='buddy_icon' type='string'>c0fe6764000aa9099bb6a1cf961a92f07ce397fc.png</setting>
   <setting name='buddy_icon_timestamp' type='int'>1224082285</setting>

If I delete the buddy icon, it starts correctly.

user@jaunty$ rm -f ~/.purple/icons/c0fe6764000aa9099bb6a1cf961a92f07ce397fc.png

Matt Joiner (anacrolix) wrote :

Exactly as FloX describes, and his fix worked.
I installed some debug packages, and it descends down into XML and then crashes.

Sebastien Bacher (seb128) wrote :

the fixed version works correctly there

Florent (florent.x) wrote :

I deleted the buddy icon. It works but I have a "core dump" when I go to menu:
  "Account" > "<email address hidden> (XMPP)" > "Set User Info..."

Florent (florent.x) wrote :

Another "core dumped":
 - Then I go to menu:
    "Account" > "<email address hidden> (XMPP)" > "Edit Account"
 - It opens the "Modify Account" window.
 - I select "Use this buddy icon for this account:"
 - I choose a pretty icon (PNG or JPEG)
 - I click "OK" then "Save"

... crash

Sebastien Bacher (seb128) wrote :

ok, the patch fixes the connection issue but not the custom icon case

Changed in pidgin (Ubuntu):
importance: Undecided → High
status: New → Confirmed

Ok, when i deleted those cached icons, Pidgin works again.

Florent (florent.x) wrote :

If I remove the package gstreamer0.10-plugins-bad (0.10.11-2ubuntu1), I have no more crash for both use cases:

 - "Account" > "<email address hidden> (XMPP)" > "Set User Info..."
 - "Account" > "<email address hidden> (XMPP)" > "Edit Account"
    > "Use this buddy icon for this account:"

So there's 2 workaround: either you delete the custom icon from the cache, or you uninstall the "plugins-bad" package.

Waiting for the fix, now.

Florent (florent.x) wrote :

Seemingly, file /usr/lib/gstreamer-0.10/libgstladspa.so from package gstreamer0.10-plugins-bad is involved in the crash.
If I rename the file, Pidgin does not crash on Jabber.

However I cannot explain the relation of jabber with the LADSPA plugin.
http://www.ladspa.org/

Download full text (5.9 KiB)

$ gdb --args pidgin -n -m
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 "x86_64-linux-gnu"...
(gdb) r
Starting program: /usr/bin/pidgin -n -m
[Thread debugging using libthread_db enabled]
[New Thread 0x7f96c4e407d0 (LWP 7905)]
[New Thread 0x7f96b0670950 (LWP 7935)]
[New Thread 0x7f969cf31950 (LWP 8028)]
[New Thread 0x7f969c730950 (LWP 8029)]
[Thread 0x7f969cf31950 (LWP 8028) exited]
[Thread 0x7f969c730950 (LWP 8029) exited]
[New Thread 0x7f969c730950 (LWP 8030)]
[New Thread 0x7f969cf31950 (LWP 8031)]
[Thread 0x7f969c730950 (LWP 8030) exited]
[Thread 0x7f969cf31950 (LWP 8031) exited]
[New Thread 0x7f969cf31950 (LWP 8094)]
[New Thread 0x7f969c730950 (LWP 8095)]
[Thread 0x7f969cf31950 (LWP 8094) exited]
[Thread 0x7f969c730950 (LWP 8095) exited]
[New Thread 0x7f969c730950 (LWP 8118)]
[New Thread 0x7f969cf31950 (LWP 8119)]
[Thread 0x7f969c730950 (LWP 8118) exited]
[Thread 0x7f969cf31950 (LWP 8119) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f96c4e407d0 (LWP 7905)]
0x00007f96a5547c30 in ?? ()
(gdb) bt full
#0 0x00007f96a5547c30 in ?? ()
No symbol table info available.
#1 0x00007f96c11a9230 in __xmlRaiseError () from /usr/lib/libxml2.so.2
No symbol table info available.
#2 0x00007f96c11add82 in ?? () from /usr/lib/libxml2.so.2
No symbol table info available.
#3 0x00007f96c11bc4e7 in ?? () from /usr/lib/libxml2.so.2
No symbol table info available.
#4 0x00007f96c11bcd41 in xmlParseElement () from /usr/lib/libxml2.so.2
No symbol table info available.
#5 0x00007f96c11c3982 in xmlParseDocument () from /usr/lib/libxml2.so.2
No symbol table info available.
#6 0x00007f96c11c445e in xmlSAXUserParseMemory () from /usr/lib/libxml2.so.2
No symbol table info available.
#7 0x00007f96c1cfa40d in xmlnode_from_str () from /usr/lib/libpurple.so.0
No symbol table info available.
#8 0x00007f96a9cd68ad in jabber_set_info () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#9 0x00007f96a9cd6b18 in jabber_set_buddy_icon () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#10 0x00007f96a9cd6ec1 in ?? () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#11 0x00007f96a9cde1c8 in jabber_iq_parse () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#12 0x00007f96a9ce64d1 in jabber_process_packet () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#13 0x00007f96a9cea0a7 in ?? () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#14 0x00007f96c11b4fd3 in ?? () from /usr/lib/libxml2.so.2
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#15 0x00007f96c11c1e68 in xmlParseChunk () from /usr/lib/libxml2.so.2
No symbol table info available.
#16 0x00007f96a9ce9e65 in jabber_parser_process () from /usr/lib/purple-2/libjabber.so.0
No symbol table info available.
#17 0x00007f96a9ce...

Read more...

renaming ~/.purple/icons/ fixes for me

Jens Maucher (jensmaucher) wrote :

For me too, but how to strike on that idea that renaming the icons did the trick?

Florent (florent.x) wrote :

@Jens

I used the good old method to track this bug:
 1. start with an empty profile
    $ LANG= pidgin --config /tmp/.purple_empty
    Result: OK
 2. Then create a jabber account and restart Pidgin
    $ LANG= pidgin --config /tmp/.purple_empty
    Result: OK
 3. copy the "crash" profile and try to start with it
    $ cp -a ~/.purple/ /tmp/.purple_debug
    $ LANG= pidgin --config /tmp/.purple_debug
    Result: core dumped
 4. Remove every file or folder, one by one and try to start
    until it stops crashing

No magic behind, but I cannot explain the reason.
I would like to know what is behind it.

Sebastien Bacher (seb128) wrote :

you can read the explanation on the gnome or debian bugs, it's just a crash triggering on xml errors due to handler conflicts

Jens Maucher (jensmaucher) wrote :

Ahhh, ok. Nice :)

Sebastien Bacher (seb128) wrote :

the libxml crash is fixed, the pidgin bug fix is on its way

Changed in libxml2 (Ubuntu):
status: Confirmed → Fix Released
Sebastien Bacher (seb128) wrote :

the pidgin fix has been uploaded

Changed in pidgin (Ubuntu):
status: Confirmed → Fix Committed
Jens Maucher (jensmaucher) wrote :

Great job. When is the update available via packetmanager?

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pidgin - 1:2.5.5-1ubuntu8

---------------
pidgin (1:2.5.5-1ubuntu8) jaunty; urgency=low

  * debian/patches/72_upstream_change_fix_jabber_crasher.patch:
    - upstream change to fix crash on jabber when using a custom image
      (lp: #357949)

 -- Sebastien Bacher <email address hidden> Thu, 09 Apr 2009 18:12:03 +0200

Changed in pidgin (Ubuntu):
status: Fix Committed → Fix Released
Sebastien Bacher (seb128) wrote :

the time to build and reach mirror, some hours usually

Great. And thanks for the info. :) My girlfriend will appreciate this
even more than I, because she's running Jaunty in her laptop :)

On Thu, Apr 9, 2009 at 5:50 PM, Sebastien Bacher <email address hidden> wrote:
> the time to build and reach mirror, some hours usually
>
> --
> Pidgin crashes when trying to connect to jabber
> https://bugs.launchpad.net/bugs/357949
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

joe williams (joetify) wrote :

great work on getting this corrected quickly, thanks!

Michael Contreras (egcdigital) wrote :

Thank you so much!

Jens Maucher (jensmaucher) wrote :

Yes, you did a great job. Thanks a lot.

Eventhough I removed the icons folder, Pidgin still crashes (core dump) when I try to change some settings in my Jabber Account. After that Pidgin is still able to start normaly and runs well, as long you don't touch the (Icon) settings of that Jabber(XMMP) account. The only solution to that was really the deinstallation of gstreamer0.10-plugins-bad.

Note: It was also possible to edit my Jabber Account while it was still offline (not active), as soon you would log in Pidgin would crash again. Maybe s.th. colides here with the Profile-Icon you can store in a Jabber (client independend) profile.

Damiano Dallatana (damidalla) wrote :

Stefan: just wait for the update for pidgin to 1:2.5.5-1ubuntu8, this bug is fixed. You may wait for your repository mirror to be updated or just have to update your local sources and install the updates.

I can confirm it is correctly and completely fixed. Great job!

nandemonai (junin-toiro) wrote :

Fixed! :)

Much appreciated guys. Speedy as ever on the bug swatting. My hat off to you.

pidgin:
  Installed: 1:2.5.5-1ubuntu8
  Candidate: 1:2.5.5-1ubuntu8
  Version table:
 *** 1:2.5.5-1ubuntu8 0
        500 http://mirror.internode.on.net jaunty/main Packages
        100 /var/lib/dpkg/status

LProf (lprofne) wrote :

Segmentation fault (core dumped)

Changed in libxml2 (Ubuntu):
status: Fix Released → New
isazi (isazi) wrote :

Now it works with version 2.5.5-1ubuntu8.

Changed in libxml2 (Ubuntu):
status: New → Fix Released
Rob Adams (readams) wrote :

This still crashes for me with 2.5.5-1ubuntu8. removing gstreamer-plugins-bad and all its dependencies fixes the problem though.

Changed in pidgin:
status: New → Fix Released
Christian Theune (ct-gocept) wrote :

Same as with Rob: Running 2.5.5-1ubuntu8, removing gstreamer-plugins-bad helped, removing icons didn't have any effect. The crash was:

#0 0xb5cca332 in ?? ()
#1 0xb758081b in ?? () from /usr/lib/libxml2.so.2
#2 0xb7595dfb in xmlParseChunk () from /usr/lib/libxml2.so.2
#3 0xb6315751 in jabber_parser_free () from /usr/lib/purple-2/libjabber.so.0
#4 0xb631578d in jabber_parser_setup () from /usr/lib/purple-2/libjabber.so.0
#5 0xb630efce in ?? () from /usr/lib/purple-2/libjabber.so.0
#6 0xb63103ab in ?? () from /usr/lib/purple-2/libjabber.so.0
#7 0xb64a44e5 in ?? () from /usr/lib/purple-2/ssl-nss.so
#8 0xb7850529 in purple_certificate_verify_complete () from /usr/lib/libpurple.so.0
#9 0xb7850e20 in ?? () from /usr/lib/libpurple.so.0
#10 0xb785169f in purple_certificate_verify () from /usr/lib/libpurple.so.0
#11 0xb64a475e in ?? () from /usr/lib/purple-2/ssl-nss.so
#12 0x080a8e93 in ?? ()
#13 0xb7964dad in ?? () from /usr/lib/libglib-2.0.so.0
#14 0xb792db88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#15 0xb79310eb in ?? () from /usr/lib/libglib-2.0.so.0
#16 0xb79315ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#17 0xb7c207d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x080c31ea in main ()

My libxml2 is:

2.7.3-1~ohyoonsik2

Cyclops (rms) wrote :

Even with all jaunty updates as of this date I had exactly this problem (even though I first thought it was

https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/360567

However, I point out that only after removing the offending (at least according to pidgin -d) icon cache did I restore normal behaviour!

Matin (mtamizi) wrote :

Try the following to resolve the issue:

sudo apt-get autoremove gstreamer0.10-plugins-bad

if that doesn't fix it, install libxml2 from source.

The first step alone may fix it, but installed libxml2 from source first, which didn't not solve the problem.

Changed in libxml2:
importance: Unknown → Medium
status: New → Fix Released
Changed in libxml2 (Debian):
status: New → Fix Released
To post a comment you must log in.