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.