libtorrent icon indicating copy to clipboard operation
libtorrent copied to clipboard

libtorrent-rasterbar.so got segment fault when starting it

Open Brubbish opened this issue 1 year ago • 1 comments

Please provide the following information

libtorrent version (or branch): branch RC_2_0

platform/architecture: Ubuntu20.04, amd64 on a wsl2

compiler and compiler version: gcc 11.4.0

please describe what symptom you see, what you would expect to see instead and how to reproduce it. I compiled libtorrent strictly follow the steps in https://libtorrent.org/building.html#building-with-cmake, which i cmake then ninja My cmake command is like: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14 -Dbuild_tests=ON -G Ninja .. after built by ninja, I got some libtorrent-rasterbar.so files, but they cannot run properly. Here is the gdb page, it seems that it stops at very beginning.

(No debugging symbols found in ./libtorrent-rasterbar.so)
(gdb) r
Starting program: /home/fuzz-test/libtorrent/build/libtorrent-rasterbar.so

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff78e5000 in ?? ()
(gdb) info reg
rax            0x0                 0
rbx            0x0                 0
rcx            0x0                 0
rdx            0x0                 0
rsi            0x0                 0
rdi            0x0                 0
rbp            0x0                 0x0
rsp            0x7fffffffe370      0x7fffffffe370
r8             0x0                 0
r9             0x0                 0
r10            0x0                 0
r11            0x0                 0
r12            0x0                 0
r13            0x0                 0
r14            0x0                 0
r15            0x0                 0
rip            0x7ffff78e5000      0x7ffff78e5000
eflags         0x10202             [ IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0

But all the tests can be passed. I am confused about how to use this executable file properly

Brubbish avatar Jan 04 '24 17:01 Brubbish

the best way to ensure you're building libtorrent in an ABI compatible way to work in your program is to point to it as a dependency within CMake itself. I believe that will make cmake use the same build configurations for your executable as the libtorrent library

arvidn avatar Jan 13 '24 15:01 arvidn