As I wasn't able to build debug (or any other) version of Transmission myself I just asked for help here. There are few people there who can build and package this app for Syno NAS so I think I can count on them.Jordan wrote:This bug seems to be affecting a lot of people who are all motiviated to help find and fix the cause. Is there nobody who's able to successfully run gdb on one of these platforms and get a meaningful backtrace? Right now we're shooting blindly in the dark...
transmission-daemon crashing on ARM linux
-
- Posts: 10
- Joined: Sun Jan 31, 2010 3:20 pm
Re: transmission-daemon crashing on ARM linux
Re: transmission-daemon crashing on ARM linux
Hi All,
I'm experiencing the same issue as described here on my Droboshare (ARMv5TEJ). It crashes in the same situation it seems, it can sometimes run for hours or even days before crashing. No debugging tools are provided, so I had to recompile GDB to be able to see something. Here is the trace I've got from the last core dump. I hope it is useful and if not, I'm happy to try to dig further if you provide me with instructions.
I'm experiencing the same issue as described here on my Droboshare (ARMv5TEJ). It crashes in the same situation it seems, it can sometimes run for hours or even days before crashing. No debugging tools are provided, so I had to recompile GDB to be able to see something. Here is the trace I've got from the last core dump. I hope it is useful and if not, I'm happy to try to dig further if you provide me with instructions.
Code: Select all
/mnt/DroboShares/Drobo/DroboApps/core $ ../gdb/bin/gdb ../transmission-1.83/bin/transmission-daemon transmission-da-4094.core
GNU gdb (GDB) 7.0.1
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-none-linux-gnueabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /mnt/DroboShares/Drobo/DroboApps/transmission-1.83/bin/transmission-daemon...done.
warning: core file may not match specified executable file.
[New Thread 4102]
[New Thread 4096]
[New Thread 4094]
Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.3
Reading symbols from /lib/libnss_dns.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_dns.so.2
Core was generated by `/mnt/DroboShares/Drobo/DroboApps/transmission-1.83/bin/transmission-daemon -g /'.
Program terminated with signal 11, Segmentation fault.
#0 __tr_list_splice (head=0x3885e8) at list.c:184
184 list.c: No such file or directory.
in list.c
(gdb) bt
#0 __tr_list_splice (head=0x3885e8) at list.c:184
#1 __tr_list_remove (head=0x3885e8) at list.c:191
#2 0x00032408 in didWriteWrapper (io=0x214440, bytes_transferred=933) at peer-io.c:108
#3 0x000334b0 in tr_peerIoTryWrite (io=0x214440, dir=TR_CLIENT_TO_PEER, limit=1024) at peer-io.c:941
#4 tr_peerIoFlush (io=0x214440, dir=TR_CLIENT_TO_PEER, limit=1024) at peer-io.c:967
#5 0x000298c4 in phaseOne (peerArray=<value optimized out>, dir=TR_CLIENT_TO_PEER) at bandwidth.c:221
#6 0x0002b370 in tr_bandwidthAllocate (b=<value optimized out>, dir=TR_CLIENT_TO_PEER, period_msec=500) at bandwidth.c:278
#7 0x00034dc0 in bandwidthPulse (foo=<value optimized out>, bar=<value optimized out>, vmgr=<value optimized out>) at peer-mgr.c:3095
#8 0x0005ba64 in event_process_active ()
#9 0x0005bea0 in event_base_loop ()
#10 0x0005bcdc in event_loop ()
#11 0x0005bac4 in event_dispatch ()
#12 0x00021a2c in libeventThreadFunc (veh=<value optimized out>) at trevent.c:230
#13 0x00012e8c in ThreadFunc (_t=0x1ae040) at platform.c:109
#14 0x4015db60 in start_thread () from /lib/libpthread.so.0
#15 0x402287e0 in clone () from /lib/libc.so.6
#16 0x402287e0 in clone () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
-
- Posts: 10
- Joined: Sun Jan 31, 2010 3:20 pm
Re: transmission-daemon crashing on ARM linux
Hooray!tonin wrote:Hi All,
I'm experiencing the same issue as described here on my Droboshare (ARMv5TEJ). (...) Here is the trace I've got from the last core dump. I hope it is useful and if not, I'm happy to try to dig further if you provide me with instructions.
(...)

Update: Ok, so I let you all know that I am happy but I will also try to be more constructive here. I will gladly test your Transmission debug build on my NAS and post the results if you share it with me. Can you please upload it somewhere?
Re: transmission-daemon crashing on ARM linux
Yes, if you can use it as is, but the Droboshare environment is quite different from your Synology I think. Droboshare is running linux 2.6.12 with libc-2.3.6. Not sure if the executable I built will run on your NAS.grzegorzdubicki wrote: Update: Ok, so I let you all know that I am happy but I will also try to be more constructive here. I will gladly test your Transmission debug build on my NAS and post the results if you share it with me. Can you please upload it somewhere?
Anyway, you can download my transmission-daemon. Give it a try!
-
- Posts: 3
- Joined: Mon Mar 01, 2010 11:22 pm
Re: transmission-daemon crashing on ARM linux
transmission 1.91, on a PowerPC, gdb backtrace
only on torrent active, appears to be in verifyTorrent, while freeing the buffer (verify.c:192)
Hope this helps. I can provide more info if needed.
Code: Select all
$ env TR_DEBUG=1 TR_DEBUG_FD=1 gdb --args transmission-daemon -f -g /usr/local/transmission/var/
dlopen failed on 'libthread_db.so.1' - libthread_db.so.1: cannot open shared object file: No such file or directory
GDB will not be able to debug pthreads.
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "powerpc-linux-gnuspe"...
(gdb) handle SIG32 nostop noprint pass
Signal Stop Print Pass to program Description
SIG32 No No Yes Real-time event 32
(gdb) r
Starting program: transmission-daemon -f -g /usr/local/transmission/var/
[23:47:50.096] event readFromPipe: eventType is 2 (trevent.c:158)
[23:47:50.096] event command is [r], ret is 1, errno is 38 (trevent.c:168)
[23:47:50.096] event invoking function in libevent thread (trevent.c:179)
[23:47:50.096] tr_sessionInit: the session's top-level bandwidth object is 0x100b9178 (session.c:567)
[23:47:50.112] RPC Server setting 'password enabled' to 0 (rpc-server.c:841)
[23:47:50.112] RPC Server setting our Username to [] (rpc-server.c:809)
[23:47:50.113] RPC Server setting our Password to [{63ad9629b04d4921f3c8632b2a59559d091ce197Wc93plA9] (rpc-server.c:827)
[23:47:51.210] Transmission 1.91 (10268) started (session.c:611)
[23:47:51.211] RPC Server Adding address to whitelist: 127.0.0.1 (rpc-server.c:772)
[23:47:51.211] RPC Server Serving RPC and Web requests on port 9091 (rpc-server.c:945)
[23:47:51.211] Using settings from "/usr/local/transmission/var/" (daemon.c:422)
[23:47:51.211] Saved "/usr/local/transmission/var//settings.json" (bencode.c:1644)
[23:47:51.211] Watching "/volume1/transmission/incoming" for new .torrent files (daemon.c:438)
[23:47:51.211] Using readdir to watch directory "/volume1/transmission/incoming" (watch.c:138)
[23:47:51.211] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:67)
[23:47:51.211] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:67)
[23:47:53.213] Port Forwarding (UPnP) Found Internet Gateway Device "http://192.168.0.1:4444/wipconn" (upnp.c:105)
[23:47:53.213] Port Forwarding (UPnP) Local Address is "192.168.0.158" (upnp.c:107)
[23:47:53.214] Port Forwarding (UPnP) Port forwarding through "http://192.168.0.1:4444/wipconn", service "urn:schemas-upnp-org:service:WANIPConnection:1". (local address: 192.168.0.158:51413) (upnp.c:194)
[23:47:53.214] Port Forwarding State changed from "Not forwarded" to "Starting" (port-forwarding.c:87)
[23:47:59.219] Port Forwarding State changed from "Starting" to "???" (port-forwarding.c:87)
[23:48:13.744] [xxxxx--] adding tier (announcer.c:801)
[23:48:13.745] [xxxxx--] adding tracker http://tracker.example.com/announce (announcer.c:492)
[23:48:13.746] Found new .torrent file "xxxxx.torrent" in watchdir "/volume1/transmission/incoming" (watch.c:195)
[23:48:13.746] Saved "/usr/local/transmission/var//torrents/xxxxx.28f29e38da311c92.torrent" (bencode.c:1644)
[23:48:13.746] xxxxx Queued for verification (verify.c:330)
*** glibc detected *** free(): invalid next size (fast): 0x100e2000 ***
[New LWP 22300]
Program received signal SIGABRT, Aborted.
[Switching to LWP 22300]
0x0fac7068 in kill () from /lib/libc.so.6
(gdb)
(gdb) bt
#0 0x0fac7068 in kill () from /lib/libc.so.6
#1 0x0fbf9b90 in pthread_kill () from /lib/libpthread.so.0
#2 0x0fbf9f98 in raise () from /lib/libpthread.so.0
#3 0x0fac6e5c in raise () from /lib/libc.so.6
#4 0x0fac85a8 in abort () from /lib/libc.so.6
#5 0x0faffa24 in ?? () from /lib/libc.so.6
#6 0x0fb0af68 in ?? () from /lib/libc.so.6
#7 0x0fb09ac8 in ?? () from /lib/libc.so.6
#8 0x0fb083e4 in free () from /lib/libc.so.6
#9 0x1002a0a0 in verifyTorrent (tor=0x100e2fa8, stopFlag=0x100b6b70 "") at verify.c:192
#10 0x1002a47c in verifyThreadFunc (unused=0x0) at verify.c:262
#11 0x1000edd4 in ThreadFunc (_t=0x100e41d8) at platform.c:109
#12 0x0fbf7108 in ?? () from /lib/libpthread.so.0
#13 0x0fb60018 in clone () from /lib/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
Hope this helps. I can provide more info if needed.
-
- Posts: 3
- Joined: Mon Mar 01, 2010 11:22 pm
Re: transmission-daemon crashing on ARM linux
It seems to be linked to posix_memalign. If I bypass it at ./configure time (simply by setting ac_cv_func_posix_memalign=no), transmission-daemon starts normally.
If I free() the buffer just before calling tr_pread(), every thing is fine (the buffer can be freed, but the I get other trouble).
If I free() the buffer just after the to call tr_pread(), the error pops.
I will redo my builds without posix_memalign and see what happens next.
I also noticed that the function getpagesize() is called if HAVE_POSIX_MEMALIGN is defined regardless of HAVE_GETPAGESIZE, but it seems to be fixed on the trunk.
If I free() the buffer just before calling tr_pread(), every thing is fine (the buffer can be freed, but the I get other trouble).
If I free() the buffer just after the to call tr_pread(), the error pops.
I will redo my builds without posix_memalign and see what happens next.
I also noticed that the function getpagesize() is called if HAVE_POSIX_MEMALIGN is defined regardless of HAVE_GETPAGESIZE, but it seems to be fixed on the trunk.
Re: transmission-daemon crashing on ARM linux
Hi, has anybody tried version 1.92? does it keep crashing?
thanks
thanks
Re: transmission-daemon crashing on ARM linux
yes, same behaviour.Spyz wrote:Hi, has anybody tried version 1.92? does it keep crashing?
thanks
Re: transmission-daemon crashing on ARM linux
Following on ZeusII's answer, is even worse than before.Spyz wrote:Hi, has anybody tried version 1.92? does it keep crashing?
I didn't had the crashing problem on ARM, I still don't, but 1.92 introduced what I think is a new bug, at least I hadn't seen this before: transmission-daemon just stops working, doesn't crash, it just stops downloading, uploading, and responding on RPC (to the Web client or any other client like QTr).
If I examine the running daemon with strace, everything looks normal. What is not normal in addition to the non-responding, non-working daemon, is that the log messages also stopped.
It has done this several times now, first after about 2 weeks of running with no problem... today after less than 2 hours after I restarted it for the second time this day. Seems to be random, at least I haven't noticed anything external that might cause it.
Re: transmission-daemon crashing on ARM linux
Hello,
I am having the same issue as rb07...
Process is there but it just stop uploading downloading and the webgui/cli is un-accessible.
However if I launch the daemon with the -f (foreground option) and I hit ctrl-C it close down properly. So is not completely stuck.
Anyone got a solution? I am running 1.92-1 on a QNAP 409 (arm based).
Probably I will just downgrade to the previous version that one was working pretty fine for me.
I am having the same issue as rb07...
Process is there but it just stop uploading downloading and the webgui/cli is un-accessible.
However if I launch the daemon with the -f (foreground option) and I hit ctrl-C it close down properly. So is not completely stuck.
Anyone got a solution? I am running 1.92-1 on a QNAP 409 (arm based).
Probably I will just downgrade to the previous version that one was working pretty fine for me.
Re: transmission-daemon crashing on ARM linux
Yes, the solution is to downgrade to 1.91.
The good news is that there is at least one report saying that the development version doesn't have the problem (or the other problem, crashing when downloading at unlimited speed and having a real high speed Internet service). That also means that if you want you can go up to 1.92+ by building your own or other means; but nothing is assured, its experimental.
The good news is that there is at least one report saying that the development version doesn't have the problem (or the other problem, crashing when downloading at unlimited speed and having a real high speed Internet service). That also means that if you want you can go up to 1.92+ by building your own or other means; but nothing is assured, its experimental.
Re: transmission-daemon crashing on ARM linux
I have the same problems too, I have installed transmission on my azbox, it use sigma chipset. It works maybe 2 hours and than it frezze so I need to reboot.
I hope somehow you can manage to solve this problem, because I like to use this program.
I have used before a transmission plugin for azbox, but didn't work. So I used now IPKG to install transmission on my azbox and it is the same.
It frezze all the time. I use version 1.80.
I hope somehow you can manage to solve this problem, because I like to use this program.
I have used before a transmission plugin for azbox, but didn't work. So I used now IPKG to install transmission on my azbox and it is the same.
It frezze all the time. I use version 1.80.
Re: transmission-daemon crashing on ARM linux
Then its not the same problem, only version 1.92 in ARM based NASes had what you call "freeze", and a crash under high download; 1.80 worked fine, as did all other versions.Blisk wrote:It frezze all the time. I use version 1.80.
Anyway, your solution might be to upgrade to 1.93; so far, after one day working on my NAS it hasn't stopped... well I don't have any active torrents so I'll wait and see.
If that doesn't solve the problem run it in foreground mode, and also look at the log, there may be clues there.
Re: transmission-daemon crashing on ARM linux
I will try latest version, but I haven't high traffic, because I have limited traffic to 100k download and 5k upload.
All other software works great just transmission is the problem.
All other software works great just transmission is the problem.
Re: transmission-daemon crashing on ARM linux
Version 1.93 froze just like version 1.92, so your best bet would be using 1.91 .