Data too long for column 'login_ip' at row 1


I noticed that on 9.0.2 some users can’t log in when they come from an IPv6 address.
Seahub reports:

    [ERROR] django.request:230 log_response Internal Server Error: /accounts/login/
Traceback (most recent call last):
  File "/opt/seafile/seafile-server-9.0.2/seahub/thirdpart/django/db/backends/", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/seafile/seafile-server-9.0.2/seahub/thirdpart/django/db/backends/mysql/", line 73, in execute
    return self.cursor.execute(query, args)
  File "/usr/local/lib/python3.7/dist-packages/MySQLdb/", line 206, in execute
    res = self._query(query)
  File "/usr/local/lib/python3.7/dist-packages/MySQLdb/", line 319, in _query
  File "/usr/local/lib/python3.7/dist-packages/MySQLdb/", line 254, in query
    _mysql.connection.query(self, query)
MySQLdb._exceptions.DataError: (1406, "Data too long for column 'login_ip' at row 1")

So I went into the MySQL seahub DB and issued alter table sysadmin_extra_userloginlog modify column login_ip varchar(45) not null; which fixed it. Is this a known bug? Or some misconfiguration on my side? I ran all upgrade scripts as far as I can tell.


1 Like

@Jonathan Please verify as IPv6 shouldn’t cause any issues. thanks

I think this is mostly a missing upgrade script. I recently installed a new Seafile 9 from scratch and the field is a VARCHAR(128) there.