Bug 234399 - gaim update crashes when changing status (regression -> beta6 update)
gaim update crashes when changing status (regression -> beta6 update)
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: gaim (Show other bugs)
6
x86_64 Linux
medium Severity urgent
: ---
: ---
Assigned To: Warren Togami
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-28 17:16 EDT by drago01
Modified: 2007-11-30 17:12 EST (History)
8 users (show)

See Also:
Fixed In Version: 2.0.1-1.fc6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-06-04 15:53:40 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
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 02:51 EDT, drago01
no flags Details
file with corrected accounts (2.47 KB, text/plain)
2007-04-09 02:54 EDT, drago01
no flags Details
Patch v1 (2.22 KB, patch)
2007-04-28 23:33 EDT, Kai Engert (:kaie)
no flags Details | Diff

  None (edit)
Description drago01 2007-03-28 17:16:54 EDT
Description of problem:

The new gaim update is useless due to regressions.

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

gaim-2.0.0-0.31.beta6.fc6

How reproducible:
Always!


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:

segfault

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 18:38:50 EDT
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 12:58:39 EDT
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 08:23:13 EDT
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 08:44:08 EDT
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 10:15:38 EDT
(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 10:24:36 EDT
Sorry for the Hardware field typo.
Comment 7 drago01 2007-04-07 07:57:13 EDT
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 02:49:32 EDT
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 02:51:49 EDT
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 02:54:04 EDT
Created attachment 151946 [details]
file with corrected accounts
Comment 11 Kai Engert (:kaie) 2007-04-28 22:33:14 EDT
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
gtkstatusbox.c:2122
#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) 2007-04-28 22:35:50 EDT
  const GaimStatusType *sub_type = gaim_savedstatus_substatus_get_type(sub);
  if (!strcmp(gaim_status_type_get_id(sub_type),
                  gaim_status_type_get_id(acct_status_type)))
Comment 13 Kai Engert (:kaie) 2007-04-28 23:33:36 EDT
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 15:53:40 EDT
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.