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: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality
Date: Thu, 26 Dec 2013 18:12:25 +0200

On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote:
> 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.

yes pushed, take a look

> > 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,

no, just send mail.

> (if I can reproduce it, otherwise I risk they'll ask some
> questions I cannot answer...)
> 
> Thanks,
> Marcel

This is on fedora 19, 32 bit.

> > 
> > 
> > *** 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]