Bug 13580

Summary: /var/log/message contains non-printable character
Product: ACPI Reporter: Toralf Förster (toralf.foerster)
Component: OtherAssignee: acpi_other
Status: CLOSED CODE_FIX    
Severity: normal CC: lenb, Robert.Moore, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
URL: https://bugs.gentoo.org/show_bug.cgi?id=274257
Kernel Version: 2.6.29.5 Subsystem:
Regression: No Bisected commit-id:
Attachments: log line
dmesg
/tmp/acpidump
patch: support non-printable character in ACPI table header
patch from Bob

Description Toralf Förster 2009-06-19 11:55:51 UTC
Created attachment 22007 [details]
log line

The attached file is a line which I have within my /var/log/messages of my
ThinkPad T400. Unfortunateley that's why less won't show that file as text :-(
Comment 1 Robert Moore 2009-06-19 18:05:51 UTC
Please attach the full message log and the acpidump for the machine.
Comment 2 Toralf Förster 2009-06-19 18:53:53 UTC
Created attachment 22011 [details]
dmesg 

attached is the dmesg output, I can't find acpidump within Gentoo's repository.
Comment 3 Toralf Förster 2009-06-19 18:57:20 UTC
Created attachment 22012 [details]
/tmp/acpidump

Gentoo package name was pmtools ...
Comment 4 Robert Moore 2009-06-19 19:31:45 UTC
From the acpidump, your ACPI DMAR table has an unusual string in the header:

DMAR @ 0x7c706000
  0000: 44 4d 41 52 20 01 00 00 01 46 20 20 20 20 20 20  DMAR ....F      
  0010: 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
  0020: 00 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00  ....#...........

The value starting at offset 0010 is the "OEM Table ID". It starts with 0x01, which is not a printable ascii character.

The function that dumps the table headers should probably handle non-printable characters.
Comment 5 Zhang Rui 2009-06-22 01:52:21 UTC
IMO, this is clearly a BIOS bug to me.
Bob, do you mean you want to workaround it in ACPICA core?
Comment 6 Zhang Rui 2009-06-22 02:15:13 UTC
Created attachment 22040 [details]
patch: support non-printable character in ACPI table header

Bob, do you mean a patch like this?
Toralf, can you please try this patch and see if it helps?
Comment 7 Robert Moore 2009-06-22 02:25:58 UTC
This comes up every once in a while. Enough so that I think we should just workaround it.

I have a fix for it already. I take a copy of the header and stuff a '?' for every non-printable character.
Comment 8 Zhang Rui 2009-06-22 02:30:59 UTC
that's great.
can you attach it here and close the bug report please? :)
Comment 9 Robert Moore 2009-06-22 02:33:19 UTC
It is against the ACPICA core, so it has to wait until Linux integration.
Comment 10 Lin Ming 2009-06-29 07:41:34 UTC
Created attachment 22136 [details]
patch from Bob
Comment 11 Zhang Rui 2009-06-29 07:49:25 UTC
great.
toralf,
The patch should be shipped in the next ACPICA release and soon hit upsteam kernl.
please re-open it if the patch doesn't work for you.
Comment 12 Len Brown 2009-08-29 22:31:49 UTC
this patch is in the queue for 2.6.32
cf02cd47d4747abf8ff0617e15fc05a00202e6d5

    ACPICA: Dump table header - suppress output of non-printable characters
    
    Function acpi_tb_print_table_header. Some ACPI tables contain
    non-printable characters in one of the string fields of the the
    header - Signature, OemId, OemTableId, or CompilerId. Invalid
    characters are replaced by '?'. ACPICA BZ 788.
    
    http://acpica.org/bugzilla/show_bug.cgi?id=788
Comment 13 Len Brown 2009-11-25 03:02:51 UTC
patch above shipped in 2.6.32-rc2

closed.