Asynchronous cancellation request can be ignored in the case of EXECUTE
STATEMENT and WHEN used together
--------------------------------------------------------------------------------------------------------
Key: CORE-4356
URL: http://tracker.firebirdsql.org/browse/CORE-4356
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 2.1.4, 2.5.0, 2.1.3, 2.1.2, 2.1.1, 2.1.0
Reporter: Dmitry Yemanov
Artificial test case:
set term ^;
execute block as
declare stt varchar(255) = 'execute block as begin while (1 = 1) do begin end
end';
begin
while(1=1) do
begin
execute statement stt;
when any do begin end
end
end^
set term ;^
commit;
Then either press Ctrl-C in the current ISQL session or issue "delete from
mon$statements where mon$attachment_id <> current_connection" from a different
ISQL session.
The endless loop inside EXECUTE STATEMENT really gets interrupted but
isc_cancelled error gets handled by the WHEN block and the loop continues. This
is a bug, cancellation/shutdown errors should not be processed by exception
handlers.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel