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

segfault when using xmlrpc #1060

Closed
chlooriding opened this issue Dec 20, 2020 · 2 comments
Closed

segfault when using xmlrpc #1060

chlooriding opened this issue Dec 20, 2020 · 2 comments

Comments

@chlooriding
Copy link

After a fresh reinstall on Debian jessie on an i386 compatible machine, rtorrent (0.9.6) crashes:

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

It happens whenever I send an xmlrpc call, otherwise it works. So far I've tried to use different version of xmlrpc-c: 1.49.02 and 1.51.06 and nabling or disabling some transports. With no avail.
Rtorrent is configured as follows:
./configure --prefix=/usr/local --with-xmlrpc-c --enable-debug --enable-extra-debug
I haven't figured out how to get dump stack but I got it running on gdb and this is the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb4ccab40 (LWP 18366)]
memcpy () at ../sysdeps/i386/i586/memcpy.S:112
112 ../sysdeps/i386/i586/memcpy.S: No such file or directory.
(gdb) bt
#0 memcpy () at ../sysdeps/i386/i586/memcpy.S:112
#1 0xb7d8644a in xmlrpc_mem_block_append () from /usr/local/lib/libxmlrpc_util.so.4
#2 0xb7dc09be in ?? () from /usr/lib/i386-linux-gnu/libxmlrpc.so.3
#3 0xb7dad77d in ?? () from /usr/lib/i386-linux-gnu/libxmlrpc_xmlparse.so.3
#4 0xb7dae6c3 in ?? () from /usr/lib/i386-linux-gnu/libxmlrpc_xmlparse.so.3
#5 0xb7daf1c6 in ?? () from /usr/lib/i386-linux-gnu/libxmlrpc_xmlparse.so.3
#6 0xb7daf86a in ?? () from /usr/lib/i386-linux-gnu/libxmlrpc_xmlparse.so.3
#7 0xb7dad06b in xmlrpc_XML_Parse () from /usr/lib/i386-linux-gnu/libxmlrpc_xmlparse.so.3
#8 0xb7dc0e98 in xml_parse () from /usr/lib/i386-linux-gnu/libxmlrpc.so.3
#9 0xb7dc1321 in xmlrpc_parse_call () from /usr/lib/i386-linux-gnu/libxmlrpc.so.3
#10 0xb7dcea8e in xmlrpc_registry_process_call2 () from /usr/lib/i386-linux-gnu/libxmlrpc_server.so.3
#11 0xb7dcec57 in xmlrpc_registry_process_call () from /usr/lib/i386-linux-gnu/libxmlrpc_server.so.3
#12 0x0813f7da in ?? ()
#13 0x0813dfaf in ?? ()
#14 0x0813ed73 in ?? ()
#15 0xb7e0d719 in torrent::PollEPoll::perform() () from /usr/local/lib/libtorrent.so.19
#16 0xb7e0d891 in torrent::PollEPoll::do_poll(long long, int) () from /usr/local/lib/libtorrent.so.19
#17 0xb7e46083 in torrent::thread_base::event_loop(torrent::thread_base*) () from /usr/local/lib/libtorrent.so.19
#18 0xb7d6fd67 in start_thread (arg=0xb4ccab40) at pthread_create.c:309
#19 0xb7b7764e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb) info thread
Id Target Id Frame

  • 3 Thread 0xb4ccab40 (LWP 18366) "worker_rtorrent" memcpy () at ../sysdeps/i386/i586/memcpy.S:112
    2 Thread 0xb6f80b40 (LWP 18363) "rtorrent disk" 0xb781bf8a in ?? () from /usr/lib/i386-linux-gnu/i586/libcrypto.so.1.0.0
    1 Thread 0xb722f700 (LWP 18359) "rtorrent main" __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/i386/i586/../i486/lowlevellock.S:146

I'm new on debugging (let me know how I can provide more detail) but every clue points to xmlrpc (faulty configuration or libs). Before reinstalling debian, it worked (same self-compiled rtorrent version) so maybe I'm missing something trivial but I'm really stuck. Can you please help me?

@chlooriding
Copy link
Author

chlooriding commented Dec 20, 2020

This is the rpc_dump log:

$ >> cat rpc_dump.log
1608463686 scgi
---DUMP---
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>system.listMethods</methodName>
<params>
</params>
</methodCall>

---END---

And this is the response obtained by xmlrpc client:

$ >> xmlrpc localhost system.listMethods
XML-RPC CALL:

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>system.listMethods</methodName>
<params>
</params>
</methodCall>

XML-RPC RESPONSE:

Failed.  Call failed.  Unable to make sense of XML-RPC response from server.  Not valid XML.  no element found.  Use XMLRPC_TRACE_XML to see for yourself.  (XML-RPC fault code -503)

Thank you for your support

@chlooriding
Copy link
Author

Eventually reinstalling debian from scratch solved it.

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