Kbase P124228: OpenEdge 10.1x raises icb errors on UNDO of sub-transaction containing record create
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/23/2008 |
|
Status: Verified
FACT(s) (Environment):
OpenEdge 10.1A
OpenEdge 10.1B
All Supported Operating Systems
OpenEdge Category: Language (4GL/ABL)
SYMPTOM(s):
System error when undoing sub-transaction containing record create
SYSTEM ERROR: failed to get lock after undoing an icb disconnect
Error on UNDO of a sub-transaction
Ignoring attempt to add picb <> to free chain twice, <> filenum <filenum> fli flags <value>
In code where a sub-transaction (therefore nested in a main transaction) when performing an UNDO
not using -rereadnolock
System error when undoing sub-transaction containing record create
Ignoring free of picb <address> filename <table-name> filnum <num> filflags <num>
Ignoring attempt to add picb <address> to free chain twice, i <value> dbk <value> flags <value> xflags <value> typeflags <value> flags1 <value> createar <value>
REPEAT loop is undone
Triggers at end of a F4 undo loop that destroys objects
F4 is being pressed during a loop
Ctrl+C is being pressed inside a loop
Loop contains record creation
Lock is downgraded after creation
Buffer is not released inside loop
Worked previously against OpenEdge 10.0X
CAUSE:
Bug# OE00159083
CAUSE:
This bug does not cause database corruption. Database savepoints mechanism was introduced, we issued a redundant call to release a lock. That call was unnecessary and resulted in the system error.
FIX:
Upgrade to OpenEdge 10.1C+ where this issue has been addressed.
Two workarounds are available to avoid this issue:
- either use the startup parameter -nosavepoint for the client session, or
- modify the application code to RELEASE the record buffer inside the loop at the end of each iteration.
For further details on savepoints, please refer to Solution P122386, "What are savepoints and what has changed about savepoints between 10.1A and 10.1B"