Strange error messages in logfrile from MemCheck

Posted by ke@iap.de on 10-Apr-2017 04:33

We have some errors in db log file, where we assume the -MemCheck option is generating them.

[2017/04/09@06:40:03.254+0200] P-19023 T-4147590912 I ABL 17: (14059) rmValidBlock: Ungültige Datensatzgröße -254 für 8/dbkey 120297344
[2017/04/09@06:40:03.272+0200] P-19023 T-4147590912 I ABL 17: (14049) Ungültiger Datensatzblock gefunden.
[2017/04/09@06:40:03.272+0200] P-19023 T-4147590912 I ABL 17: (-----) 0000: 8097 2b07 037f 0400 0000 0000 8100 0000
[2017/04/09@06:40:03.272+0200] P-19023 T-4147590912 I ABL 17: (-----) 0010: 2751 5000 1900 0100 0004 0000 0000 0000

Then a lot of lines with entries like the last two above follow, looks like block dumps.

In the middle is a line

 [2017/04/09@06:40:03.304+0200] P-19023      T-4147590912 I ABL    17: (14051) >>>>> Inhalt des neuen Blocks >>>>> 

(means content of new block)

Then at the end

[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 2610535: D RL_RMDEL (3: PL), op:0, blk:0, ofst:0 adbkey: 8/120297344 updctr: 130 nextRowid: 0 flags: recnum: 59 recsz: 70 LogOp: 1 obj: 1024 objnum: 25
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (14052) Der Hinweis:
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0000: 4413 0003 0027 d567 0000 0000 072b 9780
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0010: 0000 0008 0000 0082 0000 0000 0200 0000
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0020: 3b00 0000 0000 3bff 4600 01ff 1900 86ff
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0030: 88c9 f577 0004 0000
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (14053) Die Daten:
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0000: 044e 0042 e700 0400 2500 38fa 000b 0001
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0010: 1901 20fd fdfd fdfd ff00 0207 ef01 0102
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0020: 07df 0200 e400 0000 0000 0000 020d 2300
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0030: 0000 0000 0101 0000 0000 0000 0000 0000
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 I ABL 17: (-----) 0040: 0204 cf02 04cf
[2017/04/09@06:40:03.310+0200] P-19023 T-4147590912 F ABL 17: (14054) SYSTEM ERROR: Ungültiger Datensatzblock FATAL
[2017/04/09@06:40:03.396+0200] P-19023 T-4147590912 I ABL 17: (439) ** Datei namens core speichern für Analyse durch Progress Software Corporation.
[2017/04/09@06:40:03.424+0200] P-19023 T-4147590912 F ABL 17: (5027) Anwenderprozeß 17 mit 1 reservierten Buffern ist abgebrochen.
[2017/04/09@06:40:03.424+0200] P-19023 T-4147590912 I ABL 17: (439) ** Datei namens core speichern für Analyse durch Progress Software Corporation.

For me it looks like -MemCheck found something, see
http://knowledgebase.progress.com/articles/Article/P128290

What is not clear in the KB entry is, are the message (with strings like  RL_RMDEL, adbkey) reason or effect of -MemCheck.

We assume so far defect memory and move the VM to another host.

Any ideas and knowlegewelcome.

Klaus

All Replies

Posted by George Potemkin on 10-Apr-2017 08:01

> Then a lot of lines with entries like the last two above follow, looks like block dumps.

You know the block contents when the error took place. Dump the same block again and compare it with the previous dump.

> We assume so far defect memory and move the VM to another host.

I would check the size of the corruption. One bit? One byte? OS block?

Posted by Marie Candela on 10-Apr-2017 09:05

test replying in forum

Posted by Dapeng Wu on 10-Apr-2017 09:12

Error (14059) means invalid record size found during the MemCheck. This error can be triggered in a few record operations like record create, delete, update etc. For diagnosis purpose, the block content before and after the operation will be dumped. The note (and the note data) that logs this operation will also be dumped out.

In this case, the error happens during a record delete operation, as seen from the RL_RMDEL note. This operation will write the note first, then delete the record. With –MemCheck enabled, this will also validate the operation to make sure errors in memory won’t make to disk. The MemCheck has detected the size of some record to be invalid within the block. For example, a record with size greater than the total block, but it shouldn’t. The adbkey is the area/dbkey information about that block.

As you can see, the RL_RMDEL note will always be logged as part of the operation to delete a record, but the messages came out due to the validation of the MemCheck.

Dapeng

Posted by gus bjorklund on 11-Apr-2017 21:30

real memory failures are quite rare. when they occur, you usually see a number of stange and unrelated errors.

in this case, the most likely cause is a memory smash caused by a bug in the software. that could be in database or 4gl runtime code or in application code that call system libraries or .dll’s

from the error messages it isn’t easy (probably impossible) to determine the root cause.

can you correlate any actions taken by users or the application with these incidents?

Posted by Dapeng Wu on 11-Apr-2017 21:30

Error (14059) means invalid record size found during the MemCheck. This error can be triggered in a few record operations like record create, delete, update etc. For diagnosis purpose, the block content before and after the operation will be dumped. The note (and the note data) that logs this operation will also be dumped out.
 
In this case, the error happens during a record delete operation, as seen from the RL_RMDEL note. This operation will write the note first, then delete the record. With –MemCheck enabled, this will also validate the operation to make sure errors in memory won’t make to disk. The MemCheck has detected the size of some record to be invalid within the block. For example, a record with size greater than the total block, but it shouldn’t. The adbkey is the area/dbkey information about that block.
 
As you can see, the RL_RMDEL note will always be logged as part of the operation to delete a record, but the messages came out due to the validation of the MemCheck.
 
Dapeng
 
 
 

Posted by Marie Candela on 11-Apr-2017 21:30

Test can post a reply
 

This thread is closed