Ticket #1381 (closed defect: invalid)

Opened 4 years ago

Last modified 5 months ago

rtorrent segfault on mipsel

Reported by: bangcok (underscore) dangerus (at) hotmail (dot) com Owned by: rakshasa
Priority: normal Component: rtorrent
Version: Severity: major
Keywords: mips segfault Cc:

Description

I'm trying to use rtorrent on a Mikrotik Routerboard 532 (32MB RAM, 100MB swap space, 99MHz CPU) running OpenWRT kamikaze. I've tried using the latest official OpenWRT release (7.09), which includes rtorrent 0.7.9 and libtorrent 0.11.9 . I've also tried the latest svn version of kamikaze (revision 11610 at the time of writing) and manually changed the build to use rtorrent 0.8.2 and libtorrent 0.12.2 .

Every time, the result is the same: rtorrent starts, but as soon as I hit the enter key, it segfaults with the message:

Caught Segmentation fault, dumping stack:
Stack dump not enabled.

I recompiled a non-stripped system and ran rtorrent under gdbserver to get a backtrace. This is the best result I was able to produce:

Program received signal SIGSEGV, Segmentation fault.
__dynamic_cast (src_ptr=0x5b7f50, src_type=0x56a298, dst_type=0x56a2a0, src2dst=0)
    at /home/basil/download/openwrt-svn/build_dir/toolchain-mipsel_gcc4.1.2/gcc-4.1.2/libstdc++-v3/libsupc++/tinfo.cc:718
718                                 dst_type, whole_ptr, src_type, src_ptr, result);
(gdb) bt
#0  __dynamic_cast (src_ptr=0x5b7f50, src_type=0x56a298, dst_type=0x56a2a0, src2dst=0)
    at /home/basil/download/openwrt-svn/build_dir/toolchain-mipsel_gcc4.1.2/gcc-4.1.2/libstdc++-v3/libsupc++/tinfo.cc:718
#1  0x0049a128 in ui::DownloadList::receive_view_input (this=0x5b7640, type=ui::DownloadList::INPUT_LOAD_MODIFIED) at download_list.cc:264
During symbol reading, Location list used without specifying the CU base address..
#2  0x004ee354 in input::Bindings::pressed (this=0x5b764c, key=10) at bindings.cc:55
#3  0x004ec7e8 in std::mem_fun1_t<bool, input::Bindings, int>::operator() (this=Variable "this" is not available.
) at stl_function.h:656
#4  0x004ec820 in std::binder2nd<std::mem_fun1_t<bool, input::Bindings, int> >::operator() (this=Variable "this" is not available.
) at stl_function.h:446
#5  0x004ec99c in std::__find_if<std::reverse_iterator<__gnu_cxx::__normal_iterator<input::Bindings**, std::vector<input::Bindings*, std::allocator<input::Bindings*> > > >, std::binder2nd<std::mem_fun1_t<bool, input::Bindings, int> > > (__first=@0x7fca4bbc, __last=@0x7fca4bb8, __pred=
      {<std::unary_function<input::Bindings*,bool>> = {<No data fields>}, op = {<std::binary_function<input::Bindings*,int,bool>> = {<No data fields>}, _M_f = {__pfn = 0x4ee2f0  <input::Bindings::pressed(int)>, __delta = 0}}, value = 10}) at stl_algo.h:284
#6  0x004eca64 in std::find_if<std::reverse_iterator<__gnu_cxx::__normal_iterator<input::Bindings**, std::vector<input::Bindings*, std::allocator<input::Bindings*> > > >, std:: binder2nd<std::mem_fun1_t<bool, input::Bindings, int> > > (__first=Variable "__first" is not available.
) at stl_algo.h:338
#7  0x004ec44c in input::Manager::pressed (this=Variable "this" is not available.
) at manager.cc:67
#8  0x004ec25c in input::InputEvent::event_read (this=0x591138) at input_event.cc:62
#9  0x2ae5b208 in torrent::PollEPoll::perform (this=0x5919d8) at poll_epoll.cc:135
#10 0x004ce91c in core::PollManagerEPoll::poll (this=0x596a10, timeout={m_time = 993361}) at poll_manager_epoll.cc:112
#11 0x004927b8 in main (argc=1, argv=0x4ce694) at main.cc:276

This is the first time I've used gdb, but I'd really like to try get rtorrent running on this system! If there's anything more I can do to produce helpful information please let me know and I'll give it my best shot.

Vasilis

Change History

Changed 4 years ago by anonymous

This appears to be a problem with the dynamic_cast support of your C++ compiler. You may have to set some compiler and/or linker options to make it work, or the C++ library or compiler needs upgrading/fixing.

You should try to get help from a place that has people who know your system, since it's not strictly a problem in rtorrent.

Changed 4 years ago by bangcok (underscore) dangerus (at) hotmail (dot) com

That was quick :) Thanks for pointing me in the right direction!

Changed 4 years ago by bangcok (underscore) dangerus (at) hotmail (dot) com

I've figured out the problem, OpenWRT's build system was using -fnortti as a compile option, which doesn't work when a program needs dynamic_cast. I've created a ticket at  https://dev.openwrt.org/cgi-bin/trac.fcgi/ticket/3731

This ticket can be closed.

Changed 23 months ago by rakshasa

  • status changed from new to closed
  • resolution set to invalid

Changed 20 months ago by MoskovskieindividualkiFW

Salut!  http://www.pbreview.com/forums/member.php?u=222055 moskovskie prostitutki online.

Changed 20 months ago by IndividualkimoskvyEO

Salut!  http://www.pbreview.com/forums/member.php?u=222055 moskovskie blyadi on this site.

Changed 20 months ago by IntimdosugmoskvyKN

Salut!  http://www.pbreview.com/forums/member.php?u=222055 intim uslugi moskvy hier.

Changed 20 months ago by IntimdosugmoskvyZR

Salut!  http://board.muse.mu/member.php?u=164654 blyadi moskvy hier.

Changed 16 months ago by anonymous

Awesome post ! Keep updating your site  short dresses -  hobo purses

Changed 5 months ago by Dopsnushepe

ccccccccccccccc

Note: See TracTickets for help on using tickets.