qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functi


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality
Date: Thu, 26 Dec 2013 17:58:09 +0200

On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote:
> On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote:
> > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote:
> > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote:
> > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote:
> > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote:
> > > > > > Acpi unit-test will fail every time the acpi tables change.
> > > > > > 
> > > > > > The series adds a script that rebuilds the expected aml files, so 
> > > > > > the test
> > > > > > will pass. It also validates the modifications.
> > > > > > 
> > > > > > The acpi unit test will rebuild the aml tables if 
> > > > > > TEST_ACPI_REBUILD_AML
> > > > > > environment variable is set.
> > > > > 
> > > > > OK I had to fix some trailing whitespace, otherwise
> > > > > looks good.
> > > > > I applied it all, pls check the pci branch.
> > > > Thanks!
> > > > I pulled the pci branch, but I did not see the patches yet. 
> > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git,
> > > > pci branch.
> > > > 
> > > > Thanks,
> > > > Marcel
> > > 
> > > 
> > > Actually had to revert. Build fails with recent gcc:
> > Strange, I update the gcc to the Fedora's latest 4.8.2 and
> > it still doesn't happen.
> > Anyway, I use qemu_write_full as advised and resent.
> > 
> > Thanks,
> > Marcel
> 
> OK I applied this for now but I see an issue: iasl crashes below.
Thanks!
By the way, I resend the whole series, I hope you used it.

> I think this happens when we run it on a file
> it does not understand.
> It's an iasl bug but would be nice to work around
> it in some way (and it would be nice to report to
> robert moore)

I cannot reproduce it, I'll try anyway. 
By the way, the test checks if iasl exits with error,
so it should handle this gracefully. (I hope!)

Regarding the IASL project, I'll see if I can open a bug,
(if I can reproduce it, otherwise I risk they'll ask some
questions I cannot answer...)

Thanks,
Marcel

> 
> 
> *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0881bc98 
> ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x46205d12]
> /usr/bin/iasl[0x80a5a66]
> /usr/bin/iasl[0x80a2717]
> /usr/bin/iasl[0x80a284b]
> /usr/bin/iasl[0x805bf32]
> /usr/bin/iasl[0x8072352]
> /usr/bin/iasl[0x80726c1]
> /usr/bin/iasl[0x80725f5]
> /usr/bin/iasl[0x80491a9]
> /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963]
> /usr/bin/iasl[0x80491fd]
> ======= Memory map: ========
> 08047000-0810d000 r-xp 00000000 08:06 48242      /usr/bin/iasl
> 0810d000-0810e000 r--p 000c5000 08:06 48242      /usr/bin/iasl
> 0810e000-0810f000 rw-p 000c6000 08:06 48242      /usr/bin/iasl
> 0810f000-08113000 rw-p 00000000 00:00 0 
> 087f7000-08839000 rw-p 00000000 00:00 0          [heap]
> 4616d000-4618c000 r-xp 00000000 08:06 4415       /usr/lib/ld-2.17.so
> 4618c000-4618d000 r--p 0001e000 08:06 4415       /usr/lib/ld-2.17.so
> 4618d000-4618e000 rw-p 0001f000 08:06 4415       /usr/lib/ld-2.17.so
> 46190000-46348000 r-xp 00000000 08:06 4643       /usr/lib/libc-2.17.so
> 46348000-46349000 ---p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 46349000-4634b000 r--p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 4634b000-4634c000 rw-p 001ba000 08:06 4643       /usr/lib/libc-2.17.so
> 4634c000-4634f000 rw-p 00000000 00:00 0 
> 463d2000-463ed000 r-xp 00000000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ed000-463ee000 r--p 0001a000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ee000-463ef000 rw-p 0001b000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> b7741000-b7742000 rw-p 00000000 00:00 0 
> b776c000-b776f000 rw-p 00000000 00:00 0 
> b776f000-b7770000 r-xp 00000000 00:00 0          [vdso]
> bfc6f000-bfc91000 rw-p 00000000 00:00 0          [stack]
> *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09286cd8 
> ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x46205d12]
> /usr/bin/iasl[0x80a5a66]
> /usr/bin/iasl[0x80a2717]
> /usr/bin/iasl[0x80a284b]
> /usr/bin/iasl[0x805bf32]
> /usr/bin/iasl[0x8072352]
> /usr/bin/iasl[0x80726c1]
> /usr/bin/iasl[0x80725f5]
> /usr/bin/iasl[0x80491a9]
> /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963]
> /usr/bin/iasl[0x80491fd]
> ======= Memory map: ========
> 08047000-0810d000 r-xp 00000000 08:06 48242      /usr/bin/iasl
> 0810d000-0810e000 r--p 000c5000 08:06 48242      /usr/bin/iasl
> 0810e000-0810f000 rw-p 000c6000 08:06 48242      /usr/bin/iasl
> 0810f000-08113000 rw-p 00000000 00:00 0 
> 09262000-092a4000 rw-p 00000000 00:00 0          [heap]
> 4616d000-4618c000 r-xp 00000000 08:06 4415       /usr/lib/ld-2.17.so
> 4618c000-4618d000 r--p 0001e000 08:06 4415       /usr/lib/ld-2.17.so
> 4618d000-4618e000 rw-p 0001f000 08:06 4415       /usr/lib/ld-2.17.so
> 46190000-46348000 r-xp 00000000 08:06 4643       /usr/lib/libc-2.17.so
> 46348000-46349000 ---p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 46349000-4634b000 r--p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 4634b000-4634c000 rw-p 001ba000 08:06 4643       /usr/lib/libc-2.17.so
> 4634c000-4634f000 rw-p 00000000 00:00 0 
> 463d2000-463ed000 r-xp 00000000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ed000-463ee000 r--p 0001a000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ee000-463ef000 rw-p 0001b000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> b774b000-b774c000 rw-p 00000000 00:00 0 
> b7776000-b7779000 rw-p 00000000 00:00 0 
> b7779000-b777a000 r-xp 00000000 00:00 0          [vdso]
> bfd37000-bfd59000 rw-p 00000000 00:00 0          [stack]
> *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09587c58 
> ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x46205d12]
> /usr/bin/iasl[0x80a5a66]
> /usr/bin/iasl[0x80a2717]
> /usr/bin/iasl[0x80a284b]
> /usr/bin/iasl[0x805bf32]
> /usr/bin/iasl[0x8072352]
> /usr/bin/iasl[0x80726c1]
> /usr/bin/iasl[0x80725f5]
> /usr/bin/iasl[0x80491a9]
> /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963]
> /usr/bin/iasl[0x80491fd]
> ======= Memory map: ========
> 08047000-0810d000 r-xp 00000000 08:06 48242      /usr/bin/iasl
> 0810d000-0810e000 r--p 000c5000 08:06 48242      /usr/bin/iasl
> 0810e000-0810f000 rw-p 000c6000 08:06 48242      /usr/bin/iasl
> 0810f000-08113000 rw-p 00000000 00:00 0 
> 09563000-095a5000 rw-p 00000000 00:00 0          [heap]
> 4616d000-4618c000 r-xp 00000000 08:06 4415       /usr/lib/ld-2.17.so
> 4618c000-4618d000 r--p 0001e000 08:06 4415       /usr/lib/ld-2.17.so
> 4618d000-4618e000 rw-p 0001f000 08:06 4415       /usr/lib/ld-2.17.so
> 46190000-46348000 r-xp 00000000 08:06 4643       /usr/lib/libc-2.17.so
> 46348000-46349000 ---p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 46349000-4634b000 r--p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 4634b000-4634c000 rw-p 001ba000 08:06 4643       /usr/lib/libc-2.17.so
> 4634c000-4634f000 rw-p 00000000 00:00 0 
> 463d2000-463ed000 r-xp 00000000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ed000-463ee000 r--p 0001a000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ee000-463ef000 rw-p 0001b000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> b77af000-b77b0000 rw-p 00000000 00:00 0 
> b77da000-b77dd000 rw-p 00000000 00:00 0 
> b77dd000-b77de000 r-xp 00000000 00:00 0          [vdso]
> bfe96000-bfeb8000 rw-p 00000000 00:00 0          [stack]
> *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x096c7c98 
> ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x46205d12]
> /usr/bin/iasl[0x80a5a66]
> /usr/bin/iasl[0x80a2717]
> /usr/bin/iasl[0x80a284b]
> /usr/bin/iasl[0x805bf32]
> /usr/bin/iasl[0x8072352]
> /usr/bin/iasl[0x80726c1]
> /usr/bin/iasl[0x80725f5]
> /usr/bin/iasl[0x80491a9]
> /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963]
> /usr/bin/iasl[0x80491fd]
> ======= Memory map: ========
> 08047000-0810d000 r-xp 00000000 08:06 48242      /usr/bin/iasl
> 0810d000-0810e000 r--p 000c5000 08:06 48242      /usr/bin/iasl
> 0810e000-0810f000 rw-p 000c6000 08:06 48242      /usr/bin/iasl
> 0810f000-08113000 rw-p 00000000 00:00 0 
> 096a3000-096e5000 rw-p 00000000 00:00 0          [heap]
> 4616d000-4618c000 r-xp 00000000 08:06 4415       /usr/lib/ld-2.17.so
> 4618c000-4618d000 r--p 0001e000 08:06 4415       /usr/lib/ld-2.17.so
> 4618d000-4618e000 rw-p 0001f000 08:06 4415       /usr/lib/ld-2.17.so
> 46190000-46348000 r-xp 00000000 08:06 4643       /usr/lib/libc-2.17.so
> 46348000-46349000 ---p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 46349000-4634b000 r--p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 4634b000-4634c000 rw-p 001ba000 08:06 4643       /usr/lib/libc-2.17.so
> 4634c000-4634f000 rw-p 00000000 00:00 0 
> 463d2000-463ed000 r-xp 00000000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ed000-463ee000 r--p 0001a000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ee000-463ef000 rw-p 0001b000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> b7714000-b7715000 rw-p 00000000 00:00 0 
> b773f000-b7742000 rw-p 00000000 00:00 0 
> b7742000-b7743000 r-xp 00000000 00:00 0          [vdso]
> bfc43000-bfc65000 rw-p 00000000 00:00 0          [stack]
> qemu: terminating on signal 15 from pid 8740
> main-loop: WARNING: I/O thread spun for 1000 iterations
> *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09e5c3d0 
> ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x46205d12]
> /usr/bin/iasl[0x80a5a66]
> /usr/bin/iasl[0x80a2717]
> /usr/bin/iasl[0x80a284b]
> /usr/bin/iasl[0x805bf32]
> /usr/bin/iasl[0x8072352]
> /usr/bin/iasl[0x80726c1]
> /usr/bin/iasl[0x80725f5]
> /usr/bin/iasl[0x80491a9]
> /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963]
> /usr/bin/iasl[0x80491fd]
> ======= Memory map: ========
> 08047000-0810d000 r-xp 00000000 08:06 48242      /usr/bin/iasl
> 0810d000-0810e000 r--p 000c5000 08:06 48242      /usr/bin/iasl
> 0810e000-0810f000 rw-p 000c6000 08:06 48242      /usr/bin/iasl
> 0810f000-08113000 rw-p 00000000 00:00 0 
> 09e3c000-09e7e000 rw-p 00000000 00:00 0          [heap]
> 4616d000-4618c000 r-xp 00000000 08:06 4415       /usr/lib/ld-2.17.so
> 4618c000-4618d000 r--p 0001e000 08:06 4415       /usr/lib/ld-2.17.so
> 4618d000-4618e000 rw-p 0001f000 08:06 4415       /usr/lib/ld-2.17.so
> 46190000-46348000 r-xp 00000000 08:06 4643       /usr/lib/libc-2.17.so
> 46348000-46349000 ---p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 46349000-4634b000 r--p 001b8000 08:06 4643       /usr/lib/libc-2.17.so
> 4634b000-4634c000 rw-p 001ba000 08:06 4643       /usr/lib/libc-2.17.so
> 4634c000-4634f000 rw-p 00000000 00:00 0 
> 463d2000-463ed000 r-xp 00000000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ed000-463ee000 r--p 0001a000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> 463ee000-463ef000 rw-p 0001b000 08:06 51367      
> /usr/lib/libgcc_s-4.8.2-20131212.so.1
> b777d000-b777e000 rw-p 00000000 00:00 0 
> b77a8000-b77ab000 rw-p 00000000 00:00 0 
> b77ab000-b77ac000 r-xp 00000000 00:00 0          [vdso]
> bfbb1000-bfbd3000 rw-p 00000000 00:00 0          [stack]
> *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0926c410 
> ***
> 
> 
> 
> > > 
> > > ests/acpi-test.c: In function ‘dump_aml_files’:
> > > tests/acpi-test.c:392:14: error: ignoring return value of ‘write’,
> > > declared with attribute warn_unused_result [-Werror=unused-result]
> > >          write(fd, sdt, sizeof(AcpiTableHeader));
> > >               ^
> > > tests/acpi-test.c:393:14: error: ignoring return value of ‘write’,
> > > declared with attribute warn_unused_result [-Werror=unused-result]
> > >          write(fd, sdt->aml, sdt->aml_len);
> > >               ^
> > > cc1: all warnings being treated as errors
> > > make: *** [tests/acpi-test.o] Error 1
> > > 
> > > and it's true: you need to wrap write in a loop as it can
> > > write less than requested number of bytes.
> > > See qemu_write_full - can it be used it tests?
> > > 
> > > > > > v1 -> v2:
> > > > > > Addressed Michael S. Tsirkin's comments:
> > > > > >  - added TEST_ prefix to the environment variable
> > > > > >  - some rephrases
> > > > > > 
> > > > > > Marcel Apfelbaum (2):
> > > > > >   acpi unit-test: added script to rebuild the expected aml files
> > > > > >   acpi unit-test: hook to rebuild expected aml files
> > > > > > 
> > > > > >  tests/acpi-test-data/rebuild-expected-aml.sh | 36 
> > > > > > ++++++++++++++++++++++++++++
> > > > > >  tests/acpi-test.c                            | 30 
> > > > > > +++++++++++++++++++----
> > > > > >  2 files changed, 61 insertions(+), 5 deletions(-)
> > > > > >  create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh
> > > > > > 
> > > > > > -- 
> > > > > > 1.8.3.1
> > > > > 
> > > > 
> > > > 
> > 
> > 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]