SOLVED: Seafile Server does not do upgrade from 6.3.4 to 7.0.5

Hi

Trying to upgrade from 6.3.4 to 7.0.5.
System: Ubuntu 16.0.4.6

I stopped Seafile Server.
Then I ran the upgrade script and I get the error message that Seafile is still running.
After that I can’t start Seahub anymore, it states that Seahub is already running.

Luckily after a reboot of the Server the Seafile server works again and starts up.
So there is no drama.

But I am not sure how I can debug this now.

Why does the upgrade script think that Seafile Server is still running?

Please see below.

ck@mx:~$ cd seafile/seafile-server-6.3.4
ck@mx:~/seafile/seafile-server-6.3.4$ ./seafile.sh stop

Stopping seafile server ...
Done.
ck@mx:~/seafile/seafile-server-6.3.4$ ./seahub.sh stop

Stopping seahub ...
Done.

ck@mx:~/seafile/seafile-server-6.3.4$ ../seafile-server-7.0.5/upgrade/upgrade_6.3_7.0.sh

-------------------------------------------------------------
This script would upgrade your seafile server from 6.3 to 7.0
Press [ENTER] to contiune
-------------------------------------------------------------

seafile server is still running !
stop it using scripts before upgrade.

ck@mx:~/seafile/seafile-server-6.3.4$ ./seafile.sh start

[11/09/19 08:29:29] ../common/session.c(132): using config file /home/ck/seafile/conf/ccnet.conf
Starting seafile server, please wait ...
Seafile server started

Done.
ck@mx:~/seafile/seafile-server-6.3.4$ ./seahub.sh start

LC_ALL is not set in ENV, set to en_US.UTF-8
Seahub is already running.
ck@mx:~/seafile/seafile-server-6.3.4$ 

EDIT:
This is a bit strange.

When I try to stop and start seafile and sehub, then seahub does not come back up or states that it’s still running.
I tried it with Systemd and directly with ./seahub.sh start/stop in the seafile-server-latest folder.

But when I reboot, then Seahub starts (which should be via Systemd)…

  • Stop/Start seafile.sh and seahub.sh directly in the seafile-server-latest folder
ck@mx:~/seafile/seafile-server-latest$ ./seafile.sh stop

Stopping seafile server ...
Done.
ck@mx:~/seafile/seafile-server-latest$ ./seahub.sh stop

Stopping seahub ...
Done.

ck@mx:~/seafile/seafile-server-latest$ ./seafile.sh start

[11/09/19 10:21:10] ../common/session.c(132): using config file /home/ck/seafile/conf/ccnet.conf
Starting seafile server, please wait ...
Seafile server started

Done.
ck@mx:~/seafile/seafile-server-latest$ ./seahub.sh start

LC_ALL is not set in ENV, set to en_US.UTF-8
Seahub is already running.
ck@mx:~/seafile/seafile-server-latest$ 
  • Stop/Start with Systemd
ck@mx:~$ sudo service seafile stop
[sudo] password for ck: 
ck@mx:~$ sudo service seahub stop
ck@mx:~$ sudo service seafile start
ck@mx:~$ sudo service seahub start
Job for seahub.service failed because the control process exited with error code. See "systemctl status seahub.service" and "journalctl -xe" for details.
ck@mx:~$ sudo systemctl status seahub.service
● seahub.service - Seafile hub
   Loaded: loaded (/etc/systemd/system/seahub.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2019-11-09 10:05:36 CET; 11s ago
  Process: 24790 ExecStop=/home/ck/seafile/seafile-server-latest/seahub.sh stop (code=exited, status=0/SUCCESS)
  Process: 24953 ExecStart=/home/ck/seafile/seafile-server-latest/seahub.sh start (code=exited, status=1/FAILURE)
 Main PID: 2754 (code=exited, status=0/SUCCESS)

Nov 09 10:05:36 mx systemd[1]: Starting Seafile hub...
Nov 09 10:05:36 mx seahub.sh[24953]: LC_ALL is not set in ENV, set to en_US.UTF-8
Nov 09 10:05:36 mx systemd[1]: seahub.service: Control process exited, code=exited status=1
Nov 09 10:05:36 mx systemd[1]: Failed to start Seafile hub.
Nov 09 10:05:36 mx systemd[1]: seahub.service: Unit entered failed state.
Nov 09 10:05:36 mx systemd[1]: seahub.service: Failed with result 'exit-code'.

Solution:

Somehow there where items left open when stopping seafile or seahub.
I had to find them with

ps ax | grep seahub
ps ax | grep seafile

and end them with

kill -9 pid

After this, the upgrade from 6.3.4 to 7.0.5 went smoothly.

Item closed.

I will open another topic though to solve why ./seahub.sh stop does not close all seahub instances.

Example:

ck@mx:~/seafile/seafile-server-latest$ ps ax | grep seahub
 8283 ?        S      0:00 python2.7 /opt/seafile/seafile-server-1.2.0/seahub/thirdpart/gunicorn seahub.wsgi:application -c /opt/seafile/conf/gunicorn.conf --preload
 8436 ?        S      0:00 python2.7 /opt/seafile/seafile-server-1.2.0/seahub/thirdpart/gunicorn seahub.wsgi:application -c /opt/seafile/conf/gunicorn.conf --preload
 8437 ?        S      0:00 python2.7 /opt/seafile/seafile-server-1.2.0/seahub/thirdpart/gunicorn seahub.wsgi:application -c /opt/seafile/conf/gunicorn.conf --preload
 8438 ?        S      0:00 python2.7 /opt/seafile/seafile-server-1.2.0/seahub/thirdpart/gunicorn seahub.wsgi:application -c /opt/seafile/conf/gunicorn.conf --preload
 8439 ?        S      0:00 python2.7 /opt/seafile/seafile-server-1.2.0/seahub/thirdpart/gunicorn seahub.wsgi:application -c /opt/seafile/conf/gunicorn.conf --preload
 8443 ?        S      0:00 python2.7 /opt/seafile/seafile-server-1.2.0/seahub/thirdpart/gunicorn seahub.wsgi:application -c /opt/seafile/conf/gunicorn.conf --preload
ck@mx:~/seafile/seafile-server-latest$ sudo kill -9 8437 8438 8436 8283 8439
ck@mx:~/seafile/seafile-server-latest$ ps ax | grep seahub
10207 pts/0    S+     0:00 grep --color=auto seahub
ck@mx:~/seafile/seafile-server-latest$ ./seahub.sh start

LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 ...

Seahub is started

Done.

Glad you fixed your problem!

Can you mark this thread as solved?