mirror of
https://github.com/modoboa/modoboa.git
synced 2026-04-26 09:26:00 +03:00
[GH-ISSUE #843] Mysql has gone away #751
Labels
No labels
bug
bug
dependencies
design
documentation
duplicate
enhancement
enhancement
enhancement
feedback-needed
help-needed
help-needed
installer
invalid
looking-for-sponsors
modoboa-contacts
new-ui
new-ui
pr
pull-request
pyconfr
python
question
security
stale
webmail
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/modoboa-modoboa#751
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Toniob on GitHub (Mar 9, 2016).
Original GitHub issue: https://github.com/modoboa/modoboa/issues/843
With a fresh installation of modoboa 1.4.4, I've got the following error message while browsing throught modoboa
Traceback (most recent call last):
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 170, in call
self.load_middleware()
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 52, in load_middleware
mw_instance = mw_class()
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/middleware/locale.py", line 24, in init
for url_pattern in get_resolver(None).url_patterns:
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 401, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 395, in urlconf_module
self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "./modoboa_website/urls.py", line 5, in
url(r'', include('modoboa.urls')),
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/conf/urls/init.py", line 33, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/urls.py", line 31, in
parameters.apply_to_django_settings()
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/lib/parameters.py", line 370, in apply_to_django_settings
for form in get_admin_forms():
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/lib/parameters.py", line 337, in get_admin_forms
"form": formdef["form"](*args, **kwargs)}
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/core/app_settings.py", line 261, in init
super(GeneralParametersForm, self).init(_args, *_kwargs)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/lib/parameters.py", line 62, in init
self._load_initial_values()
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/lib/parameters.py", line 96, in load_initial_values
if not db_utils.db_table_exists("lib_parameter"):
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/modoboa/lib/db_utils.py", line 12, in db_table_exists
return table in connection.introspection.table_names()
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/backends/base/introspection.py", line 57, in table_names
return get_names(cursor)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/backends/base/introspection.py", line 53, in get_names
return sorted(ti.name for ti in self.get_table_list(cursor)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/backends/mysql/introspection.py", line 48, in get_table_list
cursor.execute("SHOW FULL TABLES")
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/srv/www/website.com/webmail/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
django.db.utils.OperationalError: (2006, 'MySQL server has gone away')
webmail.website.com [pid: 23555|app: 0|req: 2/25] ::1 () {46 vars in 902 bytes} [Wed Mar 9 10:01:03 2016] GET /admin/domains/list/?=1457514070133 => generated 0 bytes in 5 msecs (HTTP/2.0 500) 0 headers in 0 bytes (0 switches on core 0)
I've tried using tcp or unix socket connection to mysql. I've got the same issue. If I keep trying or reloading, the request succeeds, but it may take 5 to 6 tries.
Here are the versions used in my virtualenv (on a debian 8.3)
argparse (1.2.1)
dj-database-url (0.4.0)
Django (1.8.11)
django-passwords (0.3.4)
django-reversion (1.9.3)
django-subcommand2 (0.1.1)
django-versionfield2 (0.4.0)
django-xforwardedfor-middleware (1.0)
djangorestframework (3.3.1)
factory-boy (2.6.1)
fake-factory (0.5.6)
ipaddress (1.0.16)
LEPL (5.1.3)
modoboa (1.4.4)
MySQL-python (1.2.5)
passlib (1.6.5)
pip (1.5.6)
progressbar (2.3)
pycrypto (2.6.1)
python-dateutil (2.5.0)
requests (2.9.1)
rfc6266 (0.0.4)
setuptools (5.5.1)
six (1.10.0)
wsgiref (0.1.2)
@gawel commented on GitHub (Mar 9, 2016):
Got the same problem here. We fixed that by adding 'CONN_MAX_AGE': 0 in the DATABASES section of the settings.py and switching to the waitress wsgi server (gunicorn failed silently). Weird bug indeed.
@tonioo commented on GitHub (Mar 9, 2016):
Could you also try to force a TCP connection to the mysql server ? Set HOST and PORT for default connection inside settings.py
@Toniob commented on GitHub (Mar 9, 2016):
@tonioo : unix socket or tcp connection, same result !
@tonioo commented on GitHub (May 1, 2016):
@Toniob Hi, any news about this issue ?