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

It's more stable now #16

Closed mathslinux closed 12 years ago

mathslinux commented 12 years ago

gtkqq 现在已经相对稳定了, 但是我不确定还有没有其他的问题, 欢迎大家使用然后提供 bug信息, 如果有懂gdb的朋友, crash 的时候可以把 core文件发过来.

现在正在考虑其他功能的问题, 文件传输等等.

billzt commented 12 years ago

@mathslinux 我想调试,于是选择了 ./configure --enable-debug,但在执行 make 时出错, qqlogin.c: In function 'get_vc_image': qqlogin.c:160:7: error: variable 'res' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors

make[3]: * [libwebqq_la-qqlogin.lo] 错误 1 make[3]:正在离开目录 /home/bill/software/gtkqq/kernelhcy-gtkqq-708e6cc/src/libqq' make[2]: *** [all-recursive] 错误 1 make[2]:正在离开目录/home/bill/software/gtkqq/kernelhcy-gtkqq-708e6cc/src' make[1]: *\ [all-recursive] 错误 1 make[1]:正在离开目录 `/home/bill/software/gtkqq/kernelhcy-gtkqq-708e6cc' make: * [all] 错误 2

意思估计是:有一个变量设置了,却没使用

mathslinux commented 12 years ago

thanks, 这是一个编译的bug, 之所以我这里不出现, 可能是因为我的gcc版本比较不聪明. 等我提交.

mathslinux commented 12 years ago

@billzt 或者你可以看看我的patch 直接修改. https://github.com/mathslinux/gtkqq/commit/8fa5964b2061aa64eaa2a84fa3732a640c138184

billzt commented 12 years ago

@mathslinux OK, 我现在正在忙点事情,你可以先把它合并到主分支里。我忙完之后再过来看看

billzt commented 12 years ago

@mathslinux 好,打了补丁之后,可以通过编译了,但是还是没法登陆,

$ gtkqq DEBUG : Open db connection to /home/bill/.gtkqq/gtkqq.db (dao.c, 81) DEBUG : Create all tables (dao.c, 64) DEBUG : GQQConfig setter: info (gqqconfig.c, 151) DEBUG : Start Send main loop...(msgloop.c, 36) DEBUG : Start Get informain main loop...(msgloop.c, 36) DEBUG : Start Get Number and face images main loop...(msgloop.c, 36) DEBUG : Start login... qqnum: 448978834, 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 (222.202.96.171)

DEBUG : connecting to 222.202.96.171:80

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

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

DEBUG : connecting to 222.202.96.62:80

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

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

DEBUG : connecting to 222.202.96.171:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Success.(qqlogin.c, 399) DEBUG : Cookie ptcz=3c8f04a6d661e0e350b9651447fee94fc5ec57d54772350672149b2dc4a429f4 (qqlogin.c, 32) DEBUG : Cookie skey=@pyxZPmnQn (qqlogin.c, 32) DEBUG : Cookie ptwebqq=69e7d3df05335a978a84e6282112d98b4a9ff75397db43f1089d7e9e1f8b5945 (qqlogin.c, 32) DEBUG : Cookie ptuserinfo=7374696c6c7761746572 (qqlogin.c, 32) DEBUG : Cookie uin=o0448978834 (qqlogin.c, 32) DEBUG : Cookie ptisp=edu (qqlogin.c, 32) DEBUG : Cookie pt2gguin=o0448978834 (qqlogin.c, 32) * stack smashing detected *: gtkqq terminated ======= Backtrace: ========= /lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x45)[0xb6e7c8d5] /lib/i386-linux-gnu/libc.so.6(+0xe7887)[0xb6e7c887] /usr/lib/libwebqq.so.0(+0x19f11)[0xb6fe7f11] /usr/lib/libwebqq.so.0(+0xb999)[0xb6fd9999] /usr/lib/libwebqq.so.0(qq_login+0x345)[0xb6fda2c5] gtkqq[0x805b7b2] gtkqq[0x804e987] /lib/i386-linux-gnu/libglib-2.0.so.0(+0x3f110)[0xb7033110] /lib/i386-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x1df)[0xb703725f] /lib/i386-linux-gnu/libglib-2.0.so.0(+0x43990)[0xb7037990] /lib/i386-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x14b)[0xb7037f9b] gtkqq[0x804ea1d] /lib/i386-linux-gnu/libglib-2.0.so.0(+0x6a5f4)[0xb705e5f4] /lib/i386-linux-gnu/libpthread.so.0(+0x6d31)[0xb6f17d31] /lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb6e670ce] ======= Memory map: ======== 08048000-0806b000 r-xp 00000000 08:05 525778 /usr/local/bin/gtkqq 0806b000-0806c000 r--p 00022000 08:05 525778 /usr/local/bin/gtkqq 0806c000-0806d000 rw-p 00023000 08:05 525778 /usr/local/bin/gtkqq 08e3b000-09100000 rw-p 00000000 00:00 0 [heap] b3041000-b305d000 r-xp 00000000 08:05 916667 /lib/i386-linux-gnu/libgcc_s.so.1 b305d000-b305e000 r--p 0001b000 08:05 916667 /lib/i386-linux-gnu/libgcc_s.so.1 b305e000-b305f000 rw-p 0001c000 08:05 916667 /lib/i386-linux-gnu/libgcc_s.so.1 b305f000-b3061000 r-xp 00000000 08:05 915779 /lib/libnss_mdns4_minimal.so.2 b3061000-b3062000 r--p 00001000 08:05 915779 /lib/libnss_mdns4_minimal.so.2 b3062000-b3063000 rw-p 00002000 08:05 915779 /lib/libnss_mdns4_minimal.so.2 b307b000-b30db000 rw-s 00000000 00:04 4390926 /SYSV00000000 (deleted) b30db000-b3122000 r-xp 00000000 08:05 916656 /lib/i386-linux-gnu/libdbus-1.so.3.5.7 b3122000-b3123000 r--p 00046000 08:05 916656 /lib/i386-linux-gnu/libdbus-1.so.3.5.7 b3123000-b3124000 rw-p 00047000 08:05 916656 /lib/i386-linux-gnu/libdbus-1.so.3.5.7 b3124000-b3127000 r-xp 00000000 08:05 402663 /usr/lib/libfcitx-utils.so.0.1.0 b3127000-b3128000 r--p 00002000 08:05 402663 /usr/lib/libfcitx-utils.so.0.1.0 b3128000-b3129000 rw-p 00003000 08:05 402663 /usr/lib/libfcitx-utils.so.0.1.0 b3129000-b314c000 r-xp 00000000 08:05 397778 /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2.2.0 b314c000-b314d000 r--p 00022000 08:05 397778 /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2.2.0 b314d000-b314e000 rw-p 00023000 08:05 397778 /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2.2.0 b315f000-b3164000 r-xp 00000000 08:05 916685 /lib/i386-linux-gnu/libnss_dns-2.13.so b3164000-b3165000 r--p 00004000 08:05 916685 /lib/i386-linux-gnu/libnss_dns-2.13.so b3165000-b3166000 rw-p 00005000 08:05 916685 /lib/i386-linux-gnu/libnss_dns-2.13.so b3166000-b316c000 r-xp 00000000 08:05 402726 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so b316c000-b316d000 r--p 00005000 08:05 402726 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so b316d000-b316e000 rw-p 00006000 08:05 402726 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so b316e000-b31ce000 rw-s 00000000 00:04 4358157 /SYSV00000000 (deleted) b31ce000-b31fe000 rw-p 00000000 00:00 0 b31fe000-b36ef000 r--p 00000000 08:05 1178854 /usr/share/fonts/truetype/wqy/wqy-microhei.ttc b36ef000-b36f4000 r--p 00000000 08:05 801897 /usr/share/locale-langpack/zh_CN/LC_MESSAGES/gdk-pixbuf.mo b36f4000-b36f8000 r-xp 00000000 08:05 398302 /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so b36f8000-b36f9000 r--p 00003000 08:05 398302 /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so b36f9000-b36fa000 rw-p 00004000 08:05 398302 /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so b36fa000-b3717000 r--s 00000000 08:05 661345 /usr/share/mime/mime.cache b3717000-b3719000 r--s 00000000 08:08 2490442 /home/bill/.local/share/mime/mime.cache b3719000-b371a000 ---p 00000000 00:00 0 b371a000-b3f1a000 rw-p 00000000 00:00 0 b3f1a000-b3fca000 r--p 00000000 08:05 1178795 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf b3fca000-b3fcc000 r-xp 00000000 08:05 398401 /usr/lib/i386-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so b3fcc000-b3fcd000 r--p 00001000 08:05 398401 /usr/lib/i386-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so b3fcd000-b3fce000 rw-p 00002000 08:05 398401 /usr/lib/i386-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so b3fce000-b3fcf000 r--s 00000000 08:05 666820 /var/cache/fontconfig/c05880de57d1f5e948fdfacc138775d9-le32d4.cache-3 b3fcf000-b3fd5000 r--s 00000000 08:05 666817 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le32d4.cache-3 b3fd5000-b3fd7000 r--s 00000000 08:05 666818 /var/cache/fontconfig/99e8ed0e538f840c565b6ed5dad60d56-le32d4.cache-3 b3fd7000-b3fda000 r--s 00000000 08:05 666828 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-le32d4.cache-3 b3fda000-b3fdd000 r--s 00000000 08:05 666805 /var/cache/fontconfig/2cd17615ca594fa2959ae173292e504c-le32d4.cache-3 b3fdd000-b3fff000 r--s 00000000 08:05 674696 /var/cache/fontconfig/365b55f210c0a22e9a19e35191240f32-le32d4.cache-3 b3fff000-b4000000 ---p 00000000 00:00 0 b4000000-b4800000 rw-p 00000000 00:00 0 b4800000-b4821000 rw-p 00000000 00:00 0 b4821000-b4900000 ---p 00000000 00:00 0 b4900000-b4901000 r--s 00000000 08:05 666829 /var/cache/fontconfig/e7071f4a29fa870f4323321c154eba04-le32d4.cache-3 b4901000-b4905000 r--s 00000000 08:05 666814 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-le32d4.cache-3 b4905000-b4906000 r--s 00000000 08:05 666809 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-le32d4.cache-3 b4906000-b4907000 r--s 00000000 08:05 666802 /var/cache/fontconfig/0d8c3b2ac0904cb8a57a757ad11a4a08-le32d4.cache-3 b4907000-b4908000 r--s 00000000 08:05 666812 /var/cache/fontconfig/6a53c69dea097a2d716e069445527da8-le32d4.cache-3 b4908000-b490c000 r--s 00000000 08:05 666819 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-le32d4.cache-3 b490c000-b4910000 r--s 00000000 08:05 674693 /var/cache/fontconfig/515ca1ebc4b18308bea979be5704f9db-le32d4.cache-3已放弃

mathslinux commented 12 years ago

@billzt 这种情况你那里出现的频繁吗? 我以前也是很容易崩溃, 修改了几个内存的错误后现在很稳定了. 你可以把你的core文件发给我帮忙调试吗?

  1. 把你的 ~/.gtkqq 目录删除.
  2. 不要使用 proxy 登录.(这个功能还不完善)
  3. 在终端下运行 ulimit -c unlimited; /usr/bin/gtkqq (你安装的 gtkqq的程序路径)
  4. 崩溃后, 把 你的 /usr/bin/gtkqq 和 你终端目录下崩溃产生的 core 文件发给我.

谢谢

billzt commented 12 years ago

@mathslinux 呵呵,不是频繁不频繁的问题,是从来就没有成功过。调试信息和 core 文件我会另外发一个邮件给你

mathslinux commented 12 years ago

@billzt 好的, 非常感谢.

billzt commented 12 years ago

@mathslinux 我已经发到你的 gmail 邮箱了,顺便说下,我的平台是 ubuntu 11.10

mathslinux commented 12 years ago

@billzt 我用你的 core 文件解析不出来, 可能是我的gcc和你的gcc, 还有我们的 gtkqq二进制不同的关系. 你看看在终端下执行 gdb /usr/bin/gtkqq core(你的core文件), 进入gdb后, 输入 bt, 把结果贴出来吧

billzt commented 12 years ago

@mathslinux 我自己的好像也没解析出来, $ gdb /usr/bin/gtkqq core GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 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-linux-gnu". For bug reporting instructions, please see: http://bugs.launchpad.net/gdb-linaro/... Reading symbols from /usr/bin/gtkqq...done. [New LWP 21146] [New LWP 21147] [New LWP 21148] [New LWP 21149] [New LWP 21145] [New LWP 21144]

warning: Can't read pathname for load map: 输入/输出错误. [Thread debugging using libthread_db enabled] Core was generated by `/usr/bin/gtkqq'. Program terminated with signal 6, Aborted.

0 0xb76e6424 in __kernel_vsyscall ()

(gdb) bt

0 0xb76e6424 in __kernel_vsyscall ()

1 0xb6c1ec8f in raise () from /lib/i386-linux-gnu/libc.so.6

2 0xb6c222b5 in abort () from /lib/i386-linux-gnu/libc.so.6

3 0xb6c54dfc in ?? () from /lib/i386-linux-gnu/libc.so.6

4 0xb6cd88d5 in __fortify_fail () from /lib/i386-linux-gnu/libc.so.6

5 0xb6cd8887 in __stack_chk_fail () from /lib/i386-linux-gnu/libc.so.6

6 0xb6e43f11 in __stack_chk_fail_local () from /usr/lib/libwebqq.so.0

7 0xb6e35999 in get_ptcz_skey (info=, p=) at qqlogin.c:469

8 0xb6e362c5 in do_login (err=0xb57bafc4, passwd=0x949ed28 "19890404bl", info=0x930b920, uin=, status=) at qqlogin.c:667

9 qq_login (info=0x930b920, qqnum=0x9493db0 "448978834", passwd=0x949ed28 "19890404bl", status=0x80626d3 "online", err=0xb57bafc4) at qqlogin.c:742

10 0x0805b7b2 in do_login (panel=0x930b9b0) at loginpanel.c:95

11 login_state_machine (data=0x930b9b0) at loginpanel.c:202

12 0x0804e987 in gqq_ctx_callback (data=0x946f6c0) at msgloop.c:126

13 0xb6e8f110 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0

14 0xb6e9325f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0

15 0xb6e93990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0

16 0xb6e93f9b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0

17 0x0804ea1d in thread_main (data=0x9361070) at msgloop.c:38

18 0xb6eba5f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0

19 0xb6d73d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0

20 0xb6cc30ce in clone () from /lib/i386-linux-gnu/libc.so.6

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

不知是怎么回事?

mathslinux commented 12 years ago

@billzt 大概知道是哪部分出问题了, 不过还需要更精确, 你在终端下运行 gdb /usr/bin/gtkqq, 然后登录, 出错了会停止, 然后按 bt. 把信息打印出来.

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

billzt commented 12 years ago

@mathslinux 什么意思?我运行 gdb /usr/bin/gtkqq,显示

GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 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-linux-gnu". For bug reporting instructions, please see: http://bugs.launchpad.net/gdb-linaro/... Reading symbols from /usr/bin/gtkqq...done. (gdb)

光标就停在此处了,然后从哪儿登陆?是在 (gdb) 后面输入帐号密码还是另外从窗口登陆?

mathslinux commented 12 years ago

@billzt 输入r, 表述运行, 出错后在按bt, 出现出错部分的源代码信息. 然后贴出来.

billzt commented 12 years ago

@mathslinux 好的,情况是这样: gdb /usr/bin/gtkqq GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 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-linux-gnu". For bug reporting instructions, please see: http://bugs.launchpad.net/gdb-linaro/... Reading symbols from /usr/bin/gtkqq...done. (gdb) r Starting program: /usr/bin/gtkqq [Thread debugging using libthread_db enabled] DEBUG : Open db connection to /home/bill/.gtkqq/gtkqq.db (dao.c, 81) DEBUG : Create all tables (dao.c, 64) DEBUG : GQQConfig setter: info (gqqconfig.c, 151) [New Thread 0xb68b5b70 (LWP 21870)] [New Thread 0xb60b4b70 (LWP 21871)] [New Thread 0xb58b3b70 (LWP 21872)] DEBUG : Start Send main loop...(msgloop.c, 36) DEBUG : Start Get Number and face images main loop...(msgloop.c, 36) DEBUG : Start Get informain main loop...(msgloop.c, 36) [New Thread 0xb4effb70 (LWP 21873)] [New Thread 0xb46feb70 (LWP 21874)] DEBUG : Start login... qqnum: 448978834, 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 (222.202.96.171)

DEBUG : connecting to 222.202.96.171:80

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

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

DEBUG : connecting to 222.202.96.62:80

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

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

DEBUG : connecting to 222.202.96.171:80

DEBUG : Did not using proxy bypass ...(qqproxy.c,752) DEBUG : Success.(qqlogin.c, 399) DEBUG : Cookie ptcz=c35463d8576f409eea5905d938fc40621e0452b63ea4069d4c74fcc6af7f2163 (qqlogin.c, 32) DEBUG : Cookie skey=@kO2vVIfDs (qqlogin.c, 32) DEBUG : Cookie ptwebqq=60ad686470fd8a5a49ca7bb3b8f4a2dc92f6b0b67a500859e1ac67f163cf723e (qqlogin.c, 32) DEBUG : Cookie ptuserinfo=7374696c6c7761746572 (qqlogin.c, 32) DEBUG : Cookie uin=o0448978834 (qqlogin.c, 32) DEBUG : Cookie ptisp=edu (qqlogin.c, 32) DEBUG : Cookie pt2gguin=o0448978834 (qqlogin.c, 32) * stack smashing detected _: /usr/bin/gtkqq terminated ======= Backtrace: ========= /lib/i386-linux-gnu/libc.so.6(fortify_fail+0x45)[0xb75d18d5] /lib/i386-linux-gnu/libc.so.6(+0xe7887)[0xb75d1887] /usr/lib/libwebqq.so.0(+0x19f11)[0xb773cf11] /usr/lib/libwebqq.so.0(+0xb999)[0xb772e999] /usr/lib/libwebqq.so.0(qq_login+0x345)[0xb772f2c5] /usr/bin/gtkqq[0x805b7b2] /usr/bin/gtkqq[0x804e987] /lib/i386-linux-gnu/libglib-2.0.so.0(+0x3f110)[0xb7788110] /lib/i386-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x1df)[0xb778c25f] /lib/i386-linux-gnu/libglib-2.0.so.0(+0x43990)[0xb778c990] /lib/i386-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x14b)[0xb778cf9b] /usr/bin/gtkqq[0x804ea1d] /lib/i386-linux-gnu/libglib-2.0.so.0(+0x6a5f4)[0xb77b35f4] /lib/i386-linux-gnu/libpthread.so.0(+0x6d31)[0xb766cd31] /lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb75bc0ce] ======= Memory map: ======== 08048000-0806b000 r-xp 00000000 08:05 395491 /usr/bin/gtkqq 0806b000-0806c000 r--p 00022000 08:05 395491 /usr/bin/gtkqq 0806c000-0806d000 rw-p 00023000 08:05 395491 /usr/bin/gtkqq 0806d000-0832b000 rw-p 00000000 00:00 0 [heap] b379d000-b37b9000 r-xp 00000000 08:05 916667 /lib/i386-linux-gnu/libgcc_s.so.1 b37b9000-b37ba000 r--p 0001b000 08:05 916667 /lib/i386-linux-gnu/libgcc_s.so.1 b37ba000-b37bb000 rw-p 0001c000 08:05 916667 /lib/i386-linux-gnu/libgcc_s.so.1 b37bb000-b381b000 rw-s 00000000 00:04 1605645 /SYSV00000000 (deleted) b381b000-b3862000 r-xp 00000000 08:05 916656 /lib/i386-linux-gnu/libdbus-1.so.3.5.7 b3862000-b3863000 r--p 00046000 08:05 916656 /lib/i386-linux-gnu/libdbus-1.so.3.5.7 b3863000-b3864000 rw-p 00047000 08:05 916656 /lib/i386-linux-gnu/libdbus-1.so.3.5.7 b3864000-b3887000 r-xp 00000000 08:05 397778 /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2.2.0 b3887000-b3888000 r--p 00022000 08:05 397778 /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2.2.0 b3888000-b3889000 rw-p 00023000 08:05 397778 /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2.2.0 b38a2000-b38a8000 r-xp 00000000 08:05 402726 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so b38a8000-b38a9000 r--p 00005000 08:05 402726 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so b38a9000-b38aa000 rw-p 00006000 08:05 402726 /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so b38aa000-b390a000 rw-s 00000000 00:04 1572876 /SYSV00000000 (deleted) b390a000-b393a000 rw-p 00000000 00:00 0 b393a000-b3e2b000 r--p 00000000 08:05 1178854 /usr/share/fonts/truetype/wqy/wqy-microhei.ttc b3e2b000-b3e2f000 r-xp 00000000 08:05 398302 /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so b3e2f000-b3e30000 r--p 00003000 08:05 398302 /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so b3e30000-b3e31000 rw-p 00004000 08:05 398302 /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so b3e31000-b3e4e000 r--s 00000000 08:05 661345 /usr/share/mime/mime.cache b3e4e000-b3efe000 r--p 00000000 08:05 1178795 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf b3efe000-b3eff000 ---p 00000000 00:00 0 b3eff000-b46ff000 rw-p 00000000 00:00 0 b46ff000-b4700000 ---p 00000000 00:00 0 b4700000-b4f00000 rw-p 00000000 00:00 0 b4f00000-b4f21000 rw-p 00000000 00:00 0 b4f21000-b5000000 ---p 00000000 00:00 0 b500c000-b5011000 r-xp 00000000 08:05 916685 /lib/i386-linux-gnu/libnss_dns-2.13.so b5011000-b5012000 r--p 00004000 08:05 916685 /lib/i386-linux-gnu/libnss_dns-2.13.so b5012000-b5013000 rw-p 00005000 08:05 916685 /lib/i386-linux-gnu/libnss_dns-2.13.so b5013000-b5016000 r-xp 00000000 08:05 402663 /usr/lib/libfcitx-utils.so.0.1.0 b5016000-b5017000 r--p 00002000 08:05 402663 /usr/lib/libfcitx-utils.so.0.1.0 b5017000-b5018000 rw-p 00003000 08:05 402663 /usr/lib/libfcitx-utils.so.0.1.0 b5018000-b501a000 r-xp 00000000 08:05 398401 /usr/lib/i386-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so b501a000-b501b000 r--p 00001000 08:05 398401 /usr/lib/i386-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so b501b000-b501c000 rw-p 00002000 08:05 398401 /usr/lib/i386-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so b501c000-b501d000 r--s 00000000 08:05 666820 /var/cache/fontconfig/c05880de57d1f5e948fdfacc138775d9-le32d4.cache-3 b501d000-b5023000 r--s 00000000 08:05 666817 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le32d4.cache-3 b5023000-b5025000 r--s 00000000 08:05 666818 /var/cache/fontconfig/99e8ed0e538f840c565b6ed5dad60d56-le32d4.cache-3 b5025000-b5028000 r--s 00000000 08:05 666828 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-le32d4.cache-3 b5028000-b502b000 r--s 00000000 08:05 666805 /var/cache/fontconfig/2cd17615ca594fa2959ae173292e504c-le32d4.cache-3 b502b000-b502c000 r--s 00000000 08:05 666829 /var/cache/fontconfig/e7071f4a29fa870f4323321c154eba04-le32d4.cache-3 b502c000-b5030000 r--s 00000000 08:05 666814 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-le32d4.cache-3 b5030000-b5031000 r--s 00000000 08:05 666809 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-le32d4.cache-3 b5031000-b5032000 r--s 00000000 08:05 666802 /var/cache/fontconfig/0d8c3b2ac0904cb8a57a757ad11a4a08-le32d4.cache-3 b5032000-b5033000 r--s 00000000 08:05 666812 /var/cache/fontconfig/6a53c69dea097a2d716e069445527da8-le32d4.cache-3 b5033000-b5037000 r--s 00000000 08:05 666819 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-le32d4.cache-3 b5037000-b503b000 r--s 00000000 08:05 674693 /var/cache/fontconfig/515ca1ebc4b18308bea979be5704f9db-le32d4.cache-3 b503b000-b5042000 r--s 00000000 08:05 673763 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-le32d4.cache-3 b5042000-b504d000 r--s 00000000 08:05 666803 /var/cache/fontconfig/0f34bcd4b6ee430af32735b75db7f02b-le32d4.cache-3 b504d000-b5050000 r--s 00000000 08:05 666825 /var/cache/fontconfig/d60319d88cac85ba9e1a07bd06cfbb8c-le32d4.cache-3 b5050000-b5051000 r--s 00000000 08:05 658331 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-le32d4.cache-3 b5051000-b5073000 r--s 00000000 08:05 674696 /var/cache/fontconfig/365b55f210c0a22e9a19e35191240f32-le32d4.cache-3 b5073000-b5080000 r--s 00000000 08:05 666824 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-le32d4.cache-3 b5080000-b5098000 r-xp 00000000 08:05 395340 /usr/lib/libdbusmenu-glib.so.4.0.5 b5098000-b5099000 r--p 00017000 08:05 395340 /usr/lib/libdbusmenu-glib.so.4.0.5 b5099000-b509a000 rw-p 00018000 08:05 395340 /usr/lib/libdbusmenu-glib.so.4.0.5 b509a000-b509c000 r-xp 00000000 08:05 915779 /lib/libnss_mdns4_minimal.so.2 b509c000-b509d000 r--p 00001000 08:05 915779 /lib/libnss_mdns4_minimal.so.2 b509d000-b509e000 rw-p 00002000 08:05 915779 /lib/libnss_mdns4_minimal.so.2 b509e000-b50a3000 r--p 00000000 08:05 801897 /usr/share/locale-langpack/zh_CN/LC_MESSAGES/gdk-pixbuf.mo b50a3000-b50a9000 r--s 00000000 08:05 674692 /var/cache/fontconfig/153bb866d4d26e7cd19eee2129f8d8d2-le32d4.cache-3 b50a9000-b50b3000 r--s 00000000 08:08 2370156 /home/bill/.fontconfig/630a15c3c593bbc725f25c6b9c827d9b-le32d4.cache-3 Program received signal SIGABRT, Aborted. [Switching to Thread 0xb60b4b70 (LWP 21871)] 0xb7fdf424 in kernel_vsyscall () (gdb) bt // 在此卡住,输入bt

0 0xb7fdf424 in __kernel_vsyscall ()

1 0xb7517c8f in raise () from /lib/i386-linux-gnu/libc.so.6

2 0xb751b2b5 in abort () from /lib/i386-linux-gnu/libc.so.6

3 0xb754ddfc in ?? () from /lib/i386-linux-gnu/libc.so.6

4 0xb75d18d5 in __fortify_fail () from /lib/i386-linux-gnu/libc.so.6

5 0xb75d1887 in __stack_chk_fail () from /lib/i386-linux-gnu/libc.so.6

6 0xb773cf11 in __stack_chk_fail_local () from /usr/lib/libwebqq.so.0

7 0xb772e999 in get_ptcz_skey (info=, p=) at qqlogin.c:469

8 0xb772f2c5 in dologin (err=0xb60b3fc4, passwd=0x83196b0 "*****_", info=0x818d920, uin=, status=) at qqlogin.c:667

9 qqlogin (info=0x818d920, qqnum=0x83170f0 "448978834", passwd=0x83196b0 "*******", status=0x80626d3 "online", err=0xb60b3fc4) at qqlogin.c:742

10 0x0805b7b2 in do_login (panel=0x818d9b0) at loginpanel.c:95

11 login_state_machine (data=0x818d9b0) at loginpanel.c:202

12 0x0804e987 in gqq_ctx_callback (data=0x82e9f20) at msgloop.c:126

13 0xb7788110 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0

14 0xb778c25f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0

15 0xb778c990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0

16 0xb778cf9b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0

17 0x0804ea1d in thread_main (data=0x81e3070) at msgloop.c:38

18 0xb77b35f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0

19 0xb766cd31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0

20 0xb75bc0ce in clone () from /lib/i386-linux-gnu/libc.so.6

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

你看看,可以吗(密码已经被我用*代替了)

mathslinux commented 12 years ago

我给你发了一份带有 -fno-stack-protector 编译的 configure.ac ,你用这个重新编译看看. 这个问题大概是栈溢出的问题, 比较不好查, 我在gentoo 32,64位 fedora 64位上都没有问题, 我等等在 KVM 上装一个 ubuntu 试试.

billzt commented 12 years ago

@mathslinux 我的是ubuntu11.10 32位。你的邮件是不是忘记加附件了? configure.ac 我没有收到

mathslinux commented 12 years ago

@billzt 我又重发了一份, 里面是有附件的, 你看看.

mathslinux commented 12 years ago

ٷһθ.

2011/12/10 billzt < reply@reply.github.com

@mathslinux ҵubuntu11.10 32λ


Reply to this email directly or view it on GitHub: https://github.com/kernelhcy/gtkqq/issues/16#issuecomment-3089562

linuxer and emacser and pythoner living in xiamen blog: http://mathslinux.org twitter: https://twitter.com/mathslinux google+: https://plus.google.com/118129852578326338750

billzt commented 12 years ago

@mathslinux 对不起,还是收不了。麻烦您不要用github上的这个issue来发送,而是直接发个邮件到我的邮箱:billzt@hotmail.com ,并且把文件打一下包,避免出现意外

mathslinux commented 12 years ago

@billzt Ok, have sent it

billzt commented 12 years ago

@mathslinux 非常感谢大哥,这一次修补之后终于可以登陆了。 但是后面的问题还很严重,正如 https://github.com/kernelhcy/gtkqq/issues/17 里说,它在 gnome3 下表现很差。我根本看不到聊天的输入框!(如果需要的话我可以发一个截图给你看看,我不确认、但估计是gtk的问题)现在ubuntu、mint等主流发行版都已经使用gtk3了,建议你们还是将其移植到 gtk3 下,否则大批用户都将无法正常使用

mathslinux commented 12 years ago

@billzt 1. 你的这个问题是里面代码的栈溢出问题, 等我有时间把里面内存比较敏感的部分重构一下.

  1. 关于 gtk3的问题, 我的laptop上的gentoo由于稳定gtk3还没有进入 stable所以我使用的还是gtk2, gtkqq没有你们说 的问题, 但是我在公司的gentoo 64位上是用的gnome-3.2, 输入法也是没有问题, 另外我的同事都使用 fedora 16的, 他们 使用也没有问题, 因为我身边没有几个使用ubuntu的, 所以我也不知道ubuntu上的表现性能.
  2. 关于输入法的问题, 我使用的是 ibus的输入法, fcitx没有测试过.
  3. 移植到 gtk3是肯定的, 欢迎贡献 patch, :-)