Bug #58777 abort renamed to abort_result_set(), but send_eof calls abort
Submitted: 7 Dec 2010 2:55 Modified: 7 Dec 2010 14:51
Reporter: Zardosht Kasheff (OCA) Email Updates:
Status: Can't repeat Impact on me:
Category:MySQL Server: DDL Severity:S2 (Serious)
Version: OS:Any
Assigned to: Jon Olav Hauglid CPU Architecture:Any
Tags: Contribution

[7 Dec 2010 2:55] Zardosht Kasheff
in 5.5, select_create::abort seems to be renamed to select_create::abort_result_set, but in mysql-5.5.7-rc line 4052, select_create::send_eof calls abort instead of abort_result_set. As a result, when that code path hits, the server crashes.

How to repeat:

Suggested fix:
will attach
[7 Dec 2010 2:58] Zardosht Kasheff
proposed patch

Attachment: 58777.patch (application/octet-stream, text), 293 bytes.

[7 Dec 2010 9:27] Jon Olav Hauglid

This problem has already been fixed in the scope of Bug#54812.
The patch for this bug was included in 5.5.8.

Do you have a test case which hits the bug?
[7 Dec 2010 14:03] MySQL Verification Team
Please see prior question from Jon. Thanks in advance.
[7 Dec 2010 14:08] Zardosht Kasheff
The short answer is not with InnoDB. I hit this bug with our custom storage engine when a create...select statement failed due our custom storage engine returning an error (which it should return) in handler::end_bulk_insert.

our storage engine has a bulk loader for empty tables that does the majority of its work in ::end_bulk_insert. That is why ::end_bulk_insert may return an error for us, such as HA_ERR_DUP_XXX (I do not remember the exact name off the top of my head)
[7 Dec 2010 14:51] Jon Olav Hauglid
Thanks for your answer.
I was looking for a possible regression test to add to our test suite :-)

I've verified that your patch matches the code change that was done in the fix
for Bug#54812 and therefore won't apply to the current 5.5 codebase. I've also
verified that the problem does not exist in 5.1.

Therefore closing the bug as "Can't repeat".