Open
Description
error log | 日志或报错信息 | ログ
ncnn框架log:
ncnn0000: fopen /proc/self/auxv failed
crash堆栈:
(ncnn::DataReaderFromAndroidAsset::scan(char const*, void*) const+164)
(ncnn::Net::load_param(ncnn::DataReader const&)+84)
(ncnn::Net::load_param(AAssetManager*, char const*)+84)
(XXXX::init(AAssetManager*)+212)
反编译so:
int DataReaderFromAndroidAsset::scan(const char* format, void* p) const
{
if (!d->mem)
{
off_t pos = AAsset_seek(d->asset, 0, SEEK_CUR);
d->mem = (const unsigned char*)AAsset_getBuffer(d->asset);
d->mem += pos;
}
int fmtlen = strlen(format);
char* format_with_n = new char[fmtlen + 3];
sprintf(format_with_n, "%s%%n", format);
int nconsumed = 0;
int nscan = sscanf((const char*)d->mem, format_with_n, p, &nconsumed); // crash位置
d->mem += nconsumed;
delete[] format_with_n;
if (nconsumed == 0)
return 0;
AAsset_seek(d->asset, nconsumed, SEEK_CUR);
return nscan;
}
#endif // NCNN_STRING
context | 编译/运行环境 | バックグラウンド
运行环境:Android 15
ncnn版本:20240410 56775de (https://github.com/Tencent/ncnn/releases/tag/20240410)
ps:ncnn-20231027-android 同样存在该问题
how to reproduce | 复现步骤 | 再現方法
复现难度较大,大量线上数据反馈
more | 其他 | その他
模型初始化逻辑:
LOGD("model init start");
int p = predictor->load_param(mgr, "xxx.ncnn.param");
if (p != 0) {
LOGD("load param error!!!");
return -1;
}
int b = predictor->load_model(mgr, "xxx.ncnn.bin");
if (b != 0) {
LOGD("load bin error!!");
return -2;
}
LOGD("model init end");
Metadata
Assignees
Labels
No labels
Activity