Welcome Guest, Not a member yet? Register   Sign In
Error in using IPv6 in session database driver MySQL 5.7
#1

Hi!

I am getting this error:


Quote:ERROR - 2016-11-20 09:59:03 --> Severity: Warning --> mysqli::query(): (42000/3057): Incorrect user-level lock name 
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxx:xxxx:xxxx:x:xxx:xxxx:xxxx:xxxx'. /var/www/0/136120/www/system/database/drivers/mysqli/mysqli_driver.php 305

ERROR - 2016-11-20 09:59:03 --> Query error: Incorrect user-level lock name 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxx:xxxx:xxxx:x:xxx:xxxx:xxxx:xxxx'. - Invalid query: SELECT GET_LOCK('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxx:xxxx:xxxx:x:xxx:xxxx:xxxx:xxxx', 300) AS ci_session_lock

ERROR - 2016-11-20 09:59:03 --> Severity: Error --> Call to a member function row() on boolean /var/www/0/136120/www/system/libraries/Session/drivers/Session_database_driver.php 358


My guess is that the lock name string exceed the get_lock() maximum length of 64 characters that was implemented in MySQL 5.7. I am not getting this error when a user is using IPv4 since it does not make the lock name exceed 64 characters but when a user is using IPv6 it exceeds the limit.

Is there a way I could still use IPv6 in the session database driver?
Reply
#2

(This post was last modified: 11-22-2016, 03:05 AM by Narf.)

This happens to be a valid bug report, but for future reference, please note that we don't really like double posting. If you're just asking for help, you should only post here on the forums, as we use GitHub issues only for bug tracking.

As a hotfix, until the 3.1.3 release, you may apply the patch I referenced to the GitHub issue.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB