Decompression overran buffer after rollback
-------------------------------------------
Key: CORE-5422
URL: http://tracker.firebirdsql.org/browse/CORE-5422
Project: Firebird Core
Issue Type: Bug
Affects Versions: 2.5.6
Environment: Windows Server 2008 R2 64 bit, Windows 10 Pro 64 bit
FB Superserver with GC set to Cooperative
Reporter: prenosil
Priority: Critical
This is the same issue as in (for FB3.0)
http://tracker.firebirdsql.org/browse/CORE-5392
and as in (for FB4.0)
http://tracker.firebirdsql.org/browse/CORE-5420
(and I have suspition that CORE-5419 is the same problem)
I copied test from CORE-5420 with some minor changes (adding primary key is
removed because it is unnecessary, and force write is set ON (in my tests on
FB2.5.6 i can''t reproduce the crash with FW OFF).
Few notes:
- probalibity of crash is higher with CpuAffinityMask = 1 than with
CpuAffinityMask = 0
- when testing on real table/data, the crash occur even without "alter table
test add ..."
- after exactly 2 minutes after "Decompression overran" there is "deadlock" in
fbirebird.log
- no error occurs when
- GC is turned off in connect string (isc_dpb_no_garbage_collect), or
- GC set to Cooperative in .conf, or
- using Embedded version
- when testing night FB3.0 snapshot the problem seems fixed (did not occur even
after >400 runs of test scripts), i.e. fix from CORE-5392 works.
- latest snapshot 2.5.7.27030-0_x64 crashes too
==========
shell del E:\TEMP\Test.fdb 2>nul;
create database 'localhost:E:\TEMP\Test.fdb';
connect 'localhost:E:\TEMP\Test.fdb' no garbage_collect;
create domain dm_longutf as varchar(8000) character set utf8;
recreate table test (id int not null, a int);
commit;
set echo on;
set term ^;
execute block as
declare i int;
declare n int = 100000;
begin
while (n>0) do insert into test(id, a) values(:n, :n) returning :n-1 into n;
end
^
set term ;^
commit;
alter table test add b dm_longutf default '' not null;
commit;
update test set a=2;
rollback;
set list on;
-- this lead to decompression overran buffer (179), file: sqz.cpp line: 282
set echo on;
update test set a=3;
commit;
==========
--
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
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel