Bug 234399
Summary: | gaim update crashes when changing status (regression -> beta6 update) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | drago01 | ||||||||
Component: | gaim | Assignee: | Warren Togami <wtogami> | ||||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||||||
Severity: | urgent | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | 6 | CC: | eblanton, jan.kratochvil, kengert, lschiere+bugs, mark, redhat-bugzilla, stu, wtogami | ||||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | 2.0.1-1.fc6 | Doc Type: | Bug Fix | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2007-06-04 19:53:40 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
drago01
2007-03-28 21:16:54 UTC
BTW, what gaim plugins do you have installed? Please try: rpm -qa 'gaim*' Then re-test gaim with those plugins removed. Any different? 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 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 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))) 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.
This is fixed in Pidgin 2.0.1 |