Open aijle opened 1 year ago
wg.add()
在 go 之前
wg.add();
go([wg, mat]{
cv::Mat tmp;
一样的错误,我猜想可能和arm7内存对齐问题有关,但是找不到解决方法
@aijle 看看你的问题,跟下面的是不是类似的?可能是 opencv 的一个 bug? https://github.com/opencv/opencv/issues/21047
应该不是,你看我的代码,cv::resize不在协程中是没问题的,而且错误是SIGBUS,一般都是内存对齐引起的。我现在用多线程处理cv::resize了。这里又有一个问题,一开始我用得std::async在协程里面处理,运行大约5300次后,程序就出现异常行为,但是也没有奔溃,直到我在外面创建一个线程处理,这才正常运行。有什么方法可以查看协程内存的情况,感觉是内存的问题。
用 coost 3.0
2升级3后,编译不了可能是什么原因 Undefined symbols for architecture x86_64: "_FLG_max_log_file_size", referenced from
2升级3后,编译不了可能是什么原因 Undefined symbols for architecture x86_64: "_FLG_max_log_file_size"
如果用的是动态库,不要直接 DEC_xxx(max_log_file_size)
,v3.0 中没有导出这些符号
是的,我用nm查看了,3.0是没有。那怎么使用max_log_file_size
是的,我用nm查看了,3.0是没有。那怎么使用max_log_file_size
v3.0 中可以使用 flag::set_value()
接口。
确认下是否超默认的协程栈了,创建协程时候 调大点栈试试
确认下是否超默认的协程栈了,创建协程时候 调大点栈试试
@aijle 可以按 ruki 的建议试试,用 -co_stack_size 8m
将栈设成 8m 试试,默认只有 1m
感谢你们的提议,我前面设置了10m,尝试了升级到3,还是一样的问题。现在我用多线程解决这个问题,后面有时间再看。
堆栈