Bug #89324 main.comment_column2 fails with compression
Submitted: 19 Jan 21:22 Modified: 12 Mar 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 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 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 22:37] Manuel Ung
I meant net->where_b <= net->max_packet in my last comment.
[20 Jan 7:33] Umesh Shastry
Hello Manuel,

Thank you for the report and feedback.

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

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

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

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