Consultor Eletrônico



Kbase P134968: User process showing in Record Locking Table but the user is no longer connected to the database.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/09/2009
Status: Verified

SYMPTOM(s):

User process showing in Record Locking Table but the user is no longer connected to the database.

Cannot disconnect a user from the database.

User was connected to the database running an application and their keyboard froze.

Keyboard was replaced for the user.

Users machine was rebooted so it could detect new hardware.

Promon shows user is holding a record lock.

Promon was used to disconnect the user from the database.

The user process is no longer showing in the User Table.

User is still showing in the Record Locking Table.

Database log file shows promon and Broker sending signal 12 to the User process in an attempt to disconnect the user process from the database.

Transaction is not being backed out according to the database log file.

Stack trace from _progres reads:

__sched_getscheduler@@GLIBC 2.2.5
_vv_flush
csr_hide
wvHideCurson

FACT(s) (Environment):

User process that is holding the record is a local / shared memory client process.
User process is initiated via telnet session.
UNIX
OpenEdge 10.1B02 Service Pack

CAUSE:

The user process lost the connection with the telnetd parent process when the client machine was rebooted to replace the keyboard.

The shared memory client still has a valid PID (Process ID) on the machine. Because the PID is still listed on the Operating System level, and the database was not notified that the users machine was rebooted, no signal was received to notify the database to disconnect this user from the database and remove the entries from the User Table in shared memory.

FIX:

Locate the telnetd parent process associated with the client process and terminate that telnetd parent process with an Operating System signal. Example: kill -1 PID of the telnetd parent process. This will then result in the client session being cleaned up. Messages for the terminated client will appear in the database log file.

vv_flush I/O error 5 on fd 1 (--------)
HANGUP signal received. (562)
Begin transaction backout. (2252)
Transaction backout completed. (2253)