Consultor Eletrônico



Kbase P61602: Different users with same user id bring database down.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/04/2007
Status: Verified

FACT(s) (Environment):

Windows
UNIX
Progress 8.3C
Progress 8.3D
Progress 8.3B

SYMPTOM(s):

Database crashing with errors

SYSTEM ERROR: ixgen called with no transaction. (421)

SYSTEM ERROR: ixdel with no transaction. (422)

SYSTEM ERROR: tmstrt: transaction already active. (434)

SYSTEM ERROR: lkrels record <recid> not locked. (435)

SYSTEM ERROR: mtlkmux <latch-num>, holding <lock>. (3718)

SYSTEM ERROR: mtlkmux latch-num holding lock;. (3718)

Invalid shutdown request from <user-id> on <tty>. (541)

SYSTEM ERROR: tmend called, but no transaction active. (288)

SYSTEM ERROR: tmrej called, but no transaction active. (289)

startup of database sometimes fails with bi corruption error 3835

SYSTEM ERROR: rmflchg: RECID <recid> rmgetf returns <rec-size> expected <rec-size> (3835)

CAUSE:

Bug # 20000926-018

CAUSE:

Same user id allocated to different users.

Example:
10:25:04 Usr 53: Login by <user> on <ttyxxx>. (452)
10:30:05 Usr 53: Login by root on batch. (452)
10:30:11 Usr 53: Logout by root on batch. (453)
11:06:03 Usr 53: Logout by <user> on <ttyxxx>. (453)

This can have serious consequences when the two users are congruent (ie updating,deleting,creating the same records). In broad strokes, the following arises:

o A user dies during an update transaction.
o The transaction backout was not yet completed.
o The record locks were not released.
o Another user connected to the database and inherited the first user's usernum.
o The second user inherited the first user's record locks.
o The second user updated the same record that was being updated by the first user when the first user died.

FIX:

After recovering the datbase, upgrade to Progress 8.3E or higher where this issue has been addressed.

As a temprorary workaround, consider connecting clients client/server and revise the -n, -Ma, -Mn startup parameters.