Search code examples
pythonodooodoo-10

Odoo installation ''error: [Errno 98] Address already in use''


I followed this installation guide for odoo and I get an error in the very end when I run odoo-bin file it gives me this error

teo@teo-Lenovo-Yoga-3-14:/opt/odoo/odoo-10.0$ ./odoo-bin 
2017-07-06 15:03:20,583 3754 INFO ? odoo: Odoo version 10.0
2017-07-06 15:03:20,583 3754 INFO ? odoo: addons paths: ['/home/teo/.local/share/Odoo/addons/10.0', u'/opt/odoo/odoo-10.0/odoo/addons', u'/opt/odoo/odoo-10.0/addons']
2017-07-06 15:03:20,583 3754 INFO ? odoo: database: default@default:default
2017-07-06 15:03:20,601 3754 INFO ? odoo.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069
Exception in thread odoo.service.httpd:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/odoo/odoo-10.0/odoo/service/server.py", line 251, in http_thread
    self.httpd = ThreadedWSGIServerReloadable(self.interface, self.port, app)
  File "/opt/odoo/odoo-10.0/odoo/service/server.py", line 106, in __init__
    handler=RequestHandler)
  File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 440, in __init__
    HTTPServer.__init__(self, (host, int(port)), handler)
  File "/usr/lib/python2.7/SocketServer.py", line 417, in __init__
    self.server_bind()
  File "/opt/odoo/odoo-10.0/odoo/service/server.py", line 116, in server_bind
    super(ThreadedWSGIServerReloadable, self).server_bind()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.7/SocketServer.py", line 431, in server_bind
    self.socket.bind(self.server_address)
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 98] Address already in use

I think it may be related to the odoo.conf file because I specify a port but it still assumes de default port 8069

this is my odoo.conf file

[options]

; This is the password that allows database operations:

; admin_passwd = PASSWORD

db_host = False

db_port = 8470

db_user = odoo

db_password = False

addons_path = /opt/odoo/odoo-10.0/addons

;Log Settings

logfile = /var/log/odoo/odoo.log

log_level = error

Does anyone have an idea of what's happening, for the record I tried to install odoo before but failed so I already had DB user created for e.g.


Solution

  • Because odoo service automatically start when system starts, so you have to kill the odoo-service manually, and then run the ./odoo-bin file, at which point you should be able to see odoo running again.

    sudo pkill -9 python
    

    By doing this you'll stop python from finding the odoo service process id and subsequently killing that process.

    ps aux | grep odoo
    sudo kill <process id> 
    

    There are multiple pid running with odoo, ending with /etc/odoo-server.conf, which you have to select.

    I think the best option is probably

    sudo pkill -9 python
    

    All the best, I hope I solved your problem.