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

qbittorrent添加任务停止运行 #8663

Closed
xfmly opened this issue Jan 10, 2022 · 10 comments
Closed

qbittorrent添加任务停止运行 #8663

xfmly opened this issue Jan 10, 2022 · 10 comments

Comments

@xfmly
Copy link

xfmly commented Jan 10, 2022

反馈bug/问题模板,提建议请删除

1.关于你要提交的问题

Q:是否搜索了issue (使用 "x" 选择)

  • [ x] 没有类似的issue

2. 详细叙述

最新源码动态编译qbittorrent,一添加任务就停止运行。

(1) 具体问题

A:qbittorrent添加任务就停止运行

(2) 路由器型号和固件版本

A:竞斗云2.0/内核版本:5.4.162/R22.1.1

(3) 详细日志

A:daemon.info procd: Instance qbittorrent::qbittorrent.main s in a crash loop 6 crashes, 1 seconds since last crash

@WYC-2020
Copy link
Contributor

我这边也是一样,试下静态库看可行不,静态库是不用编译直接下载现成的

@musclemm
Copy link

我这边也是一样,试下静态库看可行不,静态库是不用编译直接下载现成的

我编译的时候选择 Static Build ,但是会报错,选择 Dynamic Build的时候可以编译成功。

check_data_file_clashes: Package qBittorrent-static wants to install file /home/ubuntu/lede/build_dir/target-x86_64_musl/root-x86/usr/bin/qbittorrent-nox
But that file is already provided by package * qbittorrent

opkg_install_cmd: Cannot install package qBittorrent-static.

@wkq2004
Copy link

wkq2004 commented Jan 10, 2022

我这边也是一样,试下静态库看可行不,静态库是不用编译直接下载现成的

我编译的时候选择 Static Build ,但是会报错,选择 Dynamic Build的时候可以编译成功。

check_data_file_clashes: Package qBittorrent-static wants to install file /home/ubuntu/lede/build_dir/target-x86_64_musl/root-x86/usr/bin/qbittorrent-nox But that file is already provided by package * qbittorrent

opkg_install_cmd: Cannot install package qBittorrent-static.

一样的情况,现在改成docker了,不管了。

@WYC-2020
Copy link
Contributor

有时间我gdb看下

@Her0R0cket
Copy link
Contributor

Her0R0cket commented Jan 11, 2022

我这边也是一样,试下静态库看可行不,静态库是不用编译直接下载现成的

我编译的时候选择 Static Build ,但是会报错,选择 Dynamic Build的时候可以编译成功。

check_data_file_clashes: Package qBittorrent-static wants to install file /home/ubuntu/lede/build_dir/target-x86_64_musl/root-x86/usr/bin/qbittorrent-nox But that file is already provided by package * qbittorrent

opkg_install_cmd: Cannot install package qBittorrent-static.

你这个要去把默认的qb设成N或M,不然合成固件的时候相同的文件会冲突

@WYC-2020
Copy link
Contributor

定位出来了,是boost和bt的库有冲突

[Switching to LWP 6725]
get_meta (p=p@entry=0x2da9000000000c <error: Cannot access memory at address 0x2da9000000000c>) at src/malloc/mallocng/meta.h:131
131 src/malloc/mallocng/meta.h: No such file or directory.
(gdb) bt
#0 get_meta (p=p@entry=0x2da9000000000c <error: Cannot access memory at address 0x2da9000000000c>) at src/malloc/mallocng/meta.h:131
#1 0x00007ffff7fad840 in __libc_free (p=0x2da9000000000c) at src/malloc/mallocng/free.c:105
#2 0x00007ffff7fa0585 in free (p=) at src/malloc/free.c:5
#3 0x00007ffff7a164d5 in boost::alignment::aligned_free (ptr=) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/align/detail/aligned_alloc.hpp:45
#4 0x00007ffff7a805df in boost::asio::aligned_delete (ptr=) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/memory.hpp:124
#5 boost::asio::detail::thread_info_base::allocateboost::asio::detail::thread_info_base::default_tag (this_thread=, size=size@entry=176, align=align@entry=16)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/thread_info_base.hpp:164
#6 0x00007ffff7a827bb in boost::asio::detail::thread_info_base::allocate (align=16, size=176, this_thread=)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/thread_info_base.hpp:123
#7 boost::asio::asio_handler_allocate (size=176) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/impl/handler_alloc_hook.ipp:36
#8 boost_asio_handler_alloc_helpers::allocate<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)> >(unsigned long, std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&, unsigned long) (align=8, h=..., s=176)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/handler_alloc_helpers.hpp:73
#9 boost::asio::detail::hook_allocator<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>, boost::asio::detail::wait_handler<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>, boost::asio::any_io_executor> >::allocate(unsigned long) (this=, this=, n=1)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/handler_alloc_helpers.hpp:131
#10 boost::asio::detail::wait_handler<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>, boost::asio::any_io_executor>::ptr::allocate(std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&) (handler=...)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/wait_handler.hpp:36
#11 boost::asio::detail::deadline_timer_service<boost::asio::detail::chrono_time_traits<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock > >::async_wait<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>, boost::asio::any_io_executor>(boost::asio::detail::deadline_timer_service<boost::asio::detail::chrono_time_traits<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock > >::implementation_type&, std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&, boost::asio::any_io_executor const&) (this=0x7ffff6f563a0, impl=..., handler=..., io_ex=...)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/deadline_timer_service.hpp:257
#12 0x00007ffff7a81ffa in boost::asio::basic_waitable_timer<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock, boost::asio::any_io_executor>::initiate_async_wait::operator()<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)> >(std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&&) const (this=, this=, handler=...) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/io_object_impl.hpp:108
#13 boost::asio::detail::completion_handler_async_result<std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>, void (boost::system::error_code)>::initiate<boost::asio::basic_waitable_timer<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock, boost::asio::any_io_executor>::initiate_async_wait, std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>>(boost::asio::basic_waitable_timer<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock, boost::asio::any_io_executor>::initiate_async_wait&&, std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&&) (token=..., initiation=...) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/async_result.hpp:482
#14 boost::asio::async_initiate<std::_Bind<void (libtorrent::lsd::
(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>, void (boost::system::error_code), boost::asio::basic_waitable_timer<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock, boost::asio::any_io_executor>::initiate_async_wait>(boost::asio::basic_waitable_timer<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock, boost::asio::any_io_executor>::initiate_async_wait&&, std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&) (token=..., initiation=...) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/async_result.hpp:862
#15 boost::asio::basic_waitable_timer<std::chrono::_V2::system_clock, boost::asio::wait_traitsstd::chrono::_V2::system_clock, boost::asio::any_io_executor>::async_wait<std::_Bind<void (libtorrent::lsd::
(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)> >(std::_Bind<void (libtorrent::lsd::(std::shared_ptrlibtorrent::lsd, std::_Placeholder<1>, libtorrent::digest32<160l>, int, int))(boost::system::error_code const&, libtorrent::digest32<160l> const&, int, int)>&&) (handler=...,
this=0x7ffff6e621d8) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/basic_waitable_timer.hpp:770
#16 libtorrent::lsd::announce_impl (this=0x7ffff6e62130, ih=..., listen_port=listen_port@entry=55555, retry_count=-152926136, retry_count@entry=0) at lsd.cpp:195
#17 0x00007ffff7a8207b in libtorrent::lsd::announce (this=, ih=..., listen_port=listen_port@entry=55555) at lsd.cpp:145
--Type for more, q to quit, c to continue without paging--
#18 0x00007ffff7ae3955 in libtorrent::aux::session_impl::announce_lsd (this=, ih=..., port=55555) at session_impl.cpp:5589
#19 0x00007ffff7b3da9a in libtorrent::torrent::do_resume (this=0x7ffff6b280b0) at torrent.cpp:9040
#20 0x00007ffff7ae641e in libtorrent::aux::session_impl::auto_manage_torrents (this=this@entry=0x7ffff6f1e210, list=..., dht_limit=@0x7ffff6e28ae0: 2147483646, tracker_limit=@0x7ffff6e28ae4: 2147483646, lsd_limit=@0x7ffff6e28ae8: 2147483646,
hard_limit=@0x7ffff6e28aec: 4, type_limit=) at session_impl.cpp:3782
#21 0x00007ffff7ae8fcd in libtorrent::aux::session_impl::recalculate_auto_managed_torrents (this=this@entry=0x7ffff6f1e210) at session_impl.cpp:3869
#22 0x00007ffff7afe58b in libtorrent::aux::session_impl::on_tick (this=0x7ffff6f1e210, e=...) at session_impl.cpp:3363
#23 0x00007ffff7b04b05 in libtorrent::aux::session_impl::wrap<void (libtorrent::aux::session_impl::
)(boost::system::error_code const&), boost::system::error_code const&> (this=0x7ffff6f1e210, f=) at session_impl.cpp:540
#24 0x00007ffff7aeca5b in operator() (__closure=, _closure=, err=...) at session_impl.cpp:3249
#25 libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>::operator()<const boost::system::error_code&> (this=) at ../include/libtorrent/aux
/allocating_handler.hpp:101
#26 boost::asio::detail::binder1<libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>, boost::system::error_code>::operator()(void) (this=0x7ffff6e28d68)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/bind_handler.hpp:171
#27 0x00007ffff7aeccbb in boost::asio::asio_handler_invoke<boost::asio::detail::binder1<libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>, boost::system::error_code> > (function=...)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/handler_invoke_hook.hpp:86
#28 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>, boost::system::error_code>, libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400> > (context=..., function=...) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#29 boost::asio::detail::handler_work<libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>, boost::asio::any_io_executor, void>::complete<boost::asio::detail::binder1<libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>, boost::system::error_code> > (handler=..., function=..., this=0x7ffff6e28dc8)
at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/handler_work.hpp:512
#30 boost::asio::detail::wait_handler<libtorrent::aux::allocating_handler<libtorrent::aux::session_impl::on_tick(const error_code&)::<lambda(const error_code&)>, 400>, boost::asio::any_io_executor>::do_complete(void , boost::asio::detail::operation , const boost::system::error_code &, std::size_t) (owner=0x7ffff6f57e90, base=0x7ffff6f20330) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/wait_handler.hpp:76
#31 0x00007ffff7a188da in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x7ffff6f57e90, this=0x7ffff6f20330) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/scheduler_operation.hpp:40
#32 boost::asio::detail::scheduler::do_run_one (this=this@entry=0x7ffff6f57e90, lock=..., this_thread=..., ec=...) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/impl/scheduler.ipp:492
#33 0x00007ffff7acd2e4 in boost::asio::detail::scheduler::run (this=0x7ffff6f57e90, ec=...) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/detail/impl/scheduler.ipp:210
#34 0x00007ffff7acd39f in boost::asio::io_context::run (this=, this=) at /home/wenyanchao/lede/staging_dir/target-x86_64_musl/usr/include/boost/asio/impl/io_context.ipp:63
#35 operator() (__closure=) at session.cpp:363
#36 std::__invoke_impl<void, libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service
)::<lambda()> > (__f=...)
at /home/wenyanchao/lede/staging_dir/toolchain-x86_64_gcc-11.2.0_musl/x86_64-openwrt-linux-musl/include/c++/11.2.0/bits/invoke.h:61
#37 std::__invoke<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service
)::<lambda()> > (__fn=...)
at /home/wenyanchao/lede/staging_dir/toolchain-x86_64_gcc-11.2.0_musl/x86_64-openwrt-linux-musl/include/c++/11.2.0/bits/invoke.h:96
#38 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::_M_invoke<0> (this=)
at /home/wenyanchao/lede/staging_dir/toolchain-x86_64_gcc-11.2.0_musl/x86_64-openwrt-linux-musl/include/c++/11.2.0/bits/std_thread.h:253
#39 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::operator() (this=)
at /home/wenyanchao/lede/staging_dir/toolchain-x86_64_gcc-11.2.0_musl/x86_64-openwrt-linux-musl/include/c++/11.2.0/bits/std_thread.h:260
#40 std::thread::_State_impl<std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > > >::_M_run(void) (this=)
at /home/wenyanchao/lede/staging_dir/toolchain-x86_64_gcc-11.2.0_musl/x86_64-openwrt-linux-musl/include/c++/11.2.0/bits/std_thread.h:211
#41 0x00007ffff7122df2 in std::execute_native_thread_routine (__p=) at /home/wenyanchao/lede/build_dir/toolchain-x86_64_gcc-11.2.0_musl/gcc-11.2.0/libstdc++-v3/src/c++11/thread.cc:82
#42 0x00007ffff7fdc658 in start (p=0x7ffff6e29048) at src/thread/pthread_create.c:203
#43 0x00007ffff7fde884 in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
初步看内存方面有问题,bt官方也有类似的bug,说的是好像boost1.77以后再迭代器方面有问题

@musclemm
Copy link

我这边也是一样,试下静态库看可行不,静态库是不用编译直接下载现成的

我编译的时候选择 Static Build ,但是会报错,选择 Dynamic Build的时候可以编译成功。
check_data_file_clashes: Package qBittorrent-static wants to install file /home/ubuntu/lede/build_dir/target-x86_64_musl/root-x86/usr/bin/qbittorrent-nox But that file is already provided by package * qbittorrent
opkg_install_cmd: Cannot install package qBittorrent-static.

你这个要去把默认的qb设成N或M,不然合成固件的时候相同的文件会冲突

多谢,晚上我试试

@WYC-2020
Copy link
Contributor

image
验证完毕,回滚boost到1.76 就不会崩溃了,这个坐等上游修复了再升级boost不迟 @xfmly @wkq2004

@xfmly
Copy link
Author

xfmly commented Jan 11, 2022

图片 验证完毕,回滚boost到1.76就不会崩溃了,这个坐等队列修复了再升级boost不迟@xfmly @wkq2004

十分感谢,先回滚。

@david6908
Copy link

图片 验证完毕,回滚boost到1.76就不会崩溃了,这个坐等队列修复了再升级boost不迟@xfmly @wkq2004

十分感谢,先回滚。

也碰到这个问题,请问如何回滚boost 1.76?

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

6 participants