New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recursive EXECUTE STATEMENT works wrong [CORE2731] #3126
Comments
Modified by: @hvladassignee: Vlad Khorsun [ hvlad ] |
Modified by: @hvladstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.5 RC2 [ 10372 ] Fix Version: 3.0 Alpha 1 [ 10331 ] |
Commented by: @pcisar QA test added. |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Commented by: @pavel-zotov All of following: 2.5.8, 3.0.3, 4.0.0 - do NOT finish test script when working in Classic mode. |
Modified by: @pavel-zotovstatus: Closed [ 6 ] => Reopened [ 4 ] Fix Version: 4.0 Alpha 1 [ 10731 ] Fix Version: 3.0.3 [ 10810 ] Fix Version: 2.5.8 [ 10809 ] resolution: Fixed [ 1 ] => |
Commented by: @pavel-zotov Please fix bug in Classic. Current snapshots (2.5, 3.0 & 4.0) hang when executing following script:set list on; set term ^; create sequence g; recreate table sql_source( sql_source varchar(350)); insert into sql_source values( set term ^; select gen_id(g,0) from rdb$database;Expected console output :Statement failed, SQLSTATE = 42000 GEN_ID 50(this is result on Super* archs). ISQL hangs when running this script on Classic, ProcessExplorer shows 44 items of child processes 'fb_inet_server' (or 'firebird' in 3.0+). No CPU load. Traces and results of "set list on; set count on; select * from mon$statements where mon$attachment_id!=current_connection;" are in attached .7z Tested on Windowx XP. PE full dumps for "main" and some "child" processes of FB Classic can be found here: |
Modified by: @pavel-zotovAttachment: core-2731-FB_Classic_25_30_40-results-of-query-mon_statements-after-break-hanged-isql.7z [ 13087 ] Attachment: core-2731-fb-Classic_25_30_40-trace-logs-when-running-test-script.7z [ 13088 ] |
Commented by: @hvlad Just run your case with 4.0.0.584 and 3.0.3.32712 (CS, win64) - all works as expected |
Commented by: @hvlad 2.5.8.27056, Win32 CS also OK |
Commented by: @pavel-zotov Can anyone please run following batch (exactly on Win32, not x64!) using any FB (2.5, 3.0. 4.0) in Classic mode:@echo off set n_att=43 set delay=5 echo Establishing %n_att% attachments. Please wait. . . @echo Take delay %delay% seconds - let all ISQL to be loaded and make their attachments. . . @echo on
|
Commented by: @pavel-zotov The problem relates to ability establish more than 43 attachents on Win32, this is not subject of Firebird per se. |
Submitted by: @hvlad
Is related to QA422
Attachments:
core-2731-FB_Classic_25_30_40-results-of-query-mon_statements-after-break-hanged-isql.7z
core-2731-fb-Classic_25_30_40-trace-logs-when-running-test-script.7z
Test case
recreate table SQL_SOURCE(
SQL_SOURCE varchar(32000)
);
commit;
insert into SQL_SOURCE values(
'execute block as
declare variable SQL type of column SQL_SOURCE.SQL_SOURCE;
begin
select first(1) SQL_SOURCE from SQL_SOURCE into :SQL;
execute statement :SQL
-- YOUR DB
on external ''127.0.0.1:S:\X.fdb''
as user ''SYSDBA'' password ''masterkey'';
end'
);
commit;
execute block as
declare variable SQL type of column SQL_SOURCE.SQL_SOURCE;
begin
select first(1) SQL_SOURCE from SQL_SOURCE into :SQL;
execute statement :SQL;
end
SS and SC hungs, CS creates a lot of processes.
Yes, test case looks crazy, but recursion must be limited somehow.
Commits: dc3cb55 bc9ad95
The text was updated successfully, but these errors were encountered: