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.