Red Hat Bugzilla – Bug 234399
gaim update crashes when changing status (regression -> beta6 update)
Last modified: 2007-11-30 17:12:00 EST
Description of problem:
The new gaim update is useless due to regressions.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. start gaim with an (icq?)account
2. change status to away (without typing a message) or to invisble
no segfault; should work like beta5 did
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?
BTW, what gaim plugins do you have installed?
rpm -qa 'gaim*'
Then re-test gaim with those plugins removed.
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?
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....
I solved the problem!
after deleting status.xml from .gaim and starting gaim 2 times the crashes stopped.
(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.
Sorry for the Hardware field typo.
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.
this _is_ a bug. A app should not crash after a update. It should convert the
config files to the new format by itself.
Created attachment 151945 [details]
status.xml file in question
here is the file (generated from beta5) that was coausing the crashes.
Created attachment 151946 [details]
file with corrected accounts
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
const GaimStatusType *sub_type = gaim_savedstatus_substatus_get_type(sub);
Created attachment 153724 [details]
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.
This is fixed in Pidgin 2.0.1