Bug #89324 main.comment_column2 fails with compression
Submitted: 19 Jan 2018 21:22 Modified: 12 Mar 2018 18:39
Reporter: Manuel Ung Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: C API (client library) Severity:S3 (Non-critical)
Version:8.0.3 OS:Any
Assigned to: CPU Architecture:Any

[19 Jan 2018 21:22] Manuel Ung
Description:
Running the main.comment_column2 test case with compression results in this:

mysqld: net_serv.cc:897: size_t net_read_packet(NET*, size_t*): Assertion `net->where_b + 4 + sizeof(uint32) <= net->max_packet + 4 + 3' failed.

How to repeat:
Build in debug mode

mtr --compress main.comment_column2

Suggested fix:
Unsure, will need more investigation.
[19 Jan 2018 22:34] Manuel Ung
Looks like the root cause is this commit: https://github.com/mysql/mysql-server/commit/724f8e8389ae0fa2930b1402fbb50cbecacbe985

If we no longer require an extra byte for uint3korr, then the assert should have been removed because it's just checking for the extra byte. At best, we should just assert net->where_b < net->max_packet.
[19 Jan 2018 22:37] Manuel Ung
I meant net->where_b <= net->max_packet in my last comment.
[20 Jan 2018 7:33] Umesh Shastry
Hello Manuel,

Thank you for the report and feedback.

Thanks,
Umesh
[20 Jan 2018 7:33] Umesh Shastry
test results

Attachment: 89324.results (application/octet-stream, text), 156.68 KiB.

[12 Mar 2018 18:39] Paul Dubois
Posted by developer:
 
Fixed in 8.0.11.

With protocol compression enabled, a spurious assertion could be
raised.