"Commands out of sync", "Malformed packet" or client hang up on unique key violation

Description

The problems started happening from the following revision on 10.0-base-explain-slowquerylog

and are still reproducible on the current tree:

The first test case is an extract from federated.federatedx test, slightly modified to work on a single server.

According to the federated test, the INSERT should fail with ER_DUP_KEY, but on some reason it doesn't:

And the following SELECT fails with "Commands out of sync":

The second test case is based on a fragment from rpl.rpl_sp:

The DO command hangs. The processlist does not show any queries in the thread, but the query in the client does not finish.

If it is replaced with SELECT fn1(100), it causes an error:

Environment

None

Assignee

Sergei Petrunia

Reporter

Elena Stepanova

Labels

None

Fix versions

Priority

Critical
Configure