Closed tmsdy closed 2 years ago
在我本机测试后,发现如果是接收 http://www.pushplus.plus/ 的消息, 必挂。
Type: EXCEPTION_ACCESS_VIOLATION Error: Read address 0x06B81000 Address: 7155AA84
CallStack: DWeChatRobot + AA84 DWeChatRobot + AA10 KERNEL32 + 16739 ntdll + 68AFF show in line:DWeChatRobot + AA84 DWeChatRobot + AA10 KERNEL32 + 16739 ntdll + 68AFF
Regs: EAX=0000002F, EBX=06B90000, ECX=06B80000, EDX=06B81000 ESI=06B80002, EDI=7155AA00, EBP=118FFA34, ESP=118FF62C, EIP=7155AA84
DWORD_PTRs at CS:EIP: 83028B66 856602C2 2BF575C0 89FAD1D6 518DEC55 801F0F02 00000000 83018B66 pid=00003EC0 init_tid=00000BB8 crashtid=000058F8 DWORD_PTRs at teb: 118FE78C 11900000 118F7000 00000000 00001E00 00000000 00B5E000 00000000 00003EC0 000058F8 00000000 10B21DA8 00AC7000 00000000 00000000 00000000 00000000
可能有特殊的数据结构吧,有空我去定位下。
我这边用那个API推消息完全正常,之前用过Server酱,也都是OK的
已经查到原因了,是因为我在 msgcallback里面加了一个转发消息的逻辑,调用的是robot.SendText,当待发送消息过长超过2000, 就会挂,各种订阅号公众号的图文消息长度都超过5000了。我只截取前200就正常了。
`
def msgcallback(self,data):
# 主线程中已经注入,此处禁止调用StartService和StopService
robot = WeChatRobot()
msg = {'time':data.time,'type':data.type,'isSendMsg':data.isSendMsg,'wxid':data.wxid,
'sendto' if data.isSendMsg else 'from':data.sender,'message':data.message}
if '@chatroom' in data.sender:
chatroominfo = robot.GetWxUserInfo(data.sender)
userinfo = robot.GetWxUserInfo(data.wxid)
msg['chatroomname'] = chatroominfo['wxNickName']
else:
userinfo = robot.GetWxUserInfo(data.sender)
msg['nickname'] = userinfo['wxNickName']
msg['alias'] = userinfo['wxNumber']
print(msg)
self.forward(msg,robot)
# 添加转发逻辑
def forward(self,msg, robot):
nickname = msg['nickname'] if msg['nickname'] else msg['wxid']
message = msg['message']
if '<emoji' in message:
message = '表情包'
elif '<img' in message:
message = '图片'
elif '<md5>' in message:
message = '文件'
forward_msg = nickname + '说:' + message
robot.SendText(boss_wxid,forward_msg)
`
Windows Server 2016 Datacenter [Build 10.0.14393] CPU: Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz 微信 3.70.0030 2022/7/10 12:22:43
Type: EXCEPTION_ACCESS_VIOLATION Error: Read address 0x03101000 Address: 6646AA84
CallStack: DWeChatRobot + AA84 DWeChatRobot + AA10 KERNEL32 + 162C4 ntdll + 61B69 show in line:DWeChatRobot + AA84 DWeChatRobot + AA10 KERNEL32 + 162C4 ntdll + 61B69
Regs: EAX=00000074, EBX=03110000, ECX=03100000, EDX=03101000 ESI=03100002, EDI=6646AA00, EBP=083AFDC8, ESP=083AF9C0, EIP=6646AA84
DWORD_PTRs at CS:EIP: 83028B66 856602C2 2BF575C0 89FAD1D6 518DEC55 801F0F02 00000000 83018B66 pid=00001B24 init_tid=00001814 crashtid=0000156C DWORD_PTRs at teb: 083AE404 083B0000 083A7000 00000000 00001E00 00000000 00ABE000 00000000 00001B24 0000156C 00000000 0E2E4F00 00A5B000 00000012 00000000 00000000 00000000
最后收到的一条消息是: {'time': '2022-07-10 12:22:38', 'type': 49, 'isSendMsg': 0, 'wxid': 'gh_8ec531665608', 'from': 'gh_8ec531665608', 'message': '<?xml version="1.0"?>\n\n\t\n\t\t<![CDATA[设备事件通知]]> \n\t\t<![CDATA[东东农场互助版\n设备名称:请点击查看通知内容\n发生时间:2022-07-10 12:22:37\n群组:京东(jd)\n退订请回复“td2190”\n回复“拒收”屏蔽所有消息]]> \n\t\t \n\t\t5 \n\t\t1 \n\t\t0 \n\t\t<![CDATA[]]> \n\t\t0 \n\t\t<![CDATA[http://s.pushplus.plus/84b1c59e960a4d6f9888c68f6519699c]]> \n\t\t<![CDATA[]]> \n\t\t\n\t\t\t0 \n\t\t\t \n\t\t\t \n\t\t\t<![CDATA[]]> \n\t\t\t<![CDATA[]]> \n\t\t\t<![CDATA[]]> \n\t\t \n\t\t \n\t\t<![CDATA[]]> \n\t\t<![CDATA[]]> \n\t\t\n\t\t\t\n\t\t\t\t<![CDATA[pushplus 推送加]]> \n\t\t\t\t\n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t<![CDATA[东东农场互助版\n设备名称:请点击查看通知内容\n发生时间:2022-07-10 12:22:37\n群组:京东(jd)\n退订请回复“td2190”\n回复“拒收”屏蔽所有消息]]> \n\t\t\t\t \n\t\t\t\t- \n\t\t\t\t\t
4 \n\t\t\t\t\t<![CDATA[设备事件通知]]> \n\t\t\t\t\t<![CDATA[http://s.pushplus.plus/84b1c59e960a4d6f9888c68f6519699c]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t1657426957 \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t \n\t\t\t\t\t<![CDATA[东东农场互助版\n设备名称:请点击 查看通知内容\n发生时间:2022-07-10 12:22:37\n群组:京东(jd)\n退订请回复“td2190”\n回复“拒收”屏蔽所有消息]]> \n\t\t\t\t\t0 \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t<![CDATA[#000000]]> \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t0 \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t1 \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t \n\t\t\t\t\t0 \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t0 \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\t<![CDATA[pushplus]]> \n\t\t\t\t<![CDATA[pushplus 推送加]]> \n\t\t\t \n\t\t\t\n\t\t\t\t<![CDATA[设备事件通知]]> \n\t\t\t\t<![CDATA[]]> \n\t\t\t\t1657426957 \n\t\t\t\t<![CDATA[东东农场互助版]]> \n\t\t\t\t<![CDATA[]]> \n\t\t\t\t1 \n\t\t\t \n\t\t\t\n\t\t\t\t1 \n\t\t\t\t\n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<![CDATA[设备名称 :]]> \n\t\t\t\t\t\t\t\t<![CDATA[#888888]]> \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<![CDATA[请点击查看通知内容]]> \n\t\t\t\t\t\t\t\t<![CDATA[#000000]]> \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<![CDATA[发生时间:]]> \n\t\t\t\t\t\t\t\t<![CDATA[#888888]]> \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<![CDATA[2022-07-10 12:22:37]]> \n\t\t\t\t\t\t\t\t<![CDATA[#000000]]> \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<![CDATA[备注:]]> \n\t\t\t\t\t\t\t\t<![CDATA[#888888]]> \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<![CDATA[群 组:京东(jd)\n退订请回复“td2190”\n回复“拒收”屏蔽所有消息]]> \n\t\t\t\t\t\t\t\t<![CDATA[#173177]]> \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<![CDATA[查看详情]]> \n\t\t\t\t\t\t<![CDATA[http://s.pushplus.plus/84b1c59e960a4d6f9888c68f6519699c]]> \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t<![CDATA[#000000]]> \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t\t0 \n\t\t\t\t\t\t<![CDATA[]]> \n\t\t\t\t\t \n\t\t\t\t\t0 \n\t\t\t\t \n\t\t\t\t0 \n\t\t\t \n\t\t\t0 \n\t\t\t \n\t\t \n\t\t<![CDATA[]]> \n\t\t<![CDATA[PxhkTGgkNTNrujrKwAE3ONm57t8nw0q5UhEsZEDCMvk]]> \n\t \n\t<![CDATA[gh_8ec531665608]]> \n\t\n\t\t0 \n\t\t<![CDATA[pushplus 推送加]]> \n\t\t1 \n\t \n \n', 'nickname': 'pushplus 推送加', 'alias': 'pushplus'}
详细日志如下 WeChat5dbe1b.txt WeChat5dbe1bFMD5.txt