Bug #90555 Alter/Create Procedure without specify parameter direction (IN/OUT) causes crash
Submitted: 22 Apr 2018 4:08 Modified: 24 Apr 2018 21:31
Reporter: Zachary Graham Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:8.0.11 rc OS:Any
Assigned to: CPU Architecture:Any

[22 Apr 2018 4:08] Zachary Graham
Description:
When using right click 'Create Stored Procedure..' if a procedure parameter is defined without a direction, Workbench crashes to desktop with unhandled exception.

Also if a procedure was created using a script and contains parameter without direction, attempt to right click 'Alter Stored Procedure...' causes crash.

I got same behavior connecting to a v5.7.22 MySQL database and also a v8.0.11 MySQL.  OS is Windows 10 64-bit.

How to repeat:
Right click 'Create Stored Procedure..', create procedure with parameter missing IN/OUT direction attribute:

CREATE PROCEDURE `new_procedure` (
    p_param1 int
)
BEGIN
SELECT 1;
END

Click Apply button, program crashes.

The following succeeds (parameter direction is given as IN):

CREATE PROCEDURE `new_procedure` (
    IN p_param1 int
)
BEGIN
SELECT 1;
END

Alternatively create procedure using script (again without parameter direction IN/OUT), creation succeeds but attempt to right click 'Alter Stored Procedure...' once it is created results to crash to desktop:

DELIMITER $$

CREATE DEFINER = 'root'@'localhost' PROCEDURE `spr_myprocedure1`(
	p_param1 int
)
BEGIN

SELECT 1;

END$$

DELIMITER ;

Suggested fix:
I'm not sure if defining a parameter without direction is valid or not (assume it defaults to IN), Workbench should handle the case though and avoid crash.
[22 Apr 2018 4:15] Zachary Graham
This affects the Release Candidate v8.0.11 (not the GA v6.10.3).  I don't have the issue in the GA 6.10.3.
[22 Apr 2018 9:20] MySQL Verification Team
Thank you for the bug report. Please provide a screenshot of the exception message dialog. Thanks in advance.
[22 Apr 2018 14:44] Zachary Graham
Program stopped working Screenshot

Attachment: Capture1.PNG (image/png, text), 75.62 KiB.

[22 Apr 2018 14:49] Zachary Graham
I added a screenshot but it's just the generic Windows "Program stopped working" as I don't think the exception is handled.  I also added my log file when crash occurred (I added log file as a private file).  Thank you!
[23 Apr 2018 8:35] Chiranjeevi Battula
Hello Zachary,

Thank you for the feedback.
Verified this behavior on MySQL Workbench in 8.0.11 version.

Thanks,
Chiranjeevi.
[23 Apr 2018 8:35] Chiranjeevi Battula
Screenshot

Attachment: Bug_90555.PNG (image/png, text), 85.93 KiB.

[24 Apr 2018 21:31] Christine Cole
Posted by developer:
 
Fixed as of the upcoming MySQL Workbench 8.0.12 release, and here's the changelog entry:

A stored procedure without a parameter direction (IN or OUT) caused MySQL
Workbench to exit when it attempted to create or alter the procedure.

Thank you for the bug report.