frostwire-jlibtorrent: Multiple sessions error
Hi
We use multiple sessions in this way:
for (int i = 0; i < Sessions_Count; i++) {
SessionManager session = new SessionManager(true);
session.addListener(mainListener);
session.start(SessionSettings.getTauSessionParams());
sessions.add(session);
}
But a fatal error happened:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fc314d33585, pid=4363, tid=0x00007fc293ef6700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libjlibtorrent-1.2.7.0.so+0x432585] aesni_ecb_encrypt+0x1a5
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/cowtc/Codes/dhtTau/taucoin-linux/hs_err_pid4363.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Also with a thread sleep, like 100ms. No error happen but will crash soon when started with the same error.
Thanks for reply.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 16
We have figured out the problem, due to the compile options of openssl in build*.sh. (including linux and android platform)
export run_openssl_configure="./Configure linux-x86_64 ${OPENSSL_NO_OPTS} -fPIC --prefix=${OPENSSL_ROOT}";We changed into:export run_openssl_configure="./Configure linux-x86_64 -fPIC --prefix=${OPENSSL_ROOT}";Also there are some problems in build*.sh. We have tested five build*.sh (build-android-x86_64.sh, build-android*.sh). In common compile file - build-utils.shinc, we first confirm the tools(unzip, gradle, git etal) are installed in the system. Another important things:
Boost install. you must assign different toolset in different system, gcc as default in linux and clang in android system.
Serveral envionment variables are better to be assigned before later compile stages, so that you can manually compile by yourself when errors happen.
In build-linux-x86_64.sh and build-android-.sh, toolset=** needs to be modified like:
export run_bjam... toolset=clang--${os_arch} ..."should beexport run_bjam... toolset=clang-${os_arch} ...Also, some compile options in swig/config/*.jam need to be ignored or modified. these may be caused by different systems.
In build-android-x86_64.sh:
export CC=$ANDROID_TOOLCHAIN/bin/i686-linux-android-clangshould beexport CC=$ANDROID_TOOLCHAIN/bin/x86_64-linux-android-clangandexport run_openssl_configure="./Configure linux-elf...shoule beexport run_openssl_configure="./Configure linux-x86_64Hope helpful to developers. I will close the issue.