Traceback from check_init_admin.py after upgrade to 6.0.9

Starting from 4.2.2, I ran though the upgrade steps to get to 6.0.9 on my Ubuntu 14.04.5 sever. I get the following when attempting to restart seafile-server:

$ sudo service seafile-server restart
Traceback (most recent call last):
File "/seafilebase/as3/seafile-server-6.0.9/check_init_admin.py", line 352, in
rpc = RPC()
File "/seafilebase/as3/seafile-server-6.0.9/check_init_admin.py", line 289, in init
ccnet.ClientPool(ccnet_dir, central_config_dir=central_config_dir))
TypeError: init() got an unexpected keyword argument 'central_config_dir'

Where did I go wrong and how do I fix this?
Thanks

Alternatively, is there a way to revert to a previous version of Seafile so I can get this running again?

did you install this python libs???

Note: when upgrade from 5.1.3 or lower version to 5.1.4+, you need to install python-urllib3 (or python2-urllib3 for Arch Linux) manually:

for Ubuntu

sudo apt-get install python-urllib3

Hi Ludger,

Thanks for your reply. Yes, I’ve checked dependencies several times, including all of the ones listed on the installation page here:
https://manual.seafile.com/deploy/using_sqlite.html

#on Debian/Ubuntu 14.04 server
apt-get update
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 sqlite3

this happened to me, i believe i ran one of the upgrade commands improperly, i ended up reinstalling seafile, copying data/conf directories and it started fine after that. take a backup first always of database and data.

Thanks stevo11811.

I am in the process of attempting this to a docker installation for easier management in the future. Has anyone migrated from a regular install to docker before?

My attempts to migrate to docker have failed. I’m really hurting here. I’d really appreciate some help with my broken Seafile installation.

It appears that the sync functionality is actually working. However, the web interface and library information in the client is not available.

Also, I don’t believe I made any mistakes with the upgrade process. I ran each update script in order, and each one said it was successful.

Another update.

I went ahead and did a fresh install, then copied data and settings over. Same exact error. Sync works, but seahub spits out the check_init_admin error.

Did you maybe install the ccnet package from the ubuntu repositories?

Whats the output of apt-cache policy ccnet?

$ sudo apt-cache policy ccnet
N: Unable to locate package ccnet

Is it safe to install an older version of seafile after the DB update?

After failed upgrade I suggest to restore the old database and run that version again. It shouldn’t be a problem to upgrade form 4.x to 6.x though as my installation also started with at least 4.x if not even 3.x.

It looks like you have some old version of seafile related python libraries installed in your system? For example, you can find ccnet, seaserv, or seafile libraries under /usr/lib/python2.7/dist-packages?

That was one of the first things I checked. I did have data under /usr/lib/python2.7/dist-packages in the seafile and seaserv folders. I removed them both and still had issues.

Is there some other process I should be going through to flush old libraries? Shouldn’t this be done automatically during and upgrade?

Thanks

Have you checked /usr/local/lib too? The Seafile installation doesn’t install python libraries into the system directories. It contains the python libraries inside the installation package. So the system libraries are installed somehow by you.

1 Like

Not sure how I would have installed the python libraries. I suppose I may have uses aptitude at some point to try to install seafile, but that would have been long before I upgraded seafile and ran into these issues.

I checked /usr/local/lib and found nothing labeled sea*

Anywhere else I should be looking?

You can use this command to locate possible old installation of ccnet:

find /user -type d -name \*ccnet\*

Well how about that! I did find a rogue ccnet folder, and removing it actually fixed seafile!
(by the way, in your find command above, I think you meant /usr)

Is this in the documentation somewhere that I missed? I’m still not sure how these libraries got into the system directories if seafile never puts them there.

Thank you all so much for sticking with me on this!

1 Like

What is the full path of the ccnet folder you found?

/usr/lib/python2.7/dist-packages/ccnet

The directories I had found on my own were:
/usr/lib/python2.7/dist-packages/seafile
/usr/lib/python2.7/dist-packages/seaserv

It was just that darn ccnet one I missed.