Skip to content
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

Bugcheck 167 (invalid SEND request) [CORE5457] #5728

Closed
firebird-automations opened this issue Jan 17, 2017 · 18 comments
Closed

Bugcheck 167 (invalid SEND request) [CORE5457] #5728

firebird-automations opened this issue Jan 17, 2017 · 18 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Holger Klemt (klemmo)

Attachments:
BUG.7z
c5457-1.sql.7z
c5457-crash.png

i have a reproducable bug in fb301 but at the moment i can only reproduce it using ibexpert
(but there is is easy to reproduce and results in the following log entry and all connections
are disconnected, also connections from isql which did not do anything in the mean time)

HKNB6 Mon Jan 16 17:38:54 2017
Modifying procedure CALC_VAL which is currently in use by active user requests

HKNB6 Mon Jan 16 17:39:03 2017
Database: C:\DB\BUG.FDB
internal Firebird consistency check (invalid SEND request (167), file: JrdStatement.cpp line: 325)

i set the transaction setting in ibexpert as follows
isc_tpb_read_committed
isc_tpb_rec_version
isc_tpb_wait

attached database is used, but i can reproduce the error also on another very big database

1. step: open the table tbl in table editor and open data page
2. leave it open
3. change sourcecode of procedure calc_val (for example change the multiplication factor)
4. recompile procedure
5. go back to table tbl data page
6. commit transaction to refresh data
7. this error message will come

internal Firebird consistency check (invalid SEND request (167), file: JrdStatement.cpp line: 325)

the calc_val procedure is used for computed by column

Commits: 5dd8daf 214921b 3e15291 cebbbf5 2cb8c9c 37e2aa3

@firebird-automations
Copy link
Collaborator Author

Commented by: Holger Klemt (klemmo)

sample database

@firebird-automations
Copy link
Collaborator Author

Modified by: Holger Klemt (klemmo)

Attachment: BUG.7z [ 13054 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Simplified test case

>isql BUG.FDB -user sysdba
Database: BUG.FDB, User: SYSDBA
SQL> select count(*), sum(tbl_val) from tbl;

            COUNT                   SUM

===================== =====================
7 280

SQL>
SQL> set term ^;
SQL> alter procedure calc_val (id bigint) returns (val bigint)
CON> as
CON> begin val = id * 10; suspend; end
CON> ^
SQL> set term ;^
SQL>
SQL> select count(*), sum(tbl_val) from tbl;

            COUNT                   SUM

===================== =====================
7 280

SQL> commit;
SQL> select count(*), sum(tbl_val) from tbl;

            COUNT                   SUM

===================== =====================
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (invalid SEND request (167), file: JrdStatement.cpp line: 324)
SQL> Statement failed, SQLSTATE = XX000
internal Firebird consistency check (can't continue after bugcheck)
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (can't continue after bugcheck)

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Dmitry Yemanov [ dimitr ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0.2 [ 10785 ]

Fix Version: 4.0 Alpha 1 [ 10731 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @pavel-zotov

It seems that fix works only in 3.0.2 but not in 4.0.
Consider script from attached "c5457-1.sql.7z" (it almost the same as isql -x plus statementts shown by Vlad).

On WI-V3.0.2.32683 (07-feb-2017) it works OK.

On WI-T4.0.0.522 (03-feb-2017) and WI-T4.0.0.530 (07-feb-2017) it raises:

select count(*), sum(val) from test;
COUNT SUM
===================== =====================
10 715
commit;
select count(*), sum(val) from test;
Statement failed, SQLSTATE = 08006
Error reading data from the connection.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

Attachment: c5457-1.sql.7z [ 13066 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Deferred

Test Details: Waiting for reply on issue 07-feb-2017 1015.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

Test Details: Waiting for reply on issue 07-feb-2017 1015. => Waiting for reply on issue 07-feb-2017 07:15

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

I cannot reproduce the crash. Tried v4 embedded and superserver, debug and release builds. I prefixed that script with the CREATE DATABASE command.

@firebird-automations
Copy link
Collaborator Author

Commented by: @pavel-zotov

I've issued command 'create database ...' outside from ISQL, i.e. in the OS command prompt + piping.
And I *do* get crash - see attached screen from cmd.exe

(May be it's because my FM is 32 bit and is working on Win XP ?..)

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

Attachment: c5457-crash.png [ 13067 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @pavel-zotov

PS. Changed parameters in firebird.conf:

C:\MIX\firebird\QA\fbt-repo\tmp>findstr /r /c:"^[^#⁠;]" C:\MIX\firebird\fb40\firebird.conf | sort
AuthClient = Legacy_Auth,Srp,Win_Sspi
AuthServer = Legacy_Auth,Srp
DeadlockTimeout = 1
FileSystemCacheThreshold = 65536K
IpcName = fb40ss
LockHashSlots = 22111
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1
MaxUserTraceLogSize = 99999
RemoteServicePort = 3400
Servermode = Classic
TempCacheLimit = 2147483647
TempDirectories = c:\temp
UdfAccess = Restrict UDF;C:\WINNT\system32
UserManager = Legacy_UserManager
WireCrypt = Disabled

@firebird-automations
Copy link
Collaborator Author

Commented by: @pavel-zotov

> (May be it's because my FM is 32 bit and is working on Win XP ?..)

Looks unreal but seems it's indeed like this.
No problems on Win 8.1 FB-4 64 bit,, checked builds 511 & 530.

Enigma... :-/

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

I confirm crash of 32-bit embedded release build. No crash in debug build.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

summary: internal Firebird consistency check (invalid SEND request (167), file: JrdStatement.cpp line: 325) => Bugcheck 167 (invalid SEND request)

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: Deferred => Done successfully

Test Details: Waiting for reply on issue 07-feb-2017 07:15 =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants