-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ncnn::Convolution_arm::forward运行时crash #1601
Comments
如果把你的模型,放在 benchncnn 里面跑 1000 次以上,会遇到 crash 吗? |
我测试一下,有结果后反馈。感谢及时回复。 |
在benchmark下复现不了。但是最近这个问题发生的次数越来越多了。我们测试确认,将opt.use_paking_layout设置为ture就可以规避。但是由于多占了10M左右的内存,无法接受。 |
01-02 11:55:25.319 29428 29428 I AEE_AEDV: |
jiyinghui@zhuwenying-linux-pc: |
这是我们的dump信息。看起来还是conv1x1_s1_neon函数内部的crash。看下是否可以依据这些信息定位呢。 |
conv1x1_s1_neon,请问下这个卷积操作,都可以使用那些操作替换。目前,opt.use_paking_layout=true后可以规避。但是由于内存多占用超过10MB了。 |
是否有使用内存池? 另外,可以尝试 fastMalloc 的地方,额外多申请一些内存,比如 size + 16 看看 Line 61 in 1469bc8
|
没有使用内存池。好的,我试一下。 |
static inline void* fastMalloc(size_t size) |
c089ddb。我是用的ncnn是这个提交。我看好像fasuMalloc里面都已经做了align处理了? |
可以,就这样 |
如上,我们是用个android-NDK是r15c,指定的Android-PLATFORM=android-15。这个编译的时候,会选择memalign(MALLOC_ALIGN, size); 我看着分支是已经16byte对齐的内存了。@nihui |
和对齐没关系,就是为了多分配些 |
了解了。感谢。我们尽快压测的试一下。 |
2681224-01-18 10:28:03.204 22929 22929 I AEE_AEDV: |
jiyinghui@zhuwenying-linux-pc:~$ ~/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-addr2line -f -C -e |
我想起来了,你用的是 NDK r15c,这个版本 openmp 实现有bug,建议用 r16b 或者更新的 ndk 版本,或者你编译的时候禁用 NCNN_OPENMP ... |
我们r20b 在copy_cut_border这个方法,经常crash。具体内部在哪一行,还没有检测到。 |
这个方法传入的四个数必须大于等于0 |
尝试更新ncnn代码,如问题依旧存在,可以 reopen issue 继续交流 |
做目标检测时候遇到的。在运行1000次以后后才会发生。使用的ncnn版本号是:c089ddb3c235033f8da52b5d22639df5b0ff0824。
要解决该问题还需要提供哪些信息?
The text was updated successfully, but these errors were encountered: