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