From 0d35f3c9aab6651e30f3a2f6c8dfd4f658a15d6a Mon Sep 17 00:00:00 2001 From: Vlad Khorsun Date: Tue, 12 Mar 2024 21:07:27 +0200 Subject: [PATCH] Fixed bug #8040 : Bugcheck 183 (wrong record length) could happen on replica database after UK violation on insert --- src/jrd/replication/Applier.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/jrd/replication/Applier.cpp b/src/jrd/replication/Applier.cpp index 46bd9de5b4..4e405de751 100644 --- a/src/jrd/replication/Applier.cpp +++ b/src/jrd/replication/Applier.cpp @@ -665,6 +665,12 @@ void Applier::insertRecord(thread_db* tdbb, TraNumber traNum, } else { + fb_assert(rpb.rpb_record == record); + + rpb.rpb_format_number = format->fmt_version; + rpb.rpb_address = record->getData(); + rpb.rpb_length = record->getLength(); + doInsert(tdbb, &rpb, transaction); // second (paranoid) attempt } }