Consultor Eletrônico



Kbase P23175: Client gets error 2659 when trying to fetch a specific recor
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/16/2005
Status: Unverified

SYMPTOM(s):

Client gets error 2659 when trying to fetch a specific record.

Disconnect from server; database is being shutdown. (2659)

Database server process dies with Error 49.

SYSTEM ERROR: Memory violation. (49)

Database broker keeps running.

Stack trace shows:

ambbufmgr (x1, x83a863c, x83a8640, x259)
ambrmget (x804761c, x7f88, x0, x0)
dbrmget (x804761c, x83a863c, x7f88, x0)
dbnxt1 (x8444c6e, x804761c, x0, x83a863c)
dbnxt (x8444c6e, x804761c, x0, x80478a8)
profnd (x851eeac, x8047888, x8400530, x850a3f0)

Upgrade to Progress 9.1D or later is not viable

CHANGE:

Application update including schema changes

CAUSE:

Bug# 20010821-029

CAUSE:

This is a bug in a memory allocation routine. It can occur in a number of very specific scenarios.
Here it occurs when a specifically worded FIND statement is executed, there are a number of records that qualify for part of the WHERE clause and one of those records has not been updated to the new schema version yet.

FIX:

To work around this, use a FOR EACH loop that forces a schema update on all records in the table.

A schema update to a record is forced in three steps:
- Store the old value of one of the fields in a variable
- Change the value of that field and commit the change
- Refetch the record and change the field back to it's old value

This will prevent the bug from reoccuring until after the next schema change.