1.6.1 有Downloader崩溃的情况

发生的原因不清楚,日志是在bugly里面截获的,看起来崩溃很频繁。
具体堆栈信息如下:

1 #00 pc 00d0010c libcocos2djs.so _M_find_before_node (xxx/SDK/android-ndk-r14b/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/hashtable.h:1442) [armeabi-v7a]
2 #01 pc 00d0077c libcocos2djs.so DownloaderAndroid (xxx/SDK/android-ndk-r14b/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/hashtable.h:1555 [Inline: _M_find_node]) [armeabi-v7a]
3 #02 pc 00cff848 libcocos2djs.so Downloader (xxx/Codes/game/proj/game/build/jsb-default/frameworks/cocos2d-x/cocos/network/CCDownloader.cpp:79) [armeabi-v7a]
4 #03 pc 00cffa08 libcocos2djs.so Downloader (xxx/Codes/game/proj/game/build/jsb-default/frameworks/cocos2d-x/cocos/network/CCDownloader.cpp:73) [armeabi-v7a]
5 #04 pc 003981a8 libcocos2djs.so startDownload (xxx/SDK/android-ndk-r14b/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/shared_ptr_base.h:619 [Inline: construct<std::_Sp_counted_ptr_inplace<cocos2d::network::Downloader, std::allocator<cocos2d::network::Downloader>, (__gnu_cxx::_Lock_policy)1u>, const std::allocator<cocos2d::network::Downloader> >]) [armeabi-v7a]
6 #05 pc 011be9fb libcocos2djs.so execute_native_thread_routine (/Volumes/Android/buildbot/src/android/ndk-r14-release/toolchain/gcc/gcc-4.9/libstdc++-v3/src/c++11/thread.cc:84) [armeabi-v7a]
7 #06 pc 000137bb /system/lib/libc.so (__pthread_start(void*)+30) [armeabi-v7a]
8 #07 pc 0001189b /system/lib/libc.so (__start_thread+6) [armeabi-v7a]

补充一下,是android平台

的确有这个问题 但是貌似 @panda 大大完全没有心思鸟这个问题。。。

这个问题在1.6.2中应该修复了。
可以看这个PR:
https://github.com/cocos-creator/cocos2d-x-lite/pull/786

重点看 CCDownloader-android.cpp 文件的改动。
原因应该是多线程操作没上锁导致竞争。

1赞

用上面文件(CCDownloader-android.cpp)的代码替换当前1.6.1中的代码重新编译了下, 运行下载文件还是崩溃。

@dumganhar

demo

报这个错

知道问题了, 下载url地址没带http头。

1赞