Modify

Opened 8 years ago

Closed 6 years ago

Last modified 4 years ago

#7451 closed defect (worksforme)

rtorrent does not survive RPC call

Reported by: m.storchak@… Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: rtorrent Cc:

Description

rtorrent dies after RPCXML call (for example, system.listMethods).

Sometimes it is possible to send several requests or receive response (backtrace 1), but usually it dies after the first one without response (backtrace 2).

OpenWRT: r21730, rtorrent&libtorrent: r1165

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 7836]
0x2b23d03c in __do_check_free_chunk () from /lib/libc.so.0
(gdb) bt
#0  0x2b23d03c in __do_check_free_chunk () from /lib/libc.so.0
#1  0x2b23d124 in __do_check_inuse_chunk () from /lib/libc.so.0
#2  0x2b23fefc in free () from /lib/libc.so.0
#3  0x0048bb8c in rpc::SCgiTask::close (this=0x534308) at scgi_task.cc:99
#4  0x0048b9f8 in rpc::SCgiTask::receive_write (this=0x534308,
    buffer=0x572e40 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<methodResponse>\r\n<params>\r\n<param><value><array><data>\r\n<value><string>system.listMethods</string></value>\r\n<value><string>system.methodExist</string></value>\r"..., length=35947) at scgi_task.cc:240

#5  0x0048c3c4 in rpc::XmlRpc::process (this=<value optimized out>, inBuffer=<value optimized out>, length=126, slotWrite={m_base = {_M_ptr = 0x7f3ffc80}})
    at ../../rak/functional_fun.h:136
#6  0x0048a9d8 in rpc::SCgi::receive_call (this=<value optimized out>, task=0x534308,
    buffer=0x54f3b2 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<methodCall><methodName>system.listMethods</methodName><params>\n</params></methodCall>\n",
    length=126) at scgi.cc:169
#7  0x0048beb0 in rpc::SCgiTask::event_read (this=0x534308) at scgi_task.cc:186
#8  0x2ada631c in torrent::PollEPoll::perform (this=0x503cc8) at poll_epoll.cc:170
#9  0x0042d220 in ThreadBase::event_loop (threadBase=0x503a10) at thread_base.cc:165
#10 0x2aaccf50 in ?? () from /lib/libpthread.so.0
warning: GDB can't find the start of the function at 0x2aaccf4f.
Program received signal SIGBUS, Bus error.
[Switching to LWP 8075]
0x2b23d03c in __do_check_free_chunk () from /lib/libc.so.0
(gdb) bt
#0  0x2b23d03c in __do_check_free_chunk () from /lib/libc.so.0
#1  0x2b23d124 in __do_check_inuse_chunk () from /lib/libc.so.0
#2  0x2b23fefc in free () from /lib/libc.so.0
#3  0x0048bf78 in rpc::SCgiTask::realloc_buffer (this=0x534308, size=36203, buffer=0x0, bufferSize=0) at scgi_task.cc:67
#4  0x0048b980 in rpc::SCgiTask::receive_write (this=0x534308, 
    buffer=0x5807b0 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<methodResponse>\r\n<params>\r\n<param><value><array><data>\r\n<value><string>system.listMethods</string></value>\r\n<value><string>system.methodExist</string></value>\r"..., length=35947) at scgi_task.cc:223
#5  0x0048c3c4 in rpc::XmlRpc::process (this=<value optimized out>, inBuffer=<value optimized out>, length=126, slotWrite={m_base = {_M_ptr = 0x7f1ffc80}})
    at ../../rak/functional_fun.h:136
#6  0x0048a9d8 in rpc::SCgi::receive_call (this=<value optimized out>, task=0x534308, 
    buffer=0x56a732 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<methodCall><methodName>system.listMethods</methodName><params>\n</params></methodCall>\n", 
    length=126) at scgi.cc:169
#7  0x0048beb0 in rpc::SCgiTask::event_read (this=0x534308) at scgi_task.cc:186
#8  0x2ada631c in torrent::PollEPoll::perform (this=0x503cc8) at poll_epoll.cc:170
#9  0x0042d220 in ThreadBase::event_loop (threadBase=0x503a10) at thread_base.cc:165
#10 0x2aaccf50 in ?? () from /lib/libpthread.so.0
warning: GDB can't find the start of the function at 0x2aaccf4f.

Attachments (1)

rtorrent-downgrade.patch (8.0 KB) - added by desowin@… 7 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 follow-up: Changed 7 years ago by desowin@…

Downgrading to r1108 (official libtorrent 0.12.6 and rtorrent 0.8.6) fixes it.
Besides those crashes, it also fixes compability with rutorrent 3.1 (it only supports rtorrent revision 1148 and previous).

Changed 7 years ago by desowin@…

comment:2 Changed 7 years ago by liukang1985@…

is it possible to let the trunk branch roll back to r1108? I used to use this version and it works perfect.
the r1165 version is really not stable and some commands are missed in the setup.

comment:3 in reply to: ↑ 1 Changed 7 years ago by anonymous

Replying to desowin@…:

Downgrading to r1108 (official libtorrent 0.12.6 and rtorrent 0.8.6) fixes it.
Besides those crashes, it also fixes compability with rutorrent 3.1 (it only supports rtorrent revision 1148 and previous).

See ticket #8278

Update libtorrent/rtorrent to 0.12.7/0.8.7 svn1189. Patch included Support web-client ruTorrent v3.2 - http://code.google.com/p/rutorrent/

comment:4 Changed 7 years ago by anonymous

Still rtorrent crash.

comment:5 Changed 7 years ago by Levon Avagyan <levon.avagyan@…>

Still crushing.
Any news?

comment:6 Changed 6 years ago by nbd

  • Resolution set to worksforme
  • Status changed from new to closed

should work in current trunk

comment:7 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.