Toni Mueller <[email protected]> wrote:
Hi Toni,
>> There are two reasons why this message can appear, so could you
>> instrument memdb.c:prefill_memdb() to distinguish between parse errors
> ^^^^^^^^^^
>
> maybe, if I figure out what that means, or if you explain it to me. ;|
>
> So far, I understand: Compile with debugging symbols and run the
> unstripped code under a debugger. Correct?
No, just adding a pair of log statements where the missed++ happens so
you can know what case triggered.
Apply the attached patch and rebuild mcelog, install the package and
restart the daemon; you should get some more output to syslog.
JB.
--
Julien BLACHE <[email protected]> | Debian, because code matters more
Debian & GNU/Linux Developer | <http://www.debian.org>
Public key available on <http://www.jblache.org> - KeyID: F5D6 5169
GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169
Description: Upstream changes introduced in version 1.0~pre3-3
This patch has been created by dpkg-source during the package build.
Here's the last changelog entry, hopefully it gives details on why
those changes were made:
.
mcelog (1.0~pre3-3) unstable; urgency=low
.
* debian/patches/fix_timeout_bit.patch:
+ Added; fix interpretation of the timeout bit (closes: #587365).
.
The person named in the Author field signed this changelog entry.
Author: Julien BLACHE <[email protected]>
Bug-Debian: http://bugs.debian.org/587365
---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>
--- mcelog-1.0~pre3.orig/memdb.c
+++ mcelog-1.0~pre3/memdb.c
@@ -375,6 +375,8 @@ void prefill_memdb(void)
"_Node%u_Channel%u_Dimm%u", &socketid,
&channel, &dimm) != 3) {
missed++;
+
+ Eprintf("Failed to parse DMI data");
continue;
}
@@ -382,6 +384,9 @@ void prefill_memdb(void)
if (md->memdev) {
/* dups -- likely parse error */
missed++;
+
+ Eprintf("Duplicate entry?!");
+
continue;
}
md->memdev = d;