Modify

Opened 5 years ago

Last modified 4 years ago

#12226 new defect

Anomalous transmission(-web) problem

Reported by: Tóth F. János <janos666@…> Owned by: developers
Priority: low Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: transmission, dependencies Cc:

Description

I think the transmission deamon and/or it's web interface don't automatically select every packages/functions which are required to run the torrent client with it's web interface.

I tried to compose a custom build configuration for my WDR4300 (ripping out everything I assumed as unnecessary) and the transmission web interface (and/or the daemon itself?) stopped working.

The transmission daemond doesn't write any errors to the syslog.
The web interface is accessible but doesn't work (doesn't list any existing torrents, most of the icons are blank, etc) and seems to crash (became unaccessible after I try to do something inside which doesn't work). No errors in syslog.
Restarting transmission gives me a fresh web interface until it crashes again.

I ran e2fck on the disk and everything is fine if I revert to an older OpenWRT build (transmission correctly resumes the opened torrents and the web interface also works again).

Attachments (1)

01.config (134.4 KB) - added by Tóth F. János <janos666@…> 5 years ago.
my current build configuration

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by Tóth F. János <janos666@…>

my current build configuration

comment:1 Changed 5 years ago by Tóth F. János <janos666@…>

Actually there are errors in the syslog, but I don't think these are responsible for the problem:

Sep 22 13:43:39 Fout17a daemon.err transmission-daemon[2860]: UDP Failed to set receive buffer: requested 4194304, got 327680 (tr-udp.c:77)
Sep 22 13:43:39 Fout17a daemon.err transmission-daemon[2860]: UDP Failed to set send buffer: requested 1048576, got 327680 (tr-udp.c:88)

comment:2 Changed 5 years ago by Tóth F. János <janos666@…>

Oh, ignore the custom CFLAGS in the attached config file. Of course, I tried to rebuild the packages with safe optimization settings (strictly "-O2 march=74kc", nothing shady), I just didn't save that config to an external file.

So, it's either:
1,] a general bug somewhere in the code since r33174 which affects this config (and probably others but not necessarily all, I can't tell from here).
2,] transmission + it's web interface A:) requires a package (probably a library or may be a kernel module...?) which is not listed under it's dependencies (and thus I removed it because it seemed unnecessary overall) ; B:) requires a kernel function I disabled (seems unlikely since I didn't touch the kernel build config manually and the general menuconfig only allowed me to disable some debug features - which I did but I don't think they should matter here).

comment:3 Changed 5 years ago by Tóth F. János <janos666@…>

I think I narrowed the source of this problem down to the binary stripping settings.

I am not exactly sure yet, as my image doesn't fit in the 8Mb flash with no binary stripping and space consuming compiler optimization settings at the same time. But the full stripping settings cause this problem with default compiler optimizations (absolutely nothing else but march=mips32r2) too.

I will experiment a bit more but the problem seems to be caused by one of these settings:

#
# Stripping options
#
# CONFIG_NO_STRIP is not set
CONFIG_USE_STRIP=y
# CONFIG_USE_SSTRIP is not set
CONFIG_STRIP_ARGS="--strip-all"
# CONFIG_STRIP_KERNEL_EXPORTS is not set
# CONFIG_USE_MKLIBS is not set
CONFIG_USE_UCLIBCXX=y
# CONFIG_USE_LIBSTDCXX is not set

(Don't mind the actual values. This is what I currently use to run a test compilation right now.)

comment:4 Changed 5 years ago by Tóth F. János <janos666@…>

The above mentioned binary stripping configuration works!

So, the problem is caused by either CONFIG_STRIP_KERNEL_EXPORTS or CONFIG_USE_MKLIBS (if enabled).
But --strip-all can be kept and that's enough for me to fit into the flash size.

I guess it's a bug: one of the above mentioned scripts fail to correctly identify the unnecessary functions and strip out necessary ones too.

comment:5 Changed 5 years ago by Tóth F. János <janos666@…>

CONFIG_STRIP_KERNEL_EXPORTS and sstrip are fine, so the buggy option is: CONFIG_USE_MKLIBS
I tried to use this with both uClibc++ and Libstdc++ but failed with both (Transmission didn't work).

comment:6 Changed 5 years ago by Noel Maersk <veox@…>

Do you still have this?

I built trunk with near-stock config where transmission-daemon and transmission-web are enabled, and transmission is perfectly stable.

The errors you mentioned might quite be related. Try disabling uTP in /etc/config/transmission or web interface (Settings->Network).

comment:7 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.