Consultor Eletrônico



Kbase P5528: Got message 56, 49, 45 for disconnected user (4006)
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/19/2010
Status: Verified

SYMPTOM(s):

Error 4006 in the database log file.

SYSTEM ERROR: Got message <msgcode> for disconnected user <user-num> (4006)

<msgcode> can be any number, often it is 45, 49 or 56.

SYSTEM ERROR: Got message 56 for disconnected user <user-num> (4006)

SYSTEM ERROR: Got message 49 for disconnected user <user-num> (4006)

SYSTEM ERROR: Got message 45 for disconnected user <user-num> (4006)

Error 4006 appears for some_time, then not at all

Database not down

Client sessions not hanging

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.0A

CAUSE:

Although the 4006 error looks serious, it is benign. The number of the message is not significant. Any message exchanged between the client and server under the following scenario will relate in error 4006.

1. A hangup for a specific user X is received.
2. This user number X is then logged out on server A.
3. A new user Y logs in on server B and receives the same user_number;
this is expected.
4. A short while later server A finds that it has a message queued up
for the user who just logged out (X).
5. Since this message is for a non-existent user, the 4006 error is generated.

This message should have been cleaned up when the first user disconnected.

The occurence of this error is very load and timing sensitive - you essentially have to have a database with:

a) a great deal of activity (many servers),
b) a contention between two or more users connected to the databse,
c) one of the users in contention has to disconnect, AND
d) a new user connect
e) all the above in a *very* short time.

FIX:

None at the time of writing.
Error 4006 cannot be suppressed nor avoided; given its benign nature, it can be safely ignored.