xiehuc / pidgin-lwqq

a pidgin plugin based on lwqq, a excellent safe useful library for webqq protocol
GNU General Public License v3.0
660 stars 185 forks source link

发送接收消息时pidgin崩溃 #98

Closed notsyncing closed 11 years ago

notsyncing commented 11 years ago

Fedora 17, Pidgin 2.10.5-1.fc17 (libpurple 2.10.5) 只要一向好友发送消息或者接收好友消息时pidgin就会崩溃

控制台输出: [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/login.c:546 get_version: Get webqq version from http://ui.ptlogin2.qq.com/cgi-bin/ver [Oct 25 22:24:22] NOTICE[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/login.c:743 lwqq_login: Get webqq version: 201210240930 [Oct 25 22:24:22] NOTICE[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/login.c:199 get_verify_code: Get response verify code: ptui_checkVC('0','!P5R','\x00\x00\x00\x00\x8f\x99\xee\xc9'); cookie:d2c915ab4cebc210169d73d8464867a7b11b7c78ced6ccf8ea8e68f684d0e6a5cc6c2eb2475026d0ae41605b384fde78 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: ptvfsession=d2c915ab4cebc210169d73d8464867a7b11b7c78ced6ccf8ea8e68f684d0e6a5cc6c2eb2475026d0ae41605b384fde78 [Oct 25 22:24:22] NOTICE[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/login.c:235 get_verify_code: Verify code: !P5R [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/login.c:767 lwqq_login: Get verify code OK F775948B68FD3D628C66683F5230A3F1 cookie:2bcec4e617ab67ac21302147ec0be86617aa546f7c4f8068cfe26f4b2becedd9 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: ptcz=2bcec4e617ab67ac21302147ec0be86617aa546f7c4f8068cfe26f4b2becedd9 cookie:@O76o7DTKH [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: skey=@O76o7DTKH cookie:d5a4997da56ed59fa525e70f4c171a724b71cfd160fd681d8650576e1e3e6dc3 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: ptwebqq=d5a4997da56ed59fa525e70f4c171a724b71cfd160fd681d8650576e1e3e6dc3 cookie:30786663 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: ptuserinfo=30786663 cookie:o2409230025 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: uin=o2409230025 cookie:ctc [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: ptisp=ctc cookie:o2409230025 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/http_curl.c:150 lwqq_http_get_cookie: Parse Cookie: pt2gguin=o2409230025 [Oct 25 22:24:22] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/info.c:636 lwqq_info_get_group_name_list: in function.online buddies complete [Oct 25 22:24:23] DEBUG[5797]: /home/sfc/下载/Sources/pidgin-lwqq/src/liblwqq/info.c:1267 lwqq_info_get_friend_detail_info: in function.200 {"retcode":0,"result":[{"poll_type":"buddies_status_change","value":{"uin":2194692999,"status":"online","client_type":1}},{"poll_type":"buddies_status_change","value":{"uin":2194692999,"status":"online","client_type":1}},{"poll_type":"buddies_status_change","value":{"uin":522743838,"status":"away","client_type":1}}]}

type: 3 type: 3 type: 3 test
r={"to":2954721124,"face":0,"content":"[\"test \t \t\t\t\t \t \t \t \t \t \t \t\t \t \",[\"font\",{\"name\":\"宋体\",\"size\":\"13\",\"style\":[0,0,0],\"color\":\"000000\"}]]","msg_id":3340000,"clientid":"44622181","psessionid":"8368046764001f636f6e6e7365727665725f7765627171403137322e32332e3133342e32313600006bc700001d97016e0400c9ee998f6d0000000a404f37366f3744544b486d00000028533d19f89c90fc498a97f21d4de7ff390b3a389d1d743c1d240d82f380a00ac009bd6452d224f6c9"}&clientid=44622181&psessionid=8368046764001f636f6e6e7365727665725f7765627171403137322e32332e3133342e32313600006bc700001d97016e0400c9ee998f6d0000000a404f37366f3744544b486d00000028533d19f89c90fc498a97f21d4de7ff390b3a389d1d743c1d240d82f380a00ac009bd6452d224f6c9 * glibc detected * pidgin: free(): invalid pointer: 0x0000003a94b0e50e *** ======= Backtrace: ========= /lib64/libc.so.6[0x3a9127bfee] /lib64/libglib-2.0.so.0(g_free+0xf)[0x3a92e4d50f] /lib64/libpurple.so.0[0x3a94ae7cbf] /lib64/libpurple.so.0[0x3a94acec7f] /lib64/libpurple.so.0(purple_marshal_BOOLEAN__POINTER_POINTER+0x4a)[0x3a94aa6c5a] /lib64/libpurple.so.0(purple_signal_emit_vargs_return_1+0x10a)[0x3a94aa592a] /lib64/libpurple.so.0(purple_signal_emit_return_1+0x9e)[0x3a94aa5a7e] /lib64/libpurple.so.0[0x3a94af5d78] /lib64/libdbus-1.so.3[0x3a9621da45] /lib64/libdbus-1.so.3(dbus_connection_dispatch+0x373)[0x3a9620fa83] /lib64/libdbus-glib-1.so.2[0x3a9c60ac45] /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x3a92e47825] /lib64/libglib-2.0.so.0[0x3a92e47b58] /lib64/libglib-2.0.so.0(g_main_loop_run+0x72)[0x3a92e47f52] /lib64/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x3a9bf4ab27] pidgin(main+0x861)[0x4313b1] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3a91221735] pidgin[0x4319d1] ======= Memory map: ======== 00400000-004fe000 r-xp 00000000 08:01 178448 /usr/bin/pidgin 006fd000-006fe000 r--p 000fd000 08:01 178448 /usr/bin/pidgin 006fe000-00703000 rw-p 000fe000 08:01 178448 /usr/bin/pidgin 00703000-00704000 rw-p 00000000 00:00 0 02679000-030f5000 rw-p 00000000 00:00 0 [heap] 3a90e00000-3a90e20000 r-xp 00000000 08:01 171133 /usr/lib64/ld-2.15.so 3a9101f000-3a91020000 r--p 0001f000 08:01 171133 /usr/lib64/ld-2.15.so 3a91020000-3a91021000 rw-p 00020000 08:01 171133 /usr/lib64/ld-2.15.so 3a91021000-3a91022000 rw-p 00000000 00:00 0 3a91200000-3a913ac000 r-xp 00000000 08:01 171134 /usr/lib64/libc-2.15.so 3a913ac000-3a915ac000 ---p 001ac000 08:01 171134 /usr/lib64/libc-2.15.so 3a915ac000-3a915b0000 r--p 001ac000 08:01 171134 /usr/lib64/libc-2.15.so 3a915b0000-3a915b2000 rw-p 001b0000 08:01 171134 /usr/lib64/libc-2.15.so 3a915b2000-3a915b7000 rw-p 00000000 00:00 0 3a91600000-3a91616000 r-xp 00000000 08:01 171139 /usr/lib64/libpthread-2.15.so 3a91616000-3a91816000 ---p 00016000 08:01 171139 /usr/lib64/libpthread-2.15.so 3a91816000-3a91817000 r--p 00016000 08:01 171139 /usr/lib64/libpthread-2.15.so 3a91817000-3a91818000 rw-p 00017000 08:01 171139 /usr/lib64/libpthread-2.15.so 3a91818000-3a9181c000 rw-p 00000000 00:00 0 3a91a00000-3a91a03000 r-xp 00000000 08:01 171137 /usr/lib64/libdl-2.15.so 3a91a03000-3a91c02000 ---p 00003000 08:01 171137 /usr/lib64/libdl-2.15.so 3a91c02000-3a91c03000 r--p 00002000 08:01 171137 /usr/lib64/libdl-2.15.so 3a91c03000-3a91c04000 rw-p 00003000 08:01 171137 /usr/lib64/libdl-2.15.so 3a91e00000-3a91e07000 r-xp 00000000 08:01 171140 /usr/lib64/librt-2.15.so 3a91e07000-3a92006000 ---p 00007000 08:01 171140 /usr/lib64/librt-2.15.so 3a92006000-3a92007000 r--p 00006000 08:01 171140 /usr/lib64/librt-2.15.so 3a92007000-3a92008000 rw-p 00007000 08:01 171140 /usr/lib64/librt-2.15.so 3a92200000-3a92217000 r-xp 00000000 08:01 171146 /usr/lib64/libz.so.1.2.5 3a92217000-3a92416000 ---p 00017000 08:01 171146 /usr/lib64/libz.so.1.2.5 3a92416000-3a92417000 rw-p 00016000 08:01 171146 /usr/lib64/libz.so.1.2.5 3a92600000-3a926fa000 r-xp 00000000 08:01 171159 /usr/lib64/libm-2.15.so 3a926fa000-3a928f9000 ---p 000fa000 08:01 171159 /usr/lib64/libm-2.15.so 3a928f9000-3a928fa000 r--p 000f9000 08:01 171159 /usr/lib64/libm-2.15.so 3a928fa000-3a928fb000 rw-p 000fa000 08:01 171159 /usr/lib64/libm-2.15.so 3a92a00000-3a92a1e000 r-xp 00000000 08:01 171147 /usr/lib64/libselinux.so.1 3a92a1e000-3a92c1d000 ---p 0001e000 08:01 171147 /usr/lib64/libselinux.so.1 3a92c1d000-3a92c1e000 r--p 0001d000 08:01 171147 /usr/lib64/libselinux.so.1 3a92c1e000-3a92c1f000 rw-p 0001e000 08:01 171147 /usr/lib64/libselinux.so.1 3a92c1f000-3a92c21000 rw-p 00000000 00:00 0 3a92e00000-3a92f1d000 r-xp 00000000 08:01 171141 /usr/lib64/libglib-2.0.so.0.3200.4 3a92f1d000-3a9311d000 ---p 0011d000 08:01 171141 /usr/lib64/libglib-2.0.so.0.3200.4 3a9311d000-3a9311e000 r--p 0011d000 08:01 171141 /usr/lib64/libglib-2.0.so.0.3200.4 3a9311e000-3a9311f000 rw-p 0011e000 08:01 171141 /usr/lib64/libglib-2.0.so.0.3200.4 3a9311f000-3a93120000 rw-p 00000000 00:00 0 3a93200000-3a93202000 r-xp 00000000 08:01 135646 /usr/lib64/libXss.so.1.0.0 3a93202000-3a93402000 ---p 00002000 08:01 135646 /usr/lib64/libXss.so.1.0.0 3a93402000-3a93403000 r--p 00002000 08:01 135646 /usr/lib64/libXss.so.1.0.0 3a93403000-3a93404000 rw-p 00003000 08:01 135646 /usr/lib64/libXss.so.1.0.0 3a93600000-3a93601000 r-xp 00000000 08:01 171142 /usr/lib64/libgthread-2.0.so.0.3200.4 3a93601000-3a93800000 ---p 00001000 08:01 171142 /usr/lib64/libgthread-2.0.so.0.3200.4 3a93800000-3a93801000 r--p 00000000 08:01 171142 /usr/lib64/libgthread-2.0.so.0.3200.4 3a93801000-3a93802000 rw-p 00001000 08:01 171142 /usr/lib64/libgthread-2.0.so.0.3200.4 3a93a00000-3a93a07000 r-xp 00000000 08:01 171143 /usr/lib64/libffi.so.5.0.10 3a93a07000-3a93c06000 ---p 00007000 08:01 171143 /usr/lib64/libffi.so.5.0.10 3a93c06000-3a93c07000 r--p 00006000 08:01 171143 /usr/已放弃

xiehuc commented 11 years ago

从log中看出.是经过dbus发出了一个事件导致崩溃. 应该是和插件有关系. 1.你是不是用 Pidgin Conversation Integration 的gnome-shell 插件. 是的话.请更新到dev分支并打开兼容pidgin conversation integration选项. 不是的话.你可能需要安装pidgin-debug和libpurple-debug.来查看具体的错误的位置.

notsyncing commented 11 years ago

我确实用了这个插件,不过关掉之后一样崩溃 我一会儿再试试安装debug包

notsyncing commented 11 years ago

已经更新到dev分支,同时禁用了Pidgin Conversation Integration插件,但问题依旧存在 我没有在编译时找到“兼容pidgin conversation integration选项”,而且Fedora里似乎并没有pidgin或者libpurple的debug包 不过试了下empathy是正常的 可否给出进一步的调试指导?

xiehuc commented 11 years ago

BOOLEAN__POINTERPOINTER 是一个bool func(void,void_)的函数原型。这个不找到debug包根本没办法确定是哪个函数。 我看很多rpm包带了debuginfo的。这个是debug包吗?

xiehuc commented 11 years ago

你在看看pidgin自己的插件 和gnome-shell的其他插件 empathy没问题 说明一定是empathy没有用那个插件而pidgin用了 在 2012-10-26 上午10:25,"sfc0" notifications@github.com写道:

已经更新到dev分支,同时禁用了Pidgin Conversation Integration插件,但问题依旧存在 我没有在编译时找到“兼容pidgin conversation integration选项”,而且Fedora里似乎并没有pidgin或者libpurple的debug包 不过试了下empathy是正常的 可否给出进一步的调试指导?

— Reply to this email directly or view it on GitHubhttps://github.com/xiehuc/pidgin-lwqq/issues/98#issuecomment-9801179.

notsyncing commented 11 years ago

问题是我已经禁用了pidgin中所有的插件但还是那样。。。 原来在fedora里要用debuginfo-install安装调试信息。。。 现在正在安装。。。

notsyncing commented 11 years ago

Program received signal SIGABRT, Aborted. 0x0000003a91235925 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig); (gdb) bt

0 0x0000003a91235925 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64

1 0x0000003a912370d8 in __GI_abort () at abort.c:91

2 0x0000003a91274e6b in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x3a91378908 "* glibc detected * %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:198

3 0x0000003a9127bfee in malloc_printerr (ptr=0x3e8ff0e50e, str=0x3a91376795 "free(): invalid pointer", action=3) at malloc.c:5027

4 _int_free (av=0x3a915b0720, p=0x3e8ff0e4fe, have_lock=0) at malloc.c:3948

5 0x0000003a92e4d50f in g_free (mem=0x3e8ff0e50e) at gmem.c:252

6 0x0000003e8fee7cbf in purple_buddy_icon_get_full_path_DBUS (message_DBUS=0xce9410, error_DBUS=) at dbus-bindings.c:3316

7 0x0000003e8fecec7f in purple_dbus_dispatch_cb (user_data=, message=0xce9410, connection=0x998440) at dbus-server.c:458

8 purple_dbus_dispatch_cb (connection=0x998440, message=0xce9410, user_data=) at dbus-server.c:430

9 0x0000003e8fea6c5a in purple_marshal_BOOLEAN__POINTER_POINTER (cb=, args=, data=, return_val=0x7fffffffb8e8) at signals.c:876

10 0x0000003e8fea592a in purple_signal_emit_vargs_return_1 (instance=, signal=signal@entry=0x3e8ff1435e "dbus-method-called", args=args@entry=0x7fffffffb930) at signals.c:563

11 0x0000003e8fea5a7e in purple_signal_emit_return_1 (instance=, signal=signal@entry=0x3e8ff1435e "dbus-method-called") at signals.c:506

12 0x0000003e8fef5d78 in purple_dbus_dispatch (connection=0x998440, message=message@entry=0xce9410, user_data=user_data@entry=0x0) at dbus-server.c:569

13 0x0000003a9621da45 in _dbus_object_tree_dispatch_and_unlock (tree=0x998100, message=message@entry=0xce9410) at dbus-object-tree.c:858

14 0x0000003a9620fa83 in dbus_connection_dispatch (connection=connection@entry=0x998440) at dbus-connection.c:4685

15 0x0000003a9c60ac45 in message_queue_dispatch (source=source@entry=0x999830, callback=, user_data=) at dbus-gmain.c:90

16 0x0000003a92e47825 in g_main_dispatch (context=0x918500) at gmain.c:2539

17 g_main_context_dispatch (context=context@entry=0x918500) at gmain.c:3075

18 0x0000003a92e47b58 in g_main_context_iterate (context=0x918500, block=block@entry=1, dispatch=dispatch@entry=1, self=) at gmain.c:3146

19 0x0000003a92e47f52 in g_main_loop_run (loop=0xe95fc0) at gmain.c:3340

20 0x0000003a9bf4ab27 in IA__gtk_main () at gtkmain.c:1257

21 0x00000000004313b1 in main (argc=1, argv=0x7fffffffe198) at gtkmain.c:934

这是gdb的信息。。。看起来那个BOOLEAN__POINTER_POINTER类型的参数被优化掉了。。。

notsyncing commented 11 years ago

晕,问题解决了。。。卸载了Pidgin Conversation Integration 之后就好了。。。看来不能只禁用。。。 非常抱歉对您的打扰。。。;)

xiehuc commented 11 years ago

你可以在pidgin的账户设置高级中打开兼容那个插件的选项 在 2012-10-26 下午12:00,"sfc0" notifications@github.com写道:

晕,问题解决了。。。卸载了Pidgin Conversation Integration 之后就好了。。。看来不能只禁用。。。 非常抱歉对您的打扰。。。;)

— Reply to this email directly or view it on GitHubhttps://github.com/xiehuc/pidgin-lwqq/issues/98#issuecomment-9802317.

xiehuc commented 11 years ago

禁用是可以的 大概是你没有重启gnome-shell 在 2012-10-26 下午12:44,"谢虎成" xiehuc@gmail.com写道:

你可以在pidgin的账户设置高级中打开兼容那个插件的选项 在 2012-10-26 下午12:00,"sfc0" notifications@github.com写道:

晕,问题解决了。。。卸载了Pidgin Conversation Integration 之后就好了。。。看来不能只禁用。。。 非常抱歉对您的打扰。。。;)

— Reply to this email directly or view it on GitHubhttps://github.com/xiehuc/pidgin-lwqq/issues/98#issuecomment-9802317.

notsyncing commented 11 years ago

好的,非常感谢。。。

在 2012-10-26,12:44,xiehuc notifications@github.com 写道:

你可以在pidgin的账户设置高级中打开兼容那个插件的选项 在 2012-10-26 下午12:00,"sfc0" notifications@github.com写道:

晕,问题解决了。。。卸载了Pidgin Conversation Integration 之后就好了。。。看来不能只禁用。。。 非常抱歉对您的打扰。。。;)

— Reply to this email directly or view it on GitHubhttps://github.com/xiehuc/pidgin-lwqq/issues/98#issuecomment-9802317.

— Reply to this email directly or view it on GitHub.