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崩溃 #73

Closed wxg4net closed 12 years ago

wxg4net commented 12 years ago

这个不用写gdb跟踪吧。最近老是崩溃 原来都是别人回复我的好友申请请求了 。经测试 百试百爽(崩溃) 无语中 。其实不能添加好友也就算了。我可以通过 http://wp.qq.com/email/stop/email_stop.html?qq= 它添加好友, 如果这个崩溃了我直接无语了。可惜我自己办不了这个问题 求解决

xiehuc commented 12 years ago

目前还不支持发起添加好友的请求吧 你是说的什么意思? 你是在pidgin里面发起的添加好友请求?这里代码是空的 你是在网页里发起的添加好友请求?可能服务器会返回一些消息 没有正确处理 常见的是blist_change消息 所以还是需要gdb信息 在 2012-9-7 下午11:10,"普华之光" notifications@github.com写道:

这个不用写gdb跟踪吧。最近老是崩溃 原来都是别人回复我的好友申请请求了 。经测试 百试百爽(崩溃) 无语中 。其实不能添加好友也就算了。我可以通过 http://wp.qq.com/email/stop/email_stop.html?qq=它添加好友, 如果这个崩溃了我直接无语了。可惜我自己办不了这个问题 求解决

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

wxg4net commented 12 years ago

晕了 别人加我也崩溃(qq不需要验证) 软件都是最新版。 我估计崩溃的原因都在此处了。前端时间好像挺稳定的,最近崩溃频发,但是我回滚到之前多个版本,也是崩溃不断了。希望有心人处理下

wxg4net commented 12 years ago

我是在网页发起的网页请求。 别人回复任何处理都是崩溃

xiehuc commented 12 years ago

这个估计还是未知消息没有正确处理 我有空的时候会测试下 在 2012-9-7 下午11:20,"普华之光" notifications@github.com写道:

我是在网页发起的网页请求。 别人回复任何处理都是崩溃

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

wxg4net commented 12 years ago

这个是添加我为好友申请的崩溃消息 type: 3 200 {"retcode":0,"result":[{"poll_type":"system_message","value":{"seq":11040,"type":"added_buddy_sig","uiuin":"","from_uin":1508459124,"account":2437414869,"sig":"\u00FA\u00FC\u001A\u001A\u009C\u0007\u00FEd\u00B7\u0006.\u008E`\u008Ce\u0016\u0000\u06F8\u00A7wt?\u00A7","stat":10,"client_type":41}}]}

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xae6feb40 (LWP 7856)] 0xb72826f6 in __strlen_sse2_bsf () from /usr/lib/libc.so.6

wxg4net commented 12 years ago

这个信息有用么

1 0xb2c7643c in json_unescape (text=0x0) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/json.c:1205

    result = 0xb2c89b49 "msg"
    r = 2999452652
    w = 0
    **PRETTY_FUNCTION** = "json_unescape"

2 0xb2c7c351 in parse_system_message (json=0xaee10700, opaque=0xaee0fad0) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:551

    system = 0xaee0fad0
    type = 0xaee1acf8 "verify_pass_add"

3 0xb2c7d3cc in parse_recvmsg_from_json (list=0x87e8d40, str=

0xaee0f6b0 "{\"retcode\":0,\"result\":[{\"poll_type\":\"system_message\",\"value\":{\"seq\":13379,\"type\":\"verify_pass_add\",\"uiuin\":\"\",\"from_uin\":4276108633,\"account\":2437414869,\"group_id\":1,\"stat\":10,\"client_type\":41}}]}\r\n")
at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:864
    msg = 0xaee08bd8
    msg_type = LWQQ_MT_SYSTEM
    ret = -1295475017
    ret = 1
    retcode = 0
    json = 0xaee1abb0
    json_tmp = 0xaee10700
    cur = 0xaee10700
    **PRETTY_FUNCTION** = "parse_recvmsg_from_json"
    retcode_str = 0xaee0f788 "0"

4 0xb2c7d735 in start_poll_msg (msg_list=0x87e8d40) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:951

    lc = 0x87e8a00
    req = 0xaee1ad48
    ret = 0
    cookies = 0x0
    s = 0x0
    retcode = 0
    msg = 
"r=%7B%22clientid%22%3A%229681851%22%2C%22psessionid%22%3A%228368046764001d636f6e6e7365727665725f77656271714031302e3133332e342e31373200002d300000078e016e04001be179886d0000000a403178655445456c75396d000000"...
    list = 0x87e8d40
    url = 
"http://d.web2.qq.com/channel/poll2\000\000\n\000\226\211\374\233\267\255\000\000\000\000\n\000\000P", '\000' <repeats 14 times>"\377, \377p_\361\224\000\000\000\000\\237\267\255\060\237\267\255\n\000\000\000\203D-\267\000\000\000\000p\235\267\255\002\000\000\000n\366\"\267<\236\267\255p\235\267\255\004\000\000\000\340\330\065\267P\234\267\255\005\000\000\000\n\000\302\362\\234\267\255\000\000\000\000\n\000\000P", '\000' <repeats 14 times>"\377, \377p_\361\222\000\000\000\000\004\237\267\255\267\255\n\000\000\000\203D-\267\000\000\000\000t\235\267\255\003\000\000\000n\366\"\267\064\236\267\255p\235\267\255\b\000\000\000\340\330\065\267\340\375J\b\003\000\000\000\004\000\000\000\004\000\000\000\016\000\000\000\004\000\000\000\016\000\000\000\002\000\000\000`\240\267\255\004\000\000\000\267\255\064\236\267\255\000\000\000\000\364_:\267\366p*\267\364_:\267\064\236\267\255|\235\267\255\005\000\000\000n\366\"\267$\236"...
xiehuc commented 12 years ago

有的.

xiehuc commented 12 years ago

你的那个added_buddy_sig是怎么触发的? 我只能触发verify_pass,verify_pass_add.(同意并添加对方为好友,同意)

wxg4net commented 12 years ago

不是很清楚了, 我是在webqq与pidgin-lwqq之间测试的 webqq处理lwqq发来的好友申请三个操作皆让pidgin崩溃。另外一个是webqq申请加lwqq为好友(lwqq不需要好友认证的), 也可以让pidgin-lwqq崩溃。刚才gdb跟踪了一下pidgin,又出现了这个崩溃信息。(上面的崩溃信息我再跟踪下,稍等贴出)

200 {"retcode":102,"errmsg":""}

[Sep 8 09:54:07] ERROR[5334]: /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:830 parse_recvmsg_from_json: Parse json object error: {"retcode":102,"errmsg":""}

200 {"retcode":102,"errmsg":""}

[Sep 8 09:54:10] ERROR[5334]: /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:830 parse_recvmsg_from_json: Parse json object error: {"retcode":102,"errmsg":""}

现在停了 感觉你很想早点转让出它啊
r={"to":888888,"face":0,"content":"[\"现在停了 感觉你很想早点转让出�[Thread 0xabef9b40 (LWP 19513) exited] [New Thread 0xabef9b40 (LWP 19517)] [Thread 0xabef9b40 (LWP 19517) exited] [New Thread 0xabef9b40 (LWP 19537)] [Thread 0xabef9b40 (LWP 19537) exited]

Program received signal SIGSEGV, Segmentation fault.

wxg4net commented 12 years ago

确认 别人添加我为好友时,pidgin崩溃的信息(我的qq不需要验证的)

wxg4net commented 12 years ago

别人处理我好友操作的崩溃信息 ,是不是现在已经处理了

1 0xb2c7643c in json_unescape (text=0x0) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/json.c:1205

    result = 0xb2c89b49 "msg"
    r = 2999452652
    w = 0
    **PRETTY_FUNCTION** = "json_unescape"

2 0xb2c7c351 in parse_system_message (json=0xaee24d48, opaque=0xaee19d18) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:551

    system = 0xaee19d18
    type = 0xaee18998 "verify_pass_add"

3 0xb2c7d3cc in parse_recvmsg_from_json (list=0x84e7458, str=

0xaee0fcd0 "{\"retcode\":0,\"result\":[{\"poll_type\":\"system_message\",\"value\":{\"seq\":6730,\"type\":\"verify_pass_add\",\"uiuin\":\"\",\"from_uin\":1423404190,\"account\":2437414869,\"group_id\":1,\"stat\":10,\"client_type\":41}}]}\r\n")
at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:864
    msg = 0xaee19970
    msg_type = LWQQ_MT_SYSTEM
    ret = -1295475017
    ret = 1
    retcode = 0
    json = 0xaee19390
    json_tmp = 0xaee24d48
    cur = 0xaee24d48
    **PRETTY_FUNCTION** = "parse_recvmsg_from_json"
    retcode_str = 0xaee2e638 "0"

4 0xb2c7d735 in start_poll_msg (msg_list=0x84e7458) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:951

    lc = 0x84e8d58
    req = 0xaee19340
    ret = 0
    cookies = 0x0
    s = 0x0
    retcode = 0
    msg = 
"r=%7B%22clientid%22%3A%2279672865%22%2C%22psessionid%22%3A%228368046764001d636f6e6e7365727665725f77656271714031302e3133332e342e3137320000524200000799016e04001be179886d0000000a404452504c764b667a386d000000"...
    list = 0x84e7458
    url = 
"http://d.web2.qq.com/channel/poll2\000\267x\023T\267~\243\353\266\310`K\bT\335\021\261\004", '\000' <repeats 11 times>, ">\356T\267\364\257b\267o,?\267@\205K\b\300\357\377\267\240YS\267\020\000\000\000x]\037\bD|\376\267\364\237\377\266\271;?\267\310`K\b\000\000\000\000P\214\200\260\364\257b\267\364\257b\267F\000\000\000\207\275\001\000\v\313ao\344\003\000\000\364\237\377\266X\016{\003\270\261S\267\baS\267&\226[\267\364\237g\267x]\037\b(\243g\267P\035\200\260P\214\200\260)a\360\266\000\000\000\000\000\000\000\000\005\000\000\000\v\005\000\000\000\000\000\000\000\300b\267~\243\353\266X\317S\267\030\275\352\266\001\000\000\000\004\000\000\000\034\223[\267\000\000\000\000\300\357\377\267\344\335\021\261xW\001\267\240\335\021\261]t\376\267\214\327>\267-ST\267P\335\021\261T\372\377\267\000\000\000\000\000\000\000\000\005\000\000\000r\031i\t\271RT\267 \305b\267\344\003\000\000\300\357\377\267>\267"...
xiehuc commented 12 years ago

是啊.你更新下dev分支试一下.

wxg4net commented 12 years ago

已更新 别人处理我好友申请已经成功 但是否发现还存在一个问题。就是我不能直接与此人申请对话,只能他联系我,我新建对话,对方无反应,pidgin全部重载后也无法直接与其对话。

wxg4net commented 12 years ago

继续添加一个异常信息: (场景是自己在别人的好友列表里面,但自己的好友列表里面没有,一旦发起消息,则崩溃) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xaf1ffb40 (LWP 4229)] 0xb2c7d7d1 in parse_recvmsg_from_json (list=0x85653a8, str= 0xaf20bc20 "{\"retcode\":0,\"result\":[{\"poll_type\":\"kick_message\",\"value\":{\"way\":\"do_poll\",\"show_reason\":1,\"reason\":\"\u60A8\u7684\u8D26\u53F7\u5728\u53E6\u4E00\u5730\u70B9\u767B\u5F55\uFF0C\u60A8\u5DF2\u88AB\u8FEB\u"...) at /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:919 919 SIMPLEQ_INSERT_TAIL(&list->head, rmsg, entries);

wxg4net commented 12 years ago

我再报个异常信息?

0 0xb727479e in _int_free () from /usr/lib/libc.so.6

No symbol table info available.

1 0xb2c67461 in lwqq_async_wait (host=0x991d810) at /home/wxg/sources/pidgin-lwqq/src/async.c:154

    ret = 0

2 0xb2c6d6be in translate_message_to_struct (lc=0x900feb8, to=0x883f820 "88888888", what=0x9898d30 " ", msg=0x99056b0, using_cface=0)

at /home/wxg/sources/pidgin-lwqq/src/translate.c:196
    ptr = 0x9898d30 "  "
    img_id = 91
    c = 0x9898d70
    begin = 0x39 <Address 0x39 out of bounds>
    end = 0x8 <Address 0x8 out of bounds>
    m = {begin = 0x0, len = 0}
    x = 0x891c7d0
    mmsg = 0x9354198
    set = 0x991d810
    event = 0xb2c851df

3 0xb2c67a30 in _background_send_msg (data=0x93eb2c8) at /home/wxg/sources/pidgin-lwqq/src/background.c:162

    d = 0x93eb2c8
    msg = 0x99056b0
    mmsg = 0x9354198
    to = 0x883f820 "88888888"
    what = 0x9898d30 "  "
    ac = 0x8627210
    who = 0x9363b50 "88888888"
    lc = 0x900feb8
    will_upload = 0
    ret = 11

4 0xb2c67c17 in background_send_msg (ac=0x8627210, msg=0x99056b0, who=0x8778080 "2644631474", what=0x8fe60c8 " ", conv=0x94a8308)

at /home/wxg/sources/pidgin-lwqq/src/background.c:189
    data = 0x93eb2c8
    will_upload = 0

5 0xb2c6be40 in qq_send_im (gc=0x8ff6300, who=0x8778080 "88888888", what=0x8fe60c8 " ", UNUSED_flags=PURPLE_MESSAGE_SEND)

at /home/wxg/sources/pidgin-lwqq/src/webqq.c:803
    ac = 0x8627210
    lc = 0x900feb8
    nick = "\001\000\000\000\000\262\"\b\310`\376\b\226\306D\267 \000 \b\264\305\377\277\240x \bp\000\000"
    gname = "\217k\374\273\000\000\000\000\360\251Y\b\b\000\000\000\260V\220\t\000\b\000\000\263\001O\267\364\257R\267"
    pos = 0x0
    msg = 0x99056b0
    mmsg = 0x9354198
    conv = 0x94a8308
wxg4net commented 12 years ago

{"retcode":0,"result":[{"poll_type":"input_notify","value":{"msg_id":45270,"from_uin":999999,"to_uin":999999,"msg_id2":1624200352,"msg_type":121,"reply_ip":4294967295}}]} [Sep 9 14:27:06] ERROR[27942]: /home/wxg/sources/pidgin-lwqq/src/liblwqq/msg.c:120 lwqq_msg_new: No such message type

xiehuc commented 12 years ago

不要全部问题都挤到一个issue里面。