Bug 478761 - Segfault
Segfault
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: rtorrent (Show other bugs)
9
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Conrad Meyer
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-01-04 13:21 EST by Pavel Alexeev
Modified: 2009-07-14 13:07 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-07-14 13:07:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Pavel Alexeev 2009-01-04 13:21:13 EST
Description of problem:
rtorrent crashes from time to time.

Version-Release number of selected component (if applicable):
$ rpm -qa '*torrent'
libtorrent-0.12.4-1.fc9.i386
rtorrent-0.8.4-1.fc9.i386

How reproducible:
Just start rtorrent and use as normal. No user-operation needed to reproduce crash: from 1 hour to 1 day all work normally after have:
$ rtorrent
Caught Segmentation fault, dumping stack:
0 rtorrent [0x806a998]
1 rtorrent [0x806d46c]
2 [0x110400]
3 /usr/lib/libcurl.so.4(curl_multi_remove_handle+0x8a) [0x64dcea]
4 rtorrent [0x808ecf0]
5 rtorrent [0x8090b02]
6 /usr/lib/libtorrent.so.11 [0x176f10]
7 /usr/lib/libtorrent.so.11 [0x176f62]
8 /usr/lib/libtorrent.so.11 [0x1783f6]
9 rtorrent [0x808f219]
10 rtorrent [0x8090ad1]
11 rtorrent [0x806b90a]
12 rtorrent [0x806b4ed]
13 /lib/libc.so.6(__libc_start_main+0xe6) [0xabf5d6]
14 rtorrent(_ZNSt8ios_base4InitD1Ev+0x69) [0x8051d31]

Now I in progress packaging today SVN version, soon can tell if it is fixed in it.
Comment 1 Conrad Meyer 2009-01-04 13:49:41 EST
Would it be possible to install the debuginfo and get a more detailed stack trace?

Thanks for reporting this, I see upstream has not released a new version yet :(.
Comment 2 Pavel Alexeev 2009-01-05 04:12:48 EST
Off course. I'm install rtorrent-debuginfo package and set limit to coredump to unlimited. ASAP I attach coredump of crash.

If I can do anything more please tell me.
Comment 3 Conrad Meyer 2009-01-05 11:23:48 EST
Have you contacted upstream about this yet?
Comment 4 Pavel Alexeev 2009-01-29 18:38:18 EST
No, I did not.
Comment 5 Conrad Meyer 2009-02-16 01:11:15 EST
Well, I use rtorrent 24/7 for days at a time and haven't run into this. You can file a bug with upstream if you like, but I can't (I can't even reproduce it!) because I can't answer any questions they may have. Therefore I'd like to close this bug; how do you feel?
Comment 6 Pavel Alexeev 2009-02-16 02:42:24 EST
I'm also run it on permanent basis 24/7. And very willing present coredump for you and upstream. But up to this moment I seen 2 times how rtorrent infiniti eat 100% CPU usage with around 0 network bandwich... So, I'm kill it (only with SIGKILL) but meantime core dump do not produced...

So, I do not disagre to close this bug. If I catch this moment and got coredump, I reopen it and will submit bug in upstream.
Comment 7 Conrad Meyer 2009-02-16 02:48:31 EST
Sounds good to me.
Comment 8 Pavel Alexeev 2009-05-10 07:12:57 EDT
Now I catch error few times and hev coredumps:
http://ru.bir.ru/_temp/rtorrent/core.3584
http://ru.bir.ru/_temp/rtorrent/core.5658
http://ru.bir.ru/_temp/rtorrent/core.10875

With hope what this can help.

P.S. I can't find possibility attache files in bugailla. It is not here or my search skills bad??
Comment 9 Conrad Meyer 2009-05-10 13:41:24 EDT
There is an "Add Attachments" link a little bit above the first comment.

File a bug against rtorrent upstream.
Comment 10 Pavel Alexeev 2009-05-10 14:02:24 EDT
Thanks.

Done: http://libtorrent.rakshasa.no/ticket/1733
Comment 11 Michael Schwendt 2009-05-11 05:22:07 EDT
All three core dumps give 403 Forbidden.

Also, please do follow http://fedoraproject.org/wiki/StackTraces to install missing -debuginfo packages that will add relevant details to the backtraces.
Comment 12 Jari Sundell 2009-05-14 08:32:11 EDT
As far as I can tell, this bug is happening with curl 7.19.0-7.19.2. Though not entirely sure if it was fixed in 7.19.3.

Don't really have time to dig into libcurl code again, so consider talking to them if the problem persists.
Comment 13 Pavel Alexeev 2009-05-16 07:20:33 EDT
I'm sorry for delay with answer. I had some deep mourning events in the near past days.

(In reply to comment #11)
> All three core dumps give 403 Forbidden.
Sorry. I've fix rights.

> Also, please do follow http://fedoraproject.org/wiki/StackTraces to install
> missing -debuginfo packages that will add relevant details to the backtraces.  

Ок, I try:
$ gdb /usr/bin/rtorrent ./core.3584
[snip]
(gdb) thread apply all bt full

Thread 1 (process 3584):
#0  0x00a25416 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00ad3660 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        pid = <value optimized out>
        selftid = <value optimized out>
#2  0x00ad5028 in abort () at abort.c:88
        act = Could not find the frame base for "abort".
        sigs = Could not find the frame base for "abort".
#3  0x0806aa05 in do_panic (signum=11) at main.cc:362
        stackPtrs = {0x806a998, 0x806d46c, 0xa25400, 0x86360c, 0xcfea9a, 0xcedfe5, 0xcef556, 0xcef641, 0xcb9737, 0x808bb6f, 0x806b56e, 
  0xabf5d6, 0x8051d31, 0xc0f178, 0x69, 0xd, 0x8902de, 0x143c8193, 0x812f29a9, 0x5e9f84a9}
        stackSize = 13
        stackStrings = (char **) 0x9d4f488
#4  0x0806d46c in SignalHandler::caught (signum=6) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
No locals.
#5  <signal handler called>
No symbol table info available.
#6  0x0086360c in BN_num_bits () from /lib/libcrypto.so.7
No symbol table info available.
#7  0x00cfea9a in torrent::DiffieHellman::store_pub_key (this=<value optimized out>, dest=<value optimized out>, length=<value optimized out>)
    at diffie_hellman.cc:92
No locals.
#8  0x00cedfe5 in torrent::Handshake::prepare_key_plus_pad (this=<value optimized out>) at handshake.cc:939
        length = <value optimized out>
#9  0x00cef556 in torrent::Handshake::read_encryption_key (this=<value optimized out>) at handshake.cc:280
No locals.
#10 0x00cef641 in torrent::Handshake::event_read (this=<value optimized out>) at handshake.cc:657
No locals.
#11 0x00cb9737 in torrent::PollEPoll::perform (this=<value optimized out>) at poll_epoll.cc:165
        itr = <value optimized out>
        last = (epoll_event *) 0x909e118
#12 0x0808bb6f in core::PollManagerEPoll::poll (this=0x909db68, timeout={m_time = 81060}) at poll_manager_epoll.cc:74
No locals.
#13 0x0806b56e in main (argc=1, argv=0xbf948a34) at main.cc:318
        firstArg = <value optimized out>
        e = <value optimized out>



$ gdb /usr/bin/rtorrent ./core.5658
[snip]
(gdb) thread apply all bt full

Thread 1 (process 5658):
#0  0x00fcd416 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00ad3660 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        pid = <value optimized out>
        selftid = <value optimized out>
#2  0x00ad5028 in abort () at abort.c:88
        act = Could not find the frame base for "abort".
        sigs = Could not find the frame base for "abort".
#3  0x0806aa05 in do_panic (signum=11) at main.cc:362
        stackPtrs = {0x806a998, 0x806d46c, 0xfcd400, 0x86360c, 0xcfea9a, 0xcedfe5, 0xcef556, 0xcef641, 0xcb9737, 0x808bb6f, 0x806b56e, 
  0xabf5d6, 0x8051d31, 0xc0f178, 0x69, 0xd, 0x8902de, 0xa74f5287, 0x31253e10, 0x26e7e06}
        stackSize = 13
        stackStrings = (char **) 0xa398958
#4  0x0806d46c in SignalHandler::caught (signum=6) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
No locals.
#5  <signal handler called>
No symbol table info available.
#6  0x0086360c in BN_num_bits () from /lib/libcrypto.so.7
No symbol table info available.
#7  0x00cfea9a in torrent::DiffieHellman::store_pub_key (this=<value optimized out>, dest=<value optimized out>, length=<value optimized out>)
    at diffie_hellman.cc:92
No locals.
#8  0x00cedfe5 in torrent::Handshake::prepare_key_plus_pad (this=<value optimized out>) at handshake.cc:939
        length = <value optimized out>
#9  0x00cef556 in torrent::Handshake::read_encryption_key (this=<value optimized out>) at handshake.cc:280
No locals.
#10 0x00cef641 in torrent::Handshake::event_read (this=<value optimized out>) at handshake.cc:657
No locals.
#11 0x00cb9737 in torrent::PollEPoll::perform (this=<value optimized out>) at poll_epoll.cc:165
        itr = <value optimized out>
        last = (epoll_event *) 0x9866d7c
#12 0x0808bb6f in core::PollManagerEPoll::poll (this=0x9866b68, timeout={m_time = 689413}) at poll_manager_epoll.cc:74
No locals.
#13 0x0806b56e in main (argc=1, argv=0xbfa3d9b4) at main.cc:318
        firstArg = <value optimized out>
        e = <value optimized out>



$ gdb /usr/bin/rtorrent ./core.10875
[snip]
(gdb) thread apply all bt full

Thread 1 (process 10875):
#0  0x005d2416 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00ad3660 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        pid = <value optimized out>
        selftid = <value optimized out>
#2  0x00ad5028 in abort () at abort.c:88
        act = Could not find the frame base for "abort".
        sigs = Could not find the frame base for "abort".
#3  0x0806aa05 in do_panic (signum=11) at main.cc:362
        stackPtrs = {0x806a998, 0x806d46c, 0x5d2400, 0x86360c, 0xcfea9a, 0xcedfe5, 0xcef556, 0xcef641, 0xcb9737, 0x808bb6f, 0x806b56e, 
  0xabf5d6, 0x8051d31, 0xc0f178, 0x69, 0xd, 0x8902de, 0xede73896, 0x20b121ce, 0x9726ae2}
        stackSize = 13
        stackStrings = (char **) 0xaa9e0a8
#4  0x0806d46c in SignalHandler::caught (signum=6) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
No locals.
#5  <signal handler called>
No symbol table info available.
#6  0x0086360c in BN_num_bits () from /lib/libcrypto.so.7
No symbol table info available.
#7  0x00cfea9a in torrent::DiffieHellman::store_pub_key (this=<value optimized out>, dest=<value optimized out>, length=<value optimized out>)
    at diffie_hellman.cc:92
No locals.
#8  0x00cedfe5 in torrent::Handshake::prepare_key_plus_pad (this=<value optimized out>) at handshake.cc:939
        length = <value optimized out>
#9  0x00cef556 in torrent::Handshake::read_encryption_key (this=<value optimized out>) at handshake.cc:280
No locals.
#10 0x00cef641 in torrent::Handshake::event_read (this=<value optimized out>) at handshake.cc:657
No locals.
#11 0x00cb9737 in torrent::PollEPoll::perform (this=<value optimized out>) at poll_epoll.cc:165
        itr = <value optimized out>
        last = (epoll_event *) 0x9f7bd58
#12 0x0808bb6f in core::PollManagerEPoll::poll (this=0x9f7bb68, timeout={m_time = 206393}) at poll_manager_epoll.cc:74
No locals.
#13 0x0806b56e in main (argc=1, argv=0xbfab9914) at main.cc:318
        firstArg = <value optimized out>
        e = <value optimized out>
Comment 14 Conrad Meyer 2009-05-16 07:51:01 EDT
The backtraces would be useful for the rtorrent developers (http://libtorrent.rakshasa.no/ticket/1733), they mean nothing to me.
Comment 15 Pavel Alexeev 2009-05-16 08:30:58 EDT
Oops, obviously I misundersoot you.

rakshasa say what libcurl is culprit of error. What you can say about it?
Comment 16 Michael Schwendt 2009-05-16 10:06:05 EDT
> P.S. I can't find possibility attache files in bugailla. It
> is not here or my search skills bad?? 

In Firefox, press Ctrl+f, enter "Attachment" into the input box, then click "Next" till you find the gray box on this page where to "Add Attachments".

It's seldomly helpful to post the same backtrace multiple times as a large comment.

[...]

The three backtraces are the same. A crash in OpenSSL's libcrypto with a code path entering it from within libtorrent.  Now, good libraries protect themselves against invalid input (and instead of crashing, they would return error codes or throw exceptions), but it still needs some familiarity with libtorrent (and possibly OpenSSL) to understand what exactly the problem is.

In either case, as I see it, there are multiple problems with rtorrent/libtorrent, and this one certainly is different from bug 497010. It's good, however, to keep such tickets open for tracking the defects that affect Fedora.
Comment 17 Pavel Alexeev 2009-05-16 10:33:04 EDT
(In reply to comment #16)
> > P.S. I can't find possibility attache files in bugailla. It
> > is not here or my search skills bad?? 
> In Firefox, press Ctrl+f, enter "Attachment" into the input box, then click
> "Next" till you find the gray box on this page where to "Add Attachments".
Thanks, thanks Conrad Meyer already pointed me.

> It's seldomly helpful to post the same backtrace multiple times as a large
> comment.
Ok. I only want be helpfull.


> The three backtraces are the same. A crash in OpenSSL's libcrypto with a code
> path entering it from within libtorrent.  Now, good libraries protect
> themselves against invalid input (and instead of crashing, they would return
> error codes or throw exceptions), but it still needs some familiarity with
> libtorrent (and possibly OpenSSL) to understand what exactly the problem is.
Ok, I want inform upwtream about it. It is problem in rtorrent/libtorrent or Fedora related? How you think?
Comment 18 Bug Zapper 2009-06-09 23:28:00 EDT
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 19 Bug Zapper 2009-07-14 13:07:17 EDT
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.