Bug 234399 - gaim update crashes when changing status (regression -> beta6 update)
Summary: gaim update crashes when changing status (regression -> beta6 update)
Alias: None
Product: Fedora
Classification: Fedora
Component: gaim   
(Show other bugs)
Version: 6
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Warren Togami
QA Contact:
Keywords: Reopened
Depends On:
TreeView+ depends on / blocked
Reported: 2007-03-28 21:16 UTC by drago01
Modified: 2007-11-30 22:12 UTC (History)
8 users (show)

Fixed In Version: 2.0.1-1.fc6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-06-04 19:53:40 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
status.xml file in question (2.47 KB, text/plain)
2007-04-09 06:51 UTC, drago01
no flags Details
file with corrected accounts (2.47 KB, text/plain)
2007-04-09 06:54 UTC, drago01
no flags Details
Patch v1 (2.22 KB, patch)
2007-04-29 03:33 UTC, Kai Engert (:kaie) (inactive account)
no flags Details | Diff

Description drago01 2007-03-28 21:16:54 UTC
Description of problem:

The new gaim update is useless due to regressions.

Version-Release number of selected component (if applicable):


How reproducible:

Steps to Reproduce:
1. start gaim with an (icq?)account
2. change status to away (without typing a message) or to invisble
3. segfault
Actual results:


Expected results:

no segfault; should work like beta5 did

Additional info:

It wasn't easy to downgrade because it changed the account type from prpl-oscar
to prpl-icq which older gaim does not understand...
so its not easy for a user to find the problem and workaround it.
so this bug need to be fixed! 
btw why wasn't this package in updates testing?

Comment 1 Warren Togami 2007-03-28 22:38:50 UTC
BTW, what gaim plugins do you have installed?

Please try:
rpm -qa 'gaim*'

Then re-test gaim with those plugins removed. 
Any different?

Comment 2 drago01 2007-03-29 16:58:39 UTC
I deleted all extra plugins (only had gaim-libnotify installed).
I tryed to create a backtrace but as soon as it segfaults X hangs (only happens
when running inside gdb).
the last message showed that it is caused by a strcmp() call.
note: I am on x86_64 .. could this be because of this?

Comment 3 drago01 2007-04-01 12:23:13 UTC
any idea what I can do to debugg this?
when the crash happens I cannot do anything in X execpt moving my mouse...
when I change to a vt and kill the gdb process X works but I cannot get a
backtrace this way.
the backtrace created from a core file looks like this:
#0  0x0000003fbf2301b5 in raise () from /lib64/libc.so.6
#1  0x0000003fbf231b20 in abort () from /lib64/libc.so.6
#2  0x000000000046ec9c in main ()

which is useless....

Comment 4 drago01 2007-04-01 12:44:08 UTC
I solved the problem!
after deleting status.xml from .gaim and starting gaim 2 times the crashes stopped.

Comment 5 Jan Kratochvil 2007-04-02 14:15:38 UTC
(In reply to comment #3)
> the backtrace created from a core file looks like this:
> #0  0x0000003fbf2301b5 in raise () from /lib64/libc.so.6
> #1  0x0000003fbf231b20 in abort () from /lib64/libc.so.6
> #2  0x000000000046ec9c in main ()
> which is useless....

* In general use `thread apply all bt' (not needed here as I see now).

* Check you have installed glibc-debuginfo, gaim-debuginfo and -debuginfo for
  any other library listed in the backtrace.

According to your dump there occured SIGSEGV (main() should not be there, there
should be sighandler() after you install gaim-debuginfo).

I believe the backtrace should get extended after supplying gaim-debuginfo.
If not it would be useful to send the core file at least to me privately.

Comment 6 Jan Kratochvil 2007-04-02 14:24:36 UTC
Sorry for the Hardware field typo.

Comment 7 drago01 2007-04-07 11:57:13 UTC
sorry I am busy right now... I still have the broken (the one from beta5)
status.xml file I will generate the backtrace when I have some time.

Comment 8 drago01 2007-04-09 06:49:32 UTC
this _is_ a bug. A app should not crash after a update. It should convert the
config files to the new format by itself.

Comment 9 drago01 2007-04-09 06:51:49 UTC
Created attachment 151945 [details]
status.xml file in question

here is the file (generated from beta5) that was coausing the crashes.

Comment 10 drago01 2007-04-09 06:54:04 UTC
Created attachment 151946 [details]
file with corrected accounts

Comment 11 Kai Engert (:kaie) (inactive account) 2007-04-29 02:33:14 UTC
I experience this crash, too, on my own system and on the system of a remote
friend where I have set up FC6.

I installed gaim-debuginfo and was able to get a stacktrace.
We seem to crash because strcmp is called with a NULL parameter.

#0  0x00b6bee8 in strcmp () from /lib/libc.so.6
#1  0x080d9024 in activate_currently_selected_status (status_box=0x98c1020) at
#2  0x080d9770 in remove_typing_cb (status_box=0x98c1020) at gtkstatusbox.c:2253
#3  0x037d5a16 in g_source_get_current_time () from /lib/libglib-2.0.so.0
#4  0x037d5442 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#5  0x037d841f in g_main_context_check () from /lib/libglib-2.0.so.0
#6  0x037d87c9 in g_main_loop_run () from /lib/libglib-2.0.so.0
#7  0x03abe554 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#8  0x080b300b in main (argc=1, argv=0xbfdc5c54) at gtkmain.c:817

(gdb) print gaim_status_type_get_id(sub_type)
$23 = 0x0
(gdb) print gaim_status_type_get_id(acct_status_type)
$24 = 0x96a1f28 "available"

strcmp(0, "available") => crash

Comment 12 Kai Engert (:kaie) (inactive account) 2007-04-29 02:35:50 UTC
  const GaimStatusType *sub_type = gaim_savedstatus_substatus_get_type(sub);
  if (!strcmp(gaim_status_type_get_id(sub_type),

Comment 13 Kai Engert (:kaie) (inactive account) 2007-04-29 03:33:36 UTC
Created attachment 153724 [details]
Patch v1

This patch fixes the crash for me.
Successfully tested on both systems.
(No change to status.xml was necessary)

I'm include a changelog entry, feel free to change it again.

Comment 14 Stu Tomlinson 2007-06-04 19:53:40 UTC
This is fixed in Pidgin 2.0.1

Note You need to log in before you can comment on or make changes to this bug.