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
Crash on infinite mutual SP calls (instead of "Too many concurrent executions of the same request.") [CORE4653] #1599
Comments
Modified by: @pavel-zotovAttachment: gdb-coredump-when-attempt-to-run-infinite-SP-calls.zip [ 12655 ] |
Commented by: @dyemanov I cannot reproduce the crash (Ubuntu x64, fresh checkout, tried with both embedded and localhost connections). Looks like a stack overflow before reaching the recursion limit of 1000 nested calls. What ulimit -s returns in your system? |
Commented by: @pavel-zotov $ ulimit -s |
Commented by: @dyemanov Same here. Weird. |
Commented by: @pavel-zotov Got new strange results on: ISQL Version: WI-T3.0.0.31529 Firebird 3.0 Beta 2 The following command will cause crash FB for each odd or even runs ( file 'sss.sql' contains single command: select * from p01(1); ): C:\1INSTALL\FIREBIRD\FB30SNAP>isql -q --- run # 1 --- --- run # 2 --- --- run # 3 --- --- run # 4 --- --- run # 5 --- --- run # 6 --- . . . etc . . . |
Commented by: @pavel-zotov One more issue: crash occurs only when FB is started *AS SERVICE* rather than application. C:\1INSTALL\FIREBIRD\FB30SNAP\firebird.exe -a PS. Checked on: WI-T3.0.0.31532 Image path of service: C:\1INSTALL\FIREBIRD\FB30SNAP\firebird.exe -s FB_30SS -m -i |
Modified by: @hvladassignee: Vlad Khorsun [ hvlad ] |
Commented by: @hvlad There are two issues at this ticket: Issue (a) should be fixed with recent commit (please confirm). |
Commented by: @pavel-zotov > a) stack overflow exception when it was not happens in previous version of Firebird I see on WI-T3.0.0.31624 that results became like in FB 2.5 and every run of: SQL> select * from p01(1); -- now produces only messages about "concurrent executions of the same request", i.e.: Statement failed, SQLSTATE = 54001 |
Modified by: @hvladstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0 Beta 2 [ 10586 ] |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Resolved [ 5 ] QA Status: Done successfully Test Details: Changed expected_stderr - it became identical in 2.5 & 3.0 since ~07-mar-2015. |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: @pavel-zotov
Is related to CORE4688
Attachments:
gdb-coredump-when-attempt-to-run-infinite-SP-calls.zip
set term ^;
create or alter procedure p03(a_i int) returns (z int) as
begin
z = 0 ;
suspend;
end^
commit^
create or alter procedure p02(a_i int) returns (z int) as
begin
z = (select z from p03(:a_i)) + 1;
suspend;
end^
commit^
create or alter procedure p03(a_i int) returns (z int) as
begin
z = (select z from p02(:a_i)) + 1;
suspend;
end^
commit^
create or alter procedure p01(a_i int) returns (z int) as
begin
z = (select z from p02(:a_i)) + 1;
suspend;
end^
commit^
set term ;^
SQL> show proc;
Global procedures:
Procedure Name Invalid Dependency, Type
================================= ======= =================
P01 P02, Procedure
P02 P03, Procedure
P03 P02, Procedure
This statement:
SQL> select * from p01(1);
-- leads FB to "Segmentation fault (core dumped)"
Stacktrace samples see in attach.
SQL> show version;
ISQL Version: LI-T3.0.0.31474 Firebird 3.0 Beta 2
Server version:
Firebird/Linux/AMD/Intel/x64 (access method), version "LI-T3.0.0.31474 Firebird 3.0 Beta 2"
Firebird/Linux/AMD/Intel/x64 (remote server), version "LI-T3.0.0.31474 Firebird 3.0 Beta 2/tcp (oel64)/P13"
Firebird/Linux/AMD/Intel/x64 (remote interface), version "LI-T3.0.0.31474 Firebird 3.0 Beta 2/tcp (oel64)/P13"
on disk structure version 12.0
PS.
No such result in 2.5, get there as expected:
Too many concurrent executions of the same request.
Too many concurrent executions of the same request.
At procedure 'P03' line: 3, col: 3
At procedure 'P02' line: 3, col: 3
At procedure 'P03' line: 3, col: 3
At procedure 'P02' line: 3, col: 3
....
Commits: 3ca5a7b FirebirdSQL/fbt-repository@9f57cb8
====== Test Details ======
Changed expected_stderr - it became identical in 2.5 & 3.0 since ~07-mar-2015.
The text was updated successfully, but these errors were encountered: