aliyun / aliyun-oss-cpp-sdk

Aliyun OSS SDK for C++
Other
184 stars 88 forks source link

上传MP3有崩溃现象 #25

Closed miaotianlei closed 5 years ago

miaotianlei commented 5 years ago

以下是崩溃的堆栈信息

1 #00 pc 0004a988 /system/lib/libc.so (tgkill+12) [armeabi-v7a] 2 #01 pc 0004806b /system/lib/libc.so (pthread_kill+34) [armeabi-v7a] 3 #02 pc 0001dacd /system/lib/libc.so (raise+10) [armeabi-v7a] 4 #03 pc 000194c5 /system/lib/libc.so (libc_android_abort+34) [armeabi-v7a] 5 #04 pc 00017520 /system/lib/libc.so (abort+4) [armeabi-v7a] 6 #05 pc 012d5e8f /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (Json::Value::asInt() const+210) [armeabi-v7a] 7 #06 pc 012d5b1b /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (Json::CharReaderBuilder::newCharReader() const+118) [armeabi-v7a] 8 #07 pc 012d7111 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (Json::parseFromStream(Json::CharReader::Factory const&, std::ndk1::basic_istream<char, std::ndk1::char_traits >&, Json::Value*, std::__ndk1::basic_string<char, std::ndk1::char_traits, std::ndk1::allocator >)+224) [armeabi-v7a] 9 #08 pc 0130b3eb /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (AlibabaCloud::OSS::ResumableUploader::loadRecord()+214) [armeabi-v7a] 10 #09 pc 012ffa3d /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (AlibabaCloud::OSS::ResumableBaseWorker::validate(AlibabaCloud::OSS::OssError&)+84) [armeabi-v7a] 11 #10 pc 01309623 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (AlibabaCloud::OSS::ResumableUploader::Upload()+42) [armeabi-v7a] 12 #11 pc 012fb809 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (AlibabaCloud::OSS::OssClientImpl::ResumableUploadObject(AlibabaCloud::OSS::UploadObjectRequest const&) const+260) [armeabi-v7a] 13 #12 pc 012ec8ad /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (AlibabaCloud::OSS::OssClient::ResumableUploadObject(AlibabaCloud::OSS::UploadObjectRequest const&) const+8) [armeabi-v7a] 14 #13 pc 00af4f49 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (ljUploadCache::uploadFileItem(ljUploadResourceFileItem, char const, char const, char const)+1000) [armeabi-v7a] 15 #14 pc 00af47e9 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (ljUploadCache::uploadFile(ljUploadResourceFileItem)+126) [armeabi-v7a] 16 #15 pc 00af4699 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so (ljUploadCache::threadFunc(bool)+64) [armeabi-v7a] 17 #16 pc 00af4641 /data/app/com.lj.ljshell-1/lib/arm/libcocos2dcpp.so [armeabi-v7a] 18 #17 pc 00047b3f /system/lib/libc.so (pthread_start(void*)+22) [armeabi-v7a] 19 #18 pc 00019f21 /system/lib/libc.so (__start_thread+6) [armeabi-v7a]

可以用这个链接提供的文件进行测试

huiguangjun commented 5 years ago

你们的程序,上传的文件大小有多大?

UploadObjectRequest 的参数 都是怎么设置的?

另外,你们的程序会不会 用到 jsoncpp 库?

miaotianlei commented 5 years ago

你们的程序,上传的文件大小有多大? UploadObjectRequest 的参数 都是怎么设置的? 另外,你们的程序会不会 用到 jsoncpp 库?

上面错误堆栈信息后面跟着的就是测试链接文件

以下是调用代码 AlibabaCloud::OSS::OssClient pClient = (AlibabaCloud::OSS::OssClient)openOssClient(pobjItem); AlibabaCloud::OSS::UploadObjectRequest request(pszBucket, pszRemoteName, pszLocalFile, strTmp, 4096000, 5); AlibabaCloud::OSS::TransferProgress progressCallback = { _uploadProgressCallback, pobjItem }; request.setTransferProgress(progressCallback); auto outcome = pClient->ResumableUploadObject(request);

huiguangjun commented 5 years ago

该问题是由jsoncpp 库冲突引起的。后续的版本 会 对 external 引用的第三方库加名字空间做隔离。

patch 已经提到 dev-1.4.0 分支上。

KingaChou commented 4 years ago

@huiguangjun 请问oss引入的external的json库的命名空间有做隔离吗? 为什么我看到external/json下的json文件用的还是namespace Json. 这跟jsoncpp原有的命令空间还是一样的,我这边用的master分支编译,项目有用到libjsoncpp,报冲突了。