Thanks for the suggestions! I'm not sure how to tell if the jail is using the correct IP address for the network. After doing some research, I changed the settings for the jail and checked the box for IPv4 DHCP and then rebooted. Now transmission still won't start, but the loading icon next to the service status switch appears for a much shorter time then disappears without any error or changing the status.
Additionally when I visit the new transmission IP, I see a page with this error:
403: Forbidden
Unauthorized IP Address.
Either disable the IP address whitelist or add your address to it.
If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.
If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.
I killed the transmission-daemon process (this resulted in a web page not available error instead of the 403 when visiting the same IP as before) and starting transmission from the web ui, but I got the same response as above (temporary loading icon then nothing).
I tried following the suggestions on
this page with no luck. When I opened the transmission settings modal, then clicked save (without changing anything) I got this error:
OSError at /plugins/transmission/2/edit [Errno 2] No such file or directory Request Method: POST Request URL: http://192.168.42.72/plugins/transmission/2/edit Django Version: 1.6.6 Python Executable: /usr/pbi/transmission-amd64/bin/python2.7 Python Version: 2.7.8 Python Path: ['/usr/pbi/transmission-amd64/transmissionUI/../lib/python2.7/site-packages', '/usr/pbi/transmission-amd64/lib/python2.7/site-packages', '/usr/pbi/transmission-amd64', '/usr/pbi/transmission-amd64/lib/python27.zip', '/usr/pbi/transmission-amd64/lib/python2.7', '/usr/pbi/transmission-amd64/lib/python2.7/plat-freebsd9', '/usr/pbi/transmission-amd64/lib/python2.7/lib-tk', '/usr/pbi/transmission-amd64/lib/python2.7/lib-old', '/usr/pbi/transmission-amd64/lib/python2.7/lib-dynload', '/usr/pbi/transmission-amd64/lib/python2.7/site-packages'] Server time: Sat, 21 Mar 2015 14:42:18 -0700 Installed Applications: ('django.contrib.contenttypes', 'django.contrib.staticfiles', 'transmissionUI.freenas', 'south') Installed Middleware: ('django.middleware.common.CommonMiddleware',) Traceback: File "/usr/pbi/transmission-amd64/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 112. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/pbi/transmission-amd64/transmissionUI/freenas/views.py" in edit 298. form.save() File "/usr/pbi/transmission-amd64/transmissionUI/freenas/forms.py" in save 54. stderr=PIPE) File "/usr/pbi/transmission-amd64/lib/python2.7/subprocess.py" in __init__ 710. errread, errwrite) File "/usr/pbi/transmission-amd64/lib/python2.7/subprocess.py" in _execute_child 1327. raise child_exception Exception Type: OSError at /plugins/transmission/2/edit Exception Value: [Errno 2] No such file or directory Request information: GET: No GET data POST: __form_id = u'dijit_form_Form_0' peerlimit_torrent = u'60' global_seedratio = u'2' blocklist = u'' download_dir = u'/usr/pbi/transmission-amd64/etc/transmission/home/Downloads' encryption = u'1' rpc_password = u'' rpc_whitelist = u'' portmap = u'on' peer_port = u'51413' rpc_username = u'' watch_dir = u'' utp = u'on' peerlimit_global = u'240' incomplete_dir = u'' dht = u'on' rpc_auth = u'on' rpc_port = u'9091' permissions = u'18' FILES: No FILES data COOKIES: csrftoken = 'Ermr6J9oEPVcXxNtOAXzXRX0Dd0tA6sS' sessionid = '6x7oyanrp16l2nfeeoo23s3hkz7ud2gi' fntreeSaveStateCookie = 'root%2Croot%2F170%2F186%2Croot%2F169%2Croot%2F173%2Croot%2F175%2Croot%2F175%2F197%2Croot%2F175%2F197%2F199%2Croot%2F53%2F60%2Croot%2F53%2F60%2F61%2Croot%2F53%2F115%2Croot%2F10%2F26%2Croot%2F1%2Croot%2F10%2F14%2Croot%2F10%2Croot%2F130%2Croot%2F172%2Croot%2F172%2F178%2Croot%2F172%2F194%2Croot%2F170%2Croot%2F172%2F183%2Croot%2F173%2F184' META: wsgi.multiprocess = False HTTP_COOKIE = 'sessionid=6x7oyanrp16l2nfeeoo23s3hkz7ud2gi; fntreeSaveStateCookie=root%2Croot%2F170%2F186%2Croot%2F169%2Croot%2F173%2Croot%2F175%2Croot%2F175%2F197%2Croot%2F175%2F197%2F199%2Croot%2F53%2F60%2Croot%2F53%2F60%2F61%2Croot%2F53%2F115%2Croot%2F10%2F26%2Croot%2F1%2Croot%2F10%2F14%2Croot%2F10%2Croot%2F130%2Croot%2F172%2Croot%2F172%2F178%2Croot%2F172%2F194%2Croot%2F170%2Croot%2F172%2F183%2Croot%2F173%2F184; csrftoken=Ermr6J9oEPVcXxNtOAXzXRX0Dd0tA6sS' SERVER_SOFTWARE = 'nginx/1.6.2' SCRIPT_NAME = u'' HTTP_X_CSRFTOKEN = 'Ermr6J9oEPVcXxNtOAXzXRX0Dd0tA6sS' REQUEST_METHOD = 'POST' PATH_INFO = u'/plugins/transmission/2/edit' HTTP_ORIGIN = 'http://192.168.42.72' SERVER_PROTOCOL = 'HTTP/1.1' QUERY_STRING = '' CONTENT_LENGTH = '351' HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36' HTTP_CONNECTION = 'keep-alive' HTTP_REFERER = 'http://192.168.42.72/' SERVER_NAME = 'localhost' REMOTE_PORT = '57591' wsgi.url_scheme = 'http' SERVER_PORT = '80' SERVER_ADDR = '192.168.42.72' DOCUMENT_ROOT = '/usr/local/etc/nginx/html' HTTP_CONTENT_LENGTH = '351' HTTP_X_REQUESTED_WITH = 'XMLHttpRequest' DOCUMENT_URI = '/plugins/transmission/2/edit' wsgi.input = HTTP_HOST = '192.168.42.72' HTTPS = '' wsgi.multithread = True HTTP_CONTENT_TYPE = 'application/x-www-form-urlencoded' REQUEST_URI = '/plugins/transmission/2/edit' HTTP_ACCEPT = '*/*' wsgi.version = wsgi.run_once = False wsgi.errors = REMOTE_ADDR = '192.168.42.68' HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.8' CONTENT_TYPE = 'application/x-www-form-urlencoded' HTTP_ACCEPT_ENCODING = 'gzip, deflate' Settings: Using settings module transmissionUI.settings USE_L10N = True USE_THOUSAND_SEPARATOR = False CSRF_COOKIE_SECURE = False LANGUAGE_CODE = 'en-us' ROOT_URLCONF = 'transmissionUI.urls' MANAGERS = DEFAULT_CHARSET = 'utf-8' SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer' STATIC_ROOT = '' ALLOWED_HOSTS = [] MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage' EMAIL_SUBJECT_PREFIX = '[Django] ' FILE_UPLOAD_PERMISSIONS = None STATICFILES_FINDERS = SESSION_CACHE_ALIAS = 'default' SESSION_COOKIE_DOMAIN = None SESSION_COOKIE_NAME = 'sessionid' ADMIN_FOR = TIME_INPUT_FORMATS = DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': '/usr/pbi/transmission-amd64/transmissionUI/transmission.db', 'TEST_MIRROR': None, 'OPTIONS': {}, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST_COLLATION': None, 'TEST_CHARSET': None, 'HOST': '', 'USER': '', 'TEST_NAME': None, 'PASSWORD': u'********************', 'PORT': ''}} SERVER_EMAIL = 'root@localhost' FILE_UPLOAD_HANDLERS = DEFAULT_CONTENT_TYPE = 'text/html' APPEND_SLASH = True FIRST_DAY_OF_WEEK = 0 DATABASE_ROUTERS = [] YEAR_MONTH_FORMAT = 'F Y' STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} SESSION_COOKIE_PATH = '/' MIDDLEWARE_CLASSES = 'django.middleware.common.CommonMiddleware' USE_I18N = True THOUSAND_SEPARATOR = ',' SECRET_KEY = u'********************' LANGUAGE_COOKIE_NAME = 'django_language' DEFAULT_INDEX_TABLESPACE = '' TRANSACTIONS_MANAGED = False LOGGING_CONFIG = 'django.utils.log.dictConfig' SEND_BROKEN_LINK_EMAILS = False TEMPLATE_LOADERS = WSGI_APPLICATION = None TEMPLATE_DEBUG = True X_FRAME_OPTIONS = 'SAMEORIGIN' AUTHENTICATION_BACKENDS = 'django.contrib.auth.backends.ModelBackend' FORCE_SCRIPT_NAME = '' USE_X_FORWARDED_HOST = False SIGNING_BACKEND = 'django.core.signing.TimestampSigner' SESSION_COOKIE_SECURE = False CSRF_COOKIE_DOMAIN = None FILE_CHARSET = 'utf-8' DEBUG = True SESSION_FILE_PATH = None DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' INSTALLED_APPS = LANGUAGES = COMMENTS_ALLOW_PROFANITIES = False STATICFILES_DIRS = PREPEND_WWW = False SECURE_PROXY_SSL_HEADER = None SESSION_COOKIE_HTTPONLY = True DEBUG_PROPAGATE_EXCEPTIONS = False MONTH_DAY_FORMAT = 'F j' LOGIN_URL = '/accounts/login/' SESSION_EXPIRE_AT_BROWSER_CLOSE = False TIME_FORMAT = 'P' AUTH_USER_MODEL = 'auth.User' DATE_INPUT_FORMATS = CSRF_COOKIE_NAME = 'csrftoken' EMAIL_HOST_PASSWORD = u'********************' PASSWORD_RESET_TIMEOUT_DAYS = u'********************' CACHE_MIDDLEWARE_ALIAS = 'default' SESSION_SAVE_EVERY_REQUEST = False ADMIN_MEDIA_PREFIX = '/static/admin/' NUMBER_GROUPING = 0 SESSION_ENGINE = 'django.contrib.sessions.backends.db' CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure' CSRF_COOKIE_PATH = '/' LOGIN_REDIRECT_URL = '/accounts/profile/' TEMPLATE_STRING_IF_INVALID = '' DECIMAL_SEPARATOR = '.' IGNORABLE_404_URLS = LOCALE_PATHS = HERE = '/usr/pbi/transmission-amd64/transmissionUI' LOGOUT_URL = '/accounts/logout/' EMAIL_USE_TLS = False FIXTURE_DIRS = EMAIL_HOST = 'localhost' DATE_FORMAT = 'N j, Y' MEDIA_ROOT = '' DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter' ADMINS = FORMAT_MODULE_PATH = None DEFAULT_FROM_EMAIL = 'webmaster@localhost' MEDIA_URL = '' DATETIME_FORMAT = 'N j, Y, P' TEMPLATE_DIRS = SITE_ID = 1 DISALLOWED_USER_AGENTS = ALLOWED_INCLUDE_ROOTS = LOGGING = {'loggers': {'django.request': {'handlers': ['mail_admins'], 'propagate': True, 'level': 'ERROR'}}, 'version': 1, 'disable_existing_loggers': False, 'handlers': {'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': [], 'level': 'ERROR'}}} SHORT_DATE_FORMAT = 'm/d/Y' TEST_RUNNER = 'django.test.runner.DiscoverRunner' CACHE_MIDDLEWARE_KEY_PREFIX = u'********************' TIME_ZONE = None FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' DEFAULT_TABLESPACE = '' TEMPLATE_CONTEXT_PROCESSORS = SESSION_COOKIE_AGE = 1209600 SETTINGS_MODULE = 'transmissionUI.settings' USE_ETAGS = False LANGUAGES_BIDI = FILE_UPLOAD_TEMP_DIR = None INTERNAL_IPS = STATIC_URL = '/static/' EMAIL_PORT = 25 USE_TZ = False SHORT_DATETIME_FORMAT = 'm/d/Y P' PASSWORD_HASHERS = u'********************' ABSOLUTE_URL_OVERRIDES = {} CACHE_MIDDLEWARE_SECONDS = 600 CSRF_COOKIE_HTTPONLY = False DATETIME_INPUT_FORMATS = EMAIL_HOST_USER = '' PROFANITIES_LIST = u'********************' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.
So the behavior has changed a little bit, but things still aren't working.
Also super bummed the processor doesn't support ECC RAM :( Will look into a new processor if I can ever get this working again...