Skip to content

Commit 6c5a2ae

Browse files
committed
Fixed bug CORE-5528 : internal Firebird consistency check (limbo impossible (184), file: vio.cpp line: 2379)
1 parent 40b5357 commit 6c5a2ae

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/jrd/vio.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2331,6 +2331,11 @@ bool VIO_get_current(thread_db* tdbb,
23312331
VIO_data(tdbb, rpb, pool);
23322332
return true;
23332333

2334+
case tra_limbo:
2335+
if (!(transaction->tra_flags & TRA_ignore_limbo))
2336+
ERR_post(Arg::Gds(isc_rec_in_limbo) << Arg::Num(rpb->rpb_transaction_nr));
2337+
// fall thru
2338+
23342339
case tra_active:
23352340
// clear lock error from status vector
23362341
fb_utils::init_status(tdbb->tdbb_status_vector);
@@ -2375,9 +2380,6 @@ bool VIO_get_current(thread_db* tdbb,
23752380
}
23762381
break;
23772382

2378-
case tra_limbo:
2379-
BUGCHECK(184); // limbo impossible
2380-
break;
23812383

23822384
default:
23832385
fb_assert(false);
@@ -5811,7 +5813,7 @@ static int prepare_update( thread_db* tdbb,
58115813
return PREPARE_LOCKERR;
58125814

58135815
case tra_limbo:
5814-
ERR_post(Arg::Gds(isc_deadlock) << Arg::Gds(isc_trainlim));
5816+
ERR_post(Arg::Gds(isc_trainlim) << Arg::Gds(isc_rec_in_limbo) << Arg::Num(rpb->rpb_transaction_nr));
58155817

58165818
case tra_dead:
58175819
break;

0 commit comments

Comments
 (0)