kernelhcy / gtkqq

a qq client based on gtk+ uses webqq protocol
http://code.google.com/p/gtk-qq/
GNU General Public License v3.0
181 stars 42 forks source link

登陆时退出 #18

Open taxiyan opened 12 years ago

taxiyan commented 12 years ago

^[[34m^[[1mDEBUG : ^[[0mOpen db connection to /home/pcusername/.gtkqq/gtkqq.db (dao.c, 81)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: info (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart Get informain main loop...(msgloop.c, 36)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart Get Number and face images main loop...(msgloop.c, 36)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart Send main loop...(msgloop.c, 36)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mStart login... qqnum: qq数字账号, status: hidden (loginpanel.c, 319)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mRun login state machine...(loginpanel.c, 322)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: qqnum (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: passwd (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: status (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGQQConfig setter: rempw (gqqconfig.c, 151)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCheck veriry code...(qqlogin.c, 45)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolving host by name: ptlogin2.qq.com ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolved: ptlogin2.qq.com (119.147.74.122) ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mconnecting to 119.147.74.122:80 ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mDid not using proxy bypass ...(qqproxy.c,752)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mcheck vc return: ptui_checkVC('0','!16J');(qqlogin.c, 101)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mVerify code : !16J (qqlogin.c, 118)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptvfsession=00822f5a5ac9d1af4829e6b053ee6df9e72ef3ea9f8653081b9cc53aa3e0230c6fe617decb24dcd0b8e471d6c638f42e (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGet version...(qqlogin.c, 643)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolving host by name: ui.ptlogin2.qq.com ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolved: ui.ptlogin2.qq.com (121.14.95.108) ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mconnecting to 121.14.95.108:80 ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mDid not using proxy bypass ...(qqproxy.c,752)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mContent-Length: 20.(url.c, 320)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mVersion: 2011120110(qqlogin.c, 275)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mLogin...(qqlogin.c, 657)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mGet ptcz and skey...(qqlogin.c, 660)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolving host by name: ptlogin2.qq.com ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mresolved: ptlogin2.qq.com (183.60.3.162) ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mconnecting to 183.60.3.162:80 ^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mDid not using proxy bypass ...(qqproxy.c,752)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mSuccess.(qqlogin.c, 393)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptcz=290be0e9d154bdd21165ab2320abe95df939288a9a46392ecbd357edc2340f01 (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie skey=@ZSBtBW0tZ (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptwebqq=dc6355fcdd5575cb63ef4989080071a7ac3ea64371af89a98be34ae28d8fe42f (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptuserinfo=e59ab4e58189e88faf (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie uin=o0qq数字账号 (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie ptisp=ctc (qqlogin.c, 32)^[[0m ^[[0m^[[34m^[[1mDEBUG : ^[[0mCookie pt2gguin=o0qq数字账号 (qqlogin.c, 32)^[[0m ^[[0m

mathslinux commented 12 years ago

@taxiyan 能帮忙用 gdb 测试一下吗? 如果你的机器上安装了 gdb的话.

在终端下运行 gdb /usr/bin/gtkqq, 然后输入r运行, 登录, 出错了会停止, 然后按 bt. 把信息打印出来.

ps: 你输出的信息中可以把你的密码去掉

taxiyan commented 12 years ago

GNU gdb (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/bin/gtkqq...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/gtkqq [Thread debugging using libthread_db enabled] [New Thread 0xb69fab70 (LWP 1668)] [New Thread 0xb61f9b70 (LWP 1669)] [New Thread 0xb59f8b70 (LWP 1670)] DEBUG : Open db connection to /home/电脑用户名/.gtkqq/gtkqq.db (dao.c, 81) DEBUG : GQQConfig setter: info (gqqconfig.c, 151) DEBUG : Start Get Number and face images main loop...(msgloop.c, 36) DEBUG : Start Send main loop...(msgloop.c, 36) DEBUG : Start Get informain main loop...(msgloop.c, 36) DEBUG : Start login... qqnum: QQ数字号, status: online (loginpanel.c, 319) DEBUG : Run login state machine...(loginpanel.c, 322) DEBUG : Check veriry code...(qqlogin.c, 45) DEBUG : resolving host by name: ptlogin2.qq.com

DEBUG : GQQConfig setter: qqnum (gqqconfig.c, 151) DEBUG : GQQConfig setter: passwd (gqqconfig.c, 151) DEBUG : GQQConfig setter: status (gqqconfig.c, 151) DEBUG : GQQConfig setter: rempw (gqqconfig.c, 151) DEBUG : resolved: ptlogin2.qq.com (121.14.76.234)

DEBUG : connecting to 121.14.76.234:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : check vc return: ptui_checkVC('0','!8JA');(qqlogin.c, 101) DEBUG : Verify code : !8JA (qqlogin.c, 118) DEBUG : Cookie ptvfsession=3f3bae38c22a2978e493527f07bf0c100c2a02d0088e54eed9403f6b6f89df8c9a526bba33a91022bb8b2ec83db7de8d (qqlogin.c, 32) DEBUG : Get version...(qqlogin.c, 643) DEBUG : resolving host by name: ui.ptlogin2.qq.com

DEBUG : resolved: ui.ptlogin2.qq.com (121.14.95.109)

DEBUG : connecting to 121.14.95.109:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Content-Length: 20.(url.c, 320) DEBUG : Version: 2011120110(qqlogin.c, 275) DEBUG : Login...(qqlogin.c, 657) DEBUG : Get ptcz and skey...(qqlogin.c, 660) DEBUG : resolving host by name: ptlogin2.qq.com

DEBUG : resolved: ptlogin2.qq.com (119.147.74.122)

DEBUG : connecting to 119.147.74.122:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Success.(qqlogin.c, 393) DEBUG : Cookie ptcz=f3cb817a18841f4e9a64a9ce8b86592560d659edeab71fd02b96719f6bd21c69 (qqlogin.c, 32) DEBUG : Cookie skey=@xITDzv0kO (qqlogin.c, 32) DEBUG : Cookie ptwebqq=1f126dee3d285e790a386c5c5c9a31ca0f41ae86bd62f6b18c8e2f8a57cd7606 (qqlogin.c, 32) DEBUG : Cookie ptuserinfo=e78e9be5818745e6b5a9 (qqlogin.c, 32) DEBUG : Cookie uin=oQQ数字号 (qqlogin.c, 32) DEBUG : Cookie ptisp=ctc (qqlogin.c, 32) DEBUG : Cookie pt2gguin=oQQ数字号 (qqlogin.c, 32)

Program received signal SIGABRT, Aborted. [Switching to Thread 0xb61f9b70 (LWP 1669)] 0xb7fde424 in __kernel_vsyscall () (gdb) bt

0 0xb7fde424 in __kernel_vsyscall ()

1 0xb754ab9f in raise () from /lib/libc.so.6

2 0xb754c525 in abort () from /lib/libc.so.6

3 0xb7584dea in ?? () from /lib/libc.so.6

4 0xb7606605 in __fortify_fail () from /lib/libc.so.6

5 0xb76065b7 in __stack_chk_fail () from /lib/libc.so.6

6 0xb786d1b1 in ?? () from /usr/lib/libwebqq.so.0

7 0xb785ec39 in ?? () from /usr/lib/libwebqq.so.0

8 0xb785f565 in qq_login () from /usr/lib/libwebqq.so.0

9 0x0805b812 in ?? ()

10 0x0804e9e7 in ?? ()

11 0xb7799ed0 in ?? () from /usr/lib/libglib-2.0.so.0

12 0xb779e01f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

13 0xb779e750 in ?? () from /usr/lib/libglib-2.0.so.0

14 0xb779ed5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

15 0x0804ea7d in ?? ()

16 0xb77c5344 in ?? () from /usr/lib/libglib-2.0.so.0

17 0xb769fcf7 in start_thread () from /lib/libpthread.so.0

18 0xb75ef86e in clone () from /lib/libc.so.6

Backtrace stopped: Not enough registers or memory available to unwind further (gdb) quit A debugging session is active.

    Inferior 1 [process 1665] will be killed.

Quit anyway? (y or n)DEBUG : Cookie pt2gguin=oQQ数字号 (qqlogin.c, 32)

Program received signal SIGABRT, Aborted. [Switching to Thread 0xb61f9b70 (LWP 1669)] 0xb7fde424 in __kernel_vsyscall () (gdb) bt

0 0xb7fde424 in __kernel_vsyscall ()

1 0xb754ab9f in raise () from /lib/libc.so.6

2 0xb754c525 in abort () from /lib/libc.so.6

3 0xb7584dea in ?? () from /lib/libc.so.6

4 0xb7606605 in __fortify_fail () from /lib/libc.so.6

5 0xb76065b7 in __stack_chk_fail () from /lib/libc.so.6

6 0xb786d1b1 in ?? () from /usr/lib/libwebqq.so.0

7 0xb785ec39 in ?? () from /usr/lib/libwebqq.so.0

8 0xb785f565 in qq_login () from /usr/lib/libwebqq.so.0

9 0x0805b812 in ?? ()

10 0x0804e9e7 in ?? ()

11 0xb7799ed0 in ?? () from /usr/lib/libglib-2.0.so.0

12 0xb779e01f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

13 0xb779e750 in ?? () from /usr/lib/libglib-2.0.so.0

14 0xb779ed5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

15 0x0804ea7d in ?? ()

16 0xb77c5344 in ?? () from /usr/lib/libglib-2.0.so.0

17 0xb769fcf7 in start_thread () from /lib/libpthread.so.0

18 0xb75ef86e in clone () from /lib/libc.so.6

Backtrace stopped: Not enough registers or memory available to unwind further (gdb) quit A debugging session is active.

    Inferior 1 [process 1665] will be killed.

Quit anyway? (y or n)

taxiyan commented 12 years ago

刚上的那个重定向多了一段。。看这个吧。。。

GNU gdb (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/bin/gtkqq...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/gtkqq [Thread debugging using libthread_db enabled] [New Thread 0xb69fab70 (LWP 1668)] [New Thread 0xb61f9b70 (LWP 1669)] [New Thread 0xb59f8b70 (LWP 1670)] DEBUG : Open db connection to /home/电脑用户名/.gtkqq/gtkqq.db (dao.c, 81) DEBUG : GQQConfig setter: info (gqqconfig.c, 151) DEBUG : Start Get Number and face images main loop...(msgloop.c, 36) DEBUG : Start Send main loop...(msgloop.c, 36) DEBUG : Start Get informain main loop...(msgloop.c, 36) DEBUG : Start login... qqnum: QQ数字号, status: online (loginpanel.c, 319) DEBUG : Run login state machine...(loginpanel.c, 322) DEBUG : Check veriry code...(qqlogin.c, 45) DEBUG : resolving host by name: ptlogin2.qq.com

DEBUG : GQQConfig setter: qqnum (gqqconfig.c, 151) DEBUG : GQQConfig setter: passwd (gqqconfig.c, 151) DEBUG : GQQConfig setter: status (gqqconfig.c, 151) DEBUG : GQQConfig setter: rempw (gqqconfig.c, 151) DEBUG : resolved: ptlogin2.qq.com (121.14.76.234)

DEBUG : connecting to 121.14.76.234:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : check vc return: ptui_checkVC('0','!8JA');(qqlogin.c, 101) DEBUG : Verify code : !8JA (qqlogin.c, 118) DEBUG : Cookie ptvfsession=3f3bae38c22a2978e493527f07bf0c100c2a02d0088e54eed9403f6b6f89df8c9a526bba33a91022bb8b2ec83db7de8d (qqlogin.c, 32) DEBUG : Get version...(qqlogin.c, 643) DEBUG : resolving host by name: ui.ptlogin2.qq.com

DEBUG : resolved: ui.ptlogin2.qq.com (121.14.95.109)

DEBUG : connecting to 121.14.95.109:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Content-Length: 20.(url.c, 320) DEBUG : Version: 2011120110(qqlogin.c, 275) DEBUG : Login...(qqlogin.c, 657) DEBUG : Get ptcz and skey...(qqlogin.c, 660) DEBUG : resolving host by name: ptlogin2.qq.com

DEBUG : resolved: ptlogin2.qq.com (119.147.74.122)

DEBUG : connecting to 119.147.74.122:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Success.(qqlogin.c, 393) DEBUG : Cookie ptcz=f3cb817a18841f4e9a64a9ce8b86592560d659edeab71fd02b96719f6bd21c69 (qqlogin.c, 32) DEBUG : Cookie skey=@xITDzv0kO (qqlogin.c, 32) DEBUG : Cookie ptwebqq=1f126dee3d285e790a386c5c5c9a31ca0f41ae86bd62f6b18c8e2f8a57cd7606 (qqlogin.c, 32) DEBUG : Cookie ptuserinfo=e78e9be5818745e6b5a9 (qqlogin.c, 32) DEBUG : Cookie uin=oQQ数字号 (qqlogin.c, 32) DEBUG : Cookie ptisp=ctc (qqlogin.c, 32) DEBUG : Cookie pt2gguin=oQQ数字号 (qqlogin.c, 32)

Program received signal SIGABRT, Aborted. [Switching to Thread 0xb61f9b70 (LWP 1669)] 0xb7fde424 in __kernel_vsyscall () (gdb) bt

0 0xb7fde424 in __kernel_vsyscall ()

1 0xb754ab9f in raise () from /lib/libc.so.6

2 0xb754c525 in abort () from /lib/libc.so.6

3 0xb7584dea in ?? () from /lib/libc.so.6

4 0xb7606605 in __fortify_fail () from /lib/libc.so.6

5 0xb76065b7 in __stack_chk_fail () from /lib/libc.so.6

6 0xb786d1b1 in ?? () from /usr/lib/libwebqq.so.0

7 0xb785ec39 in ?? () from /usr/lib/libwebqq.so.0

8 0xb785f565 in qq_login () from /usr/lib/libwebqq.so.0

9 0x0805b812 in ?? ()

10 0x0804e9e7 in ?? ()

11 0xb7799ed0 in ?? () from /usr/lib/libglib-2.0.so.0

12 0xb779e01f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

13 0xb779e750 in ?? () from /usr/lib/libglib-2.0.so.0

14 0xb779ed5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

15 0x0804ea7d in ?? ()

16 0xb77c5344 in ?? () from /usr/lib/libglib-2.0.so.0

17 0xb769fcf7 in start_thread () from /lib/libpthread.so.0

18 0xb75ef86e in clone () from /lib/libc.so.6

Backtrace stopped: Not enough registers or memory available to unwind further (gdb) quit A debugging session is active.

Inferior 1 [process 1665] will be killed.

Quit anyway? (y or n)

mathslinux commented 12 years ago

@taxiyan debug的信息完全看不出什么来, 看看core文件的信息.

  1. 在终端下运行 ulimit -c unlimited; /usr/bin/gtkqq (你安装的 gtkqq的程序路径)
  2. 崩溃后, 执行 gdb /usr/bin/gtkqq core(产生的core文件), 进入gdb后, 输入 bt, 把结果贴出来.

谢谢. 这个问题可能是栈溢出的问题.

taxiyan commented 12 years ago

输出的结果跟上面的一样。。。 bt

0 0xb773a424 in __kernel_vsyscall ()

1 0xb6ca6b9f in raise () from /lib/libc.so.6

2 0xb6ca8525 in abort () from /lib/libc.so.6

3 0xb6ce0dea in ?? () from /lib/libc.so.6

4 0xb6d62605 in __fortify_fail () from /lib/libc.so.6

5 0xb6d625b7 in __stack_chk_fail () from /lib/libc.so.6

6 0xb6fc91b1 in ?? () from /usr/lib/libwebqq.so.0

7 0xb6fbac39 in ?? () from /usr/lib/libwebqq.so.0

8 0xb6fbb565 in qq_login () from /usr/lib/libwebqq.so.0

9 0x0805b812 in ?? ()

10 0x0804e9e7 in ?? ()

11 0xb6ef5ed0 in ?? () from /usr/lib/libglib-2.0.so.0

12 0xb6efa01f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

13 0xb6efa750 in ?? () from /usr/lib/libglib-2.0.so.0

14 0xb6efad5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

15 0x0804ea7d in ?? ()

16 0xb6f21344 in ?? () from /usr/lib/libglib-2.0.so.0

17 0xb6dfbcf7 in start_thread () from /lib/libpthread.so.0

18 0xb6d4b86e in clone () from /lib/libc.so.6

Backtrace stopped: Not enough registers or memory available to unwind further

mathslinux commented 12 years ago

@taxiyan 你用的什么操作系统, 多少位的? 我模拟看看, 另外你的代码是 git 上最新的吗?

taxiyan commented 12 years ago

archlinux i686 aur上的脚本。。git最新的。。

ekd123 commented 12 years ago

ArchLinux用户路过,表示没有任何问题。