Consultor Eletrônico



Kbase P20472: Client gets error 2659 when trying to fetch a specific record.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   9/16/2008
Status: Verified

SYMPTOM(s):

Client performs record lookup.

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)

FACT(s) (Environment):

Progress 9.1C
Progress 9.1B
All Supported Operating Systems

CHANGE:

Application update including schema changes

CAUSE:

Bug# OE00068813

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:

Upgrade to Progress 9.1C latest patch.
Upgrade to Progress 9.1D or later release.

Workaround:
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 workaround will prevent the bug from reoccurring until after the next schema change.