设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 12605|回复: 24
打印 上一主题 下一主题

关于第二次发起视频请求 内存引起的crash的问题

[复制链接]

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
楼主
发表于 2015-10-12 11:11:51 | 显示全部楼层
通过zombie对象排查 发现问题出现在
- (void)AnyChatNotifyHandlerNSNotification*)notify 方法中
能否提供更多的信息,比如出现问题之后的堆栈信息等供我们分析?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
沙发
发表于 2015-10-12 12:02:54 | 显示全部楼层
您好,能否在我们的标准demo(比如:helloAnyChat)上,修改一下代码,将您所说的“没有进入房间的需求”在上面做一下实现,看问题是否也同样存在?如果存在,您可以将修改后的源代码发给我们(service@bairuitech.com),我们根据您提供的源代码可能会较快速的找到问题的原因并提供解决方案。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
板凳
发表于 2015-10-12 16:53:05 | 显示全部楼层
MobileCRM(74887,0x10ecde300) malloc: *** error for object 0x7f8033802b50: pointer being freed was not allocated

那您对比一下Demo和您自己的程序,哪些地方会有差异?重点排查一下委托的实现“anychat.notifyMsgDelegate = self;”是否有多个页面都实现了同一个委托?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
地板
发表于 2015-10-12 16:55:32 | 显示全部楼层
2015-10-12 10:39:41.528 MobileCRM[74887:7185151] Message        OnConnect(bSuccess:0, errorcode=100)
MobileCRM(74887,0x10ecde300) malloc: *** error for object 0x7f8033802b50: pointer being freed was not allocated

根据日志来分析,可能是触发网络连接异步事件时出错了:
  1. // 连接服务器消息
  2. - (void) OnAnyChatConnect:(BOOL) bSuccess
  3. {
  4.     if (bSuccess)
  5.     {
  6.         theStateInfo.text = @"• Success connected to server";
  7.     }
  8. }
复制代码
是否网络连接事件触发时,相关的窗口(ViewController)已经销毁了?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
5#
发表于 2015-10-12 17:54:21 | 显示全部楼层
谢谢 这个问题已经解决 又重新拿instruments 排查了一遍 找到了内存泄露的地方

能大概说一下原因吗?
还有就是 有时候本地的摄像头不显示, 有一定的随机性
是否有使用标准示例工程helloAnyChat,是否也存在同样的问题呢?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
6#
发表于 2015-10-15 18:31:56 | 显示全部楼层
您好,业务服务器发起中心服务器录制时,目前的版本暂时不会触发客户端本地的回调事件;

只有当客户端发起中心服务器录制时,加上“ANYCHAT_RECORD_FLAGS_LOCALCB”标志才会触发客户端本地的回调事件。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
7#
发表于 2015-10-16 09:53:31 | 显示全部楼层
标志都是在开始录制时加上的,结束时的标志将会被忽略,所以应该是:
int flags = BRAC_RECORD_FLAGS_SERVER | BRAC_RECORD_FLAGS_LOCALCB | BRAC_RECORD_FLAGS_VIDEO | BRAC_RECORD_FLAGS_AUDIO | ……
[AnyChatPlatform StreamRecordCtrl: id : YES : flags : 0];
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
8#
发表于 2015-10-16 10:33:36 | 显示全部楼层
从log看,您是录制对方吧?因为本地的userid=4,而您录制的是userid=1:
Invoke        StreamRecordCtrlEx(1, 1, 0x807, 0, )=0;

另外从log分析,您好象没有请求对方的视频?日志中没有看到:UserCameraControl(1, 1)的调用记录?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
9#
发表于 2015-10-16 10:37:15 | 显示全部楼层
您可以将录像服务器的日志贴上来,我们帮您分析一下,谢谢。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9079
10#
发表于 2015-10-16 10:53:47 | 显示全部楼层
亲,是什么原因呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-5-7 12:30 , Processed in 0.180004 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表