Hi everyone!
I could not register at the bug tracker (error from all IPs: "Submission rejected as potential spam -Maximum number of posts per hour for this IP exceeded"), so I post the report here.
I have got Openbox SX4 satellite STB. I build transmission-daemon 2.84 using my own toolchain (gcc 4.8.4, binutils 2.25, libz 1.2.8, curl 7.40.0, openssl 1.0.1j, libevent 2.0.22, but oldest glibc 2.10.1). Daemon works about 2-3 minutes when failed with "Segmentation failed: Bus Error".
I try different config files, set memory limit but no effect.
How I can fix this error?
I needed also I can upload my toolchain, binary and core dumped file.
Thank you!
Bus error on sh4
Re: Bus error on sh4
Code: Select all
(gdb) bt
#0 evbuffer_commit_space (buf=0x2a969b78, vec=0x29b92838, n_vecs=1) at buffer.c:678
#1 0x004564fc in tr_peerIoWriteBytes (io=0x56ce38, bytes=0x29b9285c, byteCount=511, isPieceData=false) at peer-io.c:1091
#2 0x0047c794 in readYa (handshake=0x563ed0, inbuf=0x4f30e0) at handshake.c:756
#3 0x0047d6c2 in canRead (io=0x56ce38, arg=0x563ed0, piece=0x29b92b74) at handshake.c:1011
#4 0x0045398c in canReadWrapper (io=0x56ce38) at peer-io.c:203
#5 0x00456c0c in tr_peerIoTryRead (io=0x56ce38, howmuch=3000) at peer-io.c:1246
#6 0x0045714e in tr_peerIoFlush (io=0x56ce38, dir=TR_PEER_TO_CLIENT, limit=3000) at peer-io.c:1318
#7 0x004433cc in phaseOne (peerArray=0x29b92e4c, dir=TR_PEER_TO_CLIENT) at bandwidth.c:220
#8 0x00443674 in tr_bandwidthAllocate (b=0x4eb0e4, dir=TR_PEER_TO_CLIENT, period_msec=500) at bandwidth.c:274
#9 0x00461826 in bandwidthPulse (foo=-1, bar=1, vmgr=0x4ebaf8) at peer-mgr.c:3619
#10 0x004a7cbc in event_process_active_single_queue (activeq=0x4e82d8, base=<optimized out>) at event.c:1368
#11 event_process_active (base=<optimized out>) at event.c:1438
#12 event_base_loop (base=0x4eb3f8, flags=<optimized out>) at event.c:1639
#13 0x00426e1c in libeventThreadFunc (veh=0x4e8548) at trevent.c:246
#14 0x00408690 in ThreadFunc (_t=0x4e8598) at platform.c:105
#15 0x29865aa4 in ?? () from /opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sysroot/lib/libpthread.so.0
(gdb) thread apply all bt full
Thread 4 (LWP 2071):
#0 0x29924228 in endnetgrent () from /opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sysroot/lib/libc.so.6
No symbol table info available.
Backtrace stopped: Cannot access memory at address 0x7b9f5aa0
Thread 3 (LWP 2080):
#0 0x2991de40 in inet_netof () from /opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sysroot/lib/libc.so.6
No symbol table info available.
#1 0x004375ae in tr_select (nfds=0, r_fd_set=0x29f93d54, w_fd_set=0x29f93dd4, c_fd_set=0x29f93e54, t=0x29f93ee4) at web.c:366
No locals.
#2 0x00437bec in tr_webThreadFunc (vsession=0x4eafa0) at web.c:477
usec = 200000
r_fd_set = {__fds_bits = {0 <repeats 32 times>}}
max_fd = -1
t = {tv_sec = 0, tv_usec = 95156}
w_fd_set = {__fds_bits = {0 <repeats 32 times>}}
c_fd_set = {__fds_bits = {0 <repeats 32 times>}}
msec = 200
unused = 0
msg = 0x0
mcode = CURLM_OK
str = 0x505468 ""
multi = 0x505490
web = 0x505420
taskCount = 0
task = 0x4efc98
session = 0x4eafa0
#3 0x00408690 in ThreadFunc (_t=0x4f35e8) at platform.c:105
t = 0x4f35e8
#4 0x29865aa4 in ?? () from /opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sysroot/lib/libpthread.so.0
No symbol table info available.
Thread 2 (LWP 2077):
#0 0x2986c9b6 in ?? () from /opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sysroot/lib/libpthread.so.0
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 1 (LWP 2072):
#0 evbuffer_commit_space (buf=0x2a969b78, vec=0x29b92838, n_vecs=1) at buffer.c:678
chain = <optimized out>
firstchainp = <optimized out>
chainp = <optimized out>
result = -1
added = 0
i = <optimized out>
#1 0x004564fc in tr_peerIoWriteBytes (io=0x56ce38, bytes=0x29b9285c, byteCount=511, isPieceData=false) at peer-io.c:1091
iovec = {iov_base = 0x4f05c0, iov_len = 511}
#2 0x0047c794 in readYa (handshake=0x563ed0, inbuf=0x4f30e0) at handshake.c:756
ya = "\362\337r\226\314\064\267\030\244\231\257\203q\262\212\353\306\025o\342\002g_\327\003\006w4cW\204$\236\v\v\277\254+\327$'\372\071\375a\000\330\315\a\354]2\210P\300\221\024\000\331\367\276>\307\317.\253\250\066\310\336\000~\210A\376mHY\021f\245@\247e\323\322Y\244\356\327]Wӿ<."
---Type <return> to continue, or q <return> to quit---
walk = 0x29b92a5b ""
outbuf = "\321\363\267T<\\\242E\340y[\036\341M/\316c۫3\257\332;\006p\256\nE\343(\353K\363n\362$Ԋ\212\020\276\366lɱH9k@\227\244\212\340M0L\001OG\301\067<\000*\367{\221ކ\207\257z\023\b\036s\005\276\036/1\361\226*Mgb\326U\030\315\342\rČ\333_\216\301\274r\254\370\bFn\025\276\060Ŷ\r\240\216\330\376c\216\066\366\363\071\262\071\262\226_Fp\004\250w\210P\030\275\"A\033\306UT\366BY\\(C\222\246\261\227{\037\314Q\250턣\377\254\025\344\255\314{\236Fh`G\200\236N\002M\352\366l\372@\263\277\001\231\344\370\273HH\346\071d\n1\254\030\003}\253\373\346waq]\344"...
myKey = 0x56d3a0 ""
secret = 0x56d400 ""
len = 415
#3 0x0047d6c2 in canRead (io=0x56ce38, arg=0x563ed0, piece=0x29b92b74) at handshake.c:1011
ret = READ_NOW
handshake = 0x563ed0
inbuf = 0x4f30e0
readyForMore = true
#4 0x0045398c in canReadWrapper (io=0x56ce38) at peer-io.c:203
oldLen = 246
ret = 4471596
overhead = 5693704
piece = 0
used = 0
now = 1424204344903
err = false
done = false
session = 0x4eafa0
#5 0x00456c0c in tr_peerIoTryRead (io=0x56ce38, howmuch=3000) at peer-io.c:1246
e = 0
res = 246
#6 0x0045714e in tr_peerIoFlush (io=0x56ce38, dir=TR_PEER_TO_CLIENT, limit=3000) at peer-io.c:1318
bytesUsed = 0
#7 0x004433cc in phaseOne (peerArray=0x29b92e4c, dir=TR_PEER_TO_CLIENT) at bandwidth.c:220
i = 0
increment = 3000
bytesUsed = 0
n = 1
peerCount = 1
peers = 0x5548a0
#8 0x00443674 in tr_bandwidthAllocate (b=0x4eb0e4, dir=TR_PEER_TO_CLIENT, period_msec=500) at bandwidth.c:274
i = 1
peerCount = 1
tmp = {items = 0x4e8a38, n_items = 1, n_alloc = 32}
low = {items = 0x50f200, n_items = 1, n_alloc = 32}
high = {items = 0x0, n_items = 0, n_alloc = 0}
normal = {items = 0x5548a0, n_items = 1, n_alloc = 32}
peers = 0x4e8a38
#9 0x00461826 in bandwidthPulse (foo=-1, bar=1, vmgr=0x4ebaf8) at peer-mgr.c:3619
tor = 0x4eb474
mgr = 0x4ebaf8
session = 0x4eafa0
#10 0x004a7cbc in event_process_active_single_queue (activeq=0x4e82d8, base=<optimized out>) at event.c:1368
ev = 0x4ebb70
count = 1
#11 event_process_active (base=<optimized out>) at event.c:1438
---Type <return> to continue, or q <return> to quit---
activeq = 0x4e82d8
i = 0
c = 0
#12 event_base_loop (base=0x4eb3f8, flags=<optimized out>) at event.c:1639
evsel = 0x4d1d48 <epollops>
tv = {tv_sec = 0, tv_usec = 426977}
tv_p = <optimized out>
res = <optimized out>
done = 0
retval = 0
__func__ = "event_base_loop"
#13 0x00426e1c in libeventThreadFunc (veh=0x4e8548) at trevent.c:246
base = 0x4eb3f8
eh = 0x4e8548
#14 0x00408690 in ThreadFunc (_t=0x4e8598) at platform.c:105
t = 0x4e8598
#15 0x29865aa4 in ?? () from /opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sysroot/lib/libpthread.so.0
No symbol table info available.
Code: Select all
./configure --host=sh4-unknown-linux-gnu --prefix=/var --enable-lightweight --enable-daemon --disable-nls --disable-mac PKG_CONFIG_PATH="/opt/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/lib/pkgconfig" CFLAGS='-g -O0 -DDEBUG' CXXFLAGS='-g -O0' CPPFLAGS='-g -O0'
Re: Bus error on sh4
The same configure string and libs but for arm (Asus AC-56U) work fine! SH4 - same bus error.
If I not mistake "evbuffer commit space" core dump stack function from libevent lib. I tried libevent 2.0.10...2.0.22, but no succes for sh4.
Any ideas? Please...
If I not mistake "evbuffer commit space" core dump stack function from libevent lib. I tried libevent 2.0.10...2.0.22, but no succes for sh4.

Re: Bus error on sh4
Not understand... Should I to use new version of glibc? I have an "glibc_2.11 not found" under glibc >= 2.11 in my toolchain in my STB. Required "fallocated64" func. I will try to disabled it today in "fdlimit.c" file (use old style) and compile with glibc 2.19. May be it will be help...
Also studied error with "evbuffer_commit_space". It's generated by "EVBUFFER_LOCK(buf)" at 678 string at libevent 2.0.22. Can I fix this call?
STB have enough free space and 512 RAM (about 400 Mb free).
Also studied error with "evbuffer_commit_space". It's generated by "EVBUFFER_LOCK(buf)" at 678 string at libevent 2.0.22. Can I fix this call?
STB have enough free space and 512 RAM (about 400 Mb free).
Re: Bus error on sh4
I can not register at bug tracker.
I receive an error all the time for the some days: "Submission rejected as potential spam".
Can you post this bug report? Thank you!
Some tests results...
Update glibc to 2.19 - Bus error
Comment the string "EVBUFFER_LOCK(buf)" at the function "evbuffer_commit_space" (file buffer.c) in libevent - Bus error
Update libevent to libevent-2.1.5-beta - Bus error
I have not got any ideas... May be it's a libevent bug for SH4 platform. I post the bug report: https://sourceforge.net/p/levent/bugs/349/


Some tests results...
Update glibc to 2.19 - Bus error
Comment the string "EVBUFFER_LOCK(buf)" at the function "evbuffer_commit_space" (file buffer.c) in libevent - Bus error
Update libevent to libevent-2.1.5-beta - Bus error
I have not got any ideas... May be it's a libevent bug for SH4 platform. I post the bug report: https://sourceforge.net/p/levent/bugs/349/
Re: Bus error on sh4
Please! Make a bug report to trac.transmissionbt.com! I can not register!
Re: Bus error on sh4
What revision of Transmission are you using (written in braces after version when you execute `transmission-daemon --version`)? Since you want to file a bug report that much, could you try other (higher and lower) revisions to try and find the one which doesn't crash? Could you also try compiling libevent with `-g -O0`? Otherwise it's still hard to tell what is going wrong.