rakshasa/rtorrent — Issue #28: rtorrent sigbus crash at startup on sparc64
Author: dcoppa
Created: 2012-01-27 09:31:36+00:00
State: open

On sparc64, rtorrent immediately crashes when starting (bus error probably caused by unaligned memory access).

This is the gdb backtrace from a Sun-Fire-V240 running OpenBSD -current:

---8<---

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc64-unknown-openbsd5.1"...
(gdb) run
Starting program: /usr/local/bin/rtorrent

Program received signal SIGBUS, Bus error.
0x0000000000127dd4 in torrent::Object::type (this=0x94b53b) at object.h:136
136	type_type type() const { return (type_type)(m_flags & mask_type); }
(gdb) bt
#0 0x0000000000127dd4 in torrent::Object::type (this=0x94b53b) at object.h:136
#1 0x000000000012c7fc in torrent::Object::clear (this=0x94b53b) at object.h:394
#2 0x000000020a1ccdb4 in torrent::Object::operator= (this=0x94b53b, src=@0xfffffffffffe1df8) at object.cc:196
#3 0x00000000001396d0 in initialize_command_local () at command_local.cc:401
#4 0x000000000013069c in initialize_commands () at command_helpers.cc:61
#5 0x0000000000121df0 in main (argc=1, argv=0xfffffffffffe25e8) at main.cc:192
(gdb) bt full
#0 0x0000000000127dd4 in torrent::Object::type (this=0x94b53b) at object.h:136
#1 0x000000000012c7fc in torrent::Object::clear (this=0x94b53b) at object.h:394
#2 0x000000020a1ccdb4 in torrent::Object::operator= (this=0x94b53b, src=@0xfffffffffffe1df8) at object.cc:196
#3 0x00000000001396d0 in initialize_command_local () at command_local.cc:401
chunkManager = (torrent::ChunkManager *) 0x20ff8cc00
fileManager = (torrent::FileManager *) 0x2045c82c0
dList = (core::DownloadList *) 0x20537ebb0
dStore = (core::DownloadStore *) 0x20cd76b80
#4 0x000000000013069c in initialize_commands () at command_helpers.cc:61
#5 0x0000000000121df0 in main (argc=1, argv=0xfffffffffffe25e8) at main.cc:192
firstArg = 9746192
e = (std::exception &) @0x207a0c000: {_vptr.exception = 0xd3000000000}

---8<---