Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rtorrent crashes with SIGSEGV, Segmentation fault on start after it crashed during running #1318

Open
JLP opened this issue Nov 16, 2024 · 0 comments

Comments

@JLP
Copy link

JLP commented Nov 16, 2024

One day I found rtorrent crashed after it was running for quite some time (only seeding). Now when I start to run it it always crashes. I have session saving enabled in configuration file so it looks like there is a problem when it tries to continues/load existing torrents from session. This is the crash if I run rtorrent from GDB:

Thread 1 "rtorrent" received signal SIGSEGV, Segmentation fault.
                                                               std::__relocate_a_1<torrent::ChunkPart*, torrent::ChunkPart*, std::allocator<torrent::ChunkPart> > (__first=0x555555b386b0, __last=<optimized out>, __result=0x555555b38740, __alloc=...)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_uninitialized.h:1103
1103            std::__relocate_object_a(std::__addressof(*__cur),
(gdb) thread apply all bt

Thread 2 (Thread 0x7ffff6c006c0 (LWP 23095) "rtorrent disk"):
#0  0x00007ffff7921e36 in epoll_wait () from /lib64/libc.so.6
#1  0x00007ffff7d8fbb0 in torrent::PollEPoll::poll (this=0x5555556d9d00, msec=<optimized out>) at torrent/poll_epoll.cc:146
#2  torrent::PollEPoll::do_poll (this=0x5555556d9d00, timeout_usec=<optimized out>, flags=<optimized out>) at torrent/poll_epoll.cc:209
#3  0x00007ffff7d8ab78 in torrent::thread_base::event_loop (thread=0x5555556dda30) at torrent/utils/thread_base.cc:150
#4  0x00007ffff78a0f5a in start_thread () from /lib64/libc.so.6
#5  0x00007ffff79219ec in __clone3 () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff75e4740 (LWP 23080) "rtorrent"):
#0  std::__relocate_a_1<torrent::ChunkPart*, torrent::ChunkPart*, std::allocator<torrent::ChunkPart> > (__first=0x555555b386b0, __last=<optimized out>, __result=0x555555b38740, __alloc=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_uninitialized.h:1103
#1  std::__relocate_a<torrent::ChunkPart*, torrent::ChunkPart*, std::allocator<torrent::ChunkPart> > (__first=<optimized out>, __last=<optimized out>, __result=0x555555b38740, __alloc=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_uninitialized.h:1145
#2  std::vector<torrent::ChunkPart, std::allocator<torrent::ChunkPart> >::_S_do_relocate (__first=<optimized out>, __last=<optimized out>, __result=0x555555b38740, __alloc=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_vector.h:495
#3  std::vector<torrent::ChunkPart, std::allocator<torrent::ChunkPart> >::_S_relocate (__first=<optimized out>, __last=<optimized out>, __result=0x555555b38740, __alloc=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_vector.h:512
#4  std::vector<torrent::ChunkPart, std::allocator<torrent::ChunkPart> >::_M_realloc_insert<torrent::ChunkPart> (this=0x555555af7ed0, __position=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/vector.tcc:518
#5  std::vector<torrent::ChunkPart, std::allocator<torrent::ChunkPart> >::_M_insert_rval (this=0x555555af7ed0, __position=..., __v=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/vector.tcc:379
#6  std::vector<torrent::ChunkPart, std::allocator<torrent::ChunkPart> >::insert (this=0x555555af7ed0, __position=..., __x=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_vector.h:1396
#7  torrent::Chunk::push_back (mapped=torrent::ChunkPart::MAPPED_MMAP, this=0x555555af7ed0, c=<synthetic pointer>...) at data/chunk.cc:88
#8  torrent::FileList::create_chunk (this=0x555555acc688, offset=<optimized out>, length=<optimized out>, prot=1) at torrent/data/file_list.cc:626
#9  torrent::FileList::create_chunk_index (this=0x555555acc688, index=<optimized out>, prot=1) at torrent/data/file_list.cc:641
#10 0x00007ffff7da70a2 in std::function<torrent::Chunk* (unsigned int, int)>::operator()(unsigned int, int) const (this=0x555555abd718, __args#0=<optimized out>, __args#1=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/std_function.h:591
#11 torrent::ChunkList::get (this=0x555555abd6b0, index=10705, flags=flags@entry=4) at data/chunk_list.cc:148
#12 0x00007ffff7da7299 in torrent::HashTorrent::queue (this=0x555555acdd00, quick=true) at data/hash_torrent.cc:168
#13 0x00007ffff7d8d309 in torrent::HashTorrent::start (this=0x555555acdd00, try_quick=true) at data/hash_torrent.cc:74
#14 torrent::Download::hash_check (this=<optimized out>, tryQuick=tryQuick@entry=true) at torrent/download.cc:215
#15 0x00005555555bce5c in core::Manager::receive_hashing_changed (this=0x5555556c0050) at core/download.h:94
#16 0x00005555555b71b2 in std::function<void()>::operator() (this=<optimized out>, this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/std_function.h:591
#17 core::View::emit_changed_now (this=0x555555714f90) at core/view.cc:155
#18 0x00005555555a1dc5 in std::function<void()>::operator() (this=<optimized out>, this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/std_function.h:591
#19 rak::priority_queue_perform (queue=0x5555556a6ce0 <taskScheduler>, t=...) at ../rak/priority_queue_default.h:98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant