Message ID | 1436289389-5403-1-git-send-email-afaerber@suse.de |
---|---|
State | New |
Headers | show |
On 7 July 2015 at 18:16, Andreas Färber <afaerber@suse.de> wrote: > Hello Peter, > > This is my QOM CPU patch queue. Please pull. > > Note: For time reasons I did not give this queue as much testing as usual, > in particular BSD and non-x86 KVM hosts were not covered. > > Regards, > Andreas > > Cc: Peter Maydell <peter.maydell@linaro.org> > > Cc: Eduardo Habkost <ehabkost@redhat.com> > Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > > The following changes since commit f2562fbb7ac54d597cfe05f613d30296d1850d1b: > > Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging (2015-07-07 15:48:49 +0100) > > are available in the git repository at: > > git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-peter > > for you to fetch changes up to cf6f1442257d53cf617545dd150efe26771ec31c: > > disas: cris: QOMify target specific disas setup (2015-07-07 18:35:39 +0200) > > ---------------------------------------------------------------- > QOM CPUState and X86CPU > > * Further QOM'ification of CPU initialization > * Propagation of CPUState arguments and elimination of ENV_GET_CPU() usage > * cpu_set_pc() abstraction > * CPUClass::disas_set_info() hook I'm afraid this seems to break ppc linux-user somehow: e104462:trusty:linux-user-test-0.3$ gdb --args /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc -L ./gnemul/qemu-ppc ppc/ls -l dummyfile GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc...done. (gdb) handle SIGUSR1 pass noprint nostop Signal Stop Print Pass to program Description SIGUSR1 No No Yes User defined signal 1 (gdb) r Starting program: /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc -L ./gnemul/qemu-ppc ppc/ls -l dummyfile [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff7ffc700 (LWP 22653)] Program received signal SIGSEGV, Segmentation fault. 0x000000006060dd85 in static_code_gen_buffer () (gdb) bt #0 0x000000006060dd85 in static_code_gen_buffer () #1 0x00000000600065e3 in cpu_tb_exec (cpu=0x6268ceb0, tb_ptr=0x6060dd50 <static_code_gen_buffer+2992> "A\213n\374\205\355\017\205", <incomplete sequence \307>) at /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:200 #2 0x0000000060006fbc in cpu_ppc_exec (cpu=0x6268ceb0) at /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:518 #3 0x0000000060049dc2 in cpu_loop (env=0x62695100) at /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:1568 #4 0x000000006004cac5 in main (argc=6, argv=0x7fffffffe3f8, envp=0x7fffffffe430) at /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:4408 (this is with the test stuff from the linux-user-test tarball on the wiki). -- PMM
Am 08.07.2015 um 13:33 schrieb Peter Maydell: > On 7 July 2015 at 18:16, Andreas Färber <afaerber@suse.de> wrote: >> Hello Peter, >> >> This is my QOM CPU patch queue. Please pull. >> >> Note: For time reasons I did not give this queue as much testing as usual, >> in particular BSD and non-x86 KVM hosts were not covered. >> >> Regards, >> Andreas >> >> Cc: Peter Maydell <peter.maydell@linaro.org> >> >> Cc: Eduardo Habkost <ehabkost@redhat.com> >> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> >> The following changes since commit f2562fbb7ac54d597cfe05f613d30296d1850d1b: >> >> Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging (2015-07-07 15:48:49 +0100) >> >> are available in the git repository at: >> >> git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-peter >> >> for you to fetch changes up to cf6f1442257d53cf617545dd150efe26771ec31c: >> >> disas: cris: QOMify target specific disas setup (2015-07-07 18:35:39 +0200) >> >> ---------------------------------------------------------------- >> QOM CPUState and X86CPU >> >> * Further QOM'ification of CPU initialization >> * Propagation of CPUState arguments and elimination of ENV_GET_CPU() usage >> * cpu_set_pc() abstraction >> * CPUClass::disas_set_info() hook > > I'm afraid this seems to break ppc linux-user somehow: > > e104462:trusty:linux-user-test-0.3$ gdb --args > /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc > -L ./gnemul/qemu-ppc ppc/ls -l dummyfile > GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 > Copyright (C) 2014 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from > /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc...done. > (gdb) handle SIGUSR1 pass noprint nostop > Signal Stop Print Pass to program Description > SIGUSR1 No No Yes User defined signal 1 > (gdb) r > Starting program: > /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc > -L ./gnemul/qemu-ppc ppc/ls -l dummyfile > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > [New Thread 0x7ffff7ffc700 (LWP 22653)] > > Program received signal SIGSEGV, Segmentation fault. > 0x000000006060dd85 in static_code_gen_buffer () > (gdb) bt > #0 0x000000006060dd85 in static_code_gen_buffer () > #1 0x00000000600065e3 in cpu_tb_exec (cpu=0x6268ceb0, > tb_ptr=0x6060dd50 <static_code_gen_buffer+2992> > "A\213n\374\205\355\017\205", <incomplete sequence \307>) > at /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:200 > #2 0x0000000060006fbc in cpu_ppc_exec (cpu=0x6268ceb0) at > /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:518 > #3 0x0000000060049dc2 in cpu_loop (env=0x62695100) at > /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:1568 > #4 0x000000006004cac5 in main (argc=6, argv=0x7fffffffe3f8, > envp=0x7fffffffe430) > at /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:4408 a7bebe297accafc0fa75a5f76767e6b856e6d5eb is the first bad commit commit a7bebe297accafc0fa75a5f76767e6b856e6d5eb Author: Bharata B Rao <bharata@linux.vnet.ibm.com> Date: Tue Jun 23 19:31:14 2015 -0700 target-ppc: Move cpu_exec_init() call to realize function Move cpu_exec_init() call from instance_init to realize. This allows any failures from cpu_exec_init() to be handled appropriately. Also add corresponding cpu_exec_exit() call from unrealize. cpu_dt_id assignment from instance_init is no longer needed since correct assignment for cpu_dt_id is already present in realizefn. Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by: Andreas Färber <afaerber@suse.de> :040000 040000 9f5a59e2b3237877cb8940f744beeb5a304a5620 171e8f34622f032c8d36c98eb3ee1f513ec6d5ef M target-ppc Patch is fairly small, but I don't spot anything immediately. Regards, Andreas
On 8 July 2015 at 18:39, Andreas Färber <afaerber@suse.de> wrote: > Am 08.07.2015 um 13:33 schrieb Peter Maydell: >> On 7 July 2015 at 18:16, Andreas Färber <afaerber@suse.de> wrote: >>> Hello Peter, >>> >>> This is my QOM CPU patch queue. Please pull. >>> >>> Note: For time reasons I did not give this queue as much testing as usual, >>> in particular BSD and non-x86 KVM hosts were not covered. >>> >>> Regards, >>> Andreas >>> >>> Cc: Peter Maydell <peter.maydell@linaro.org> >>> >>> Cc: Eduardo Habkost <ehabkost@redhat.com> >>> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>> >>> The following changes since commit f2562fbb7ac54d597cfe05f613d30296d1850d1b: >>> >>> Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging (2015-07-07 15:48:49 +0100) >>> >>> are available in the git repository at: >>> >>> git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-peter >>> >>> for you to fetch changes up to cf6f1442257d53cf617545dd150efe26771ec31c: >>> >>> disas: cris: QOMify target specific disas setup (2015-07-07 18:35:39 +0200) >>> >>> ---------------------------------------------------------------- >>> QOM CPUState and X86CPU >>> >>> * Further QOM'ification of CPU initialization >>> * Propagation of CPUState arguments and elimination of ENV_GET_CPU() usage >>> * cpu_set_pc() abstraction >>> * CPUClass::disas_set_info() hook >> >> I'm afraid this seems to break ppc linux-user somehow: >> >> e104462:trusty:linux-user-test-0.3$ gdb --args >> /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc >> -L ./gnemul/qemu-ppc ppc/ls -l dummyfile >> GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 >> Copyright (C) 2014 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. Type "show copying" >> and "show warranty" for details. >> This GDB was configured as "x86_64-linux-gnu". >> Type "show configuration" for configuration details. >> For bug reporting instructions, please see: >> <http://www.gnu.org/software/gdb/bugs/>. >> Find the GDB manual and other documentation resources online at: >> <http://www.gnu.org/software/gdb/documentation/>. >> For help, type "help". >> Type "apropos word" to search for commands related to "word"... >> Reading symbols from >> /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc...done. >> (gdb) handle SIGUSR1 pass noprint nostop >> Signal Stop Print Pass to program Description >> SIGUSR1 No No Yes User defined signal 1 >> (gdb) r >> Starting program: >> /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc >> -L ./gnemul/qemu-ppc ppc/ls -l dummyfile >> [Thread debugging using libthread_db enabled] >> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". >> [New Thread 0x7ffff7ffc700 (LWP 22653)] >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x000000006060dd85 in static_code_gen_buffer () >> (gdb) bt >> #0 0x000000006060dd85 in static_code_gen_buffer () >> #1 0x00000000600065e3 in cpu_tb_exec (cpu=0x6268ceb0, >> tb_ptr=0x6060dd50 <static_code_gen_buffer+2992> >> "A\213n\374\205\355\017\205", <incomplete sequence \307>) >> at /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:200 >> #2 0x0000000060006fbc in cpu_ppc_exec (cpu=0x6268ceb0) at >> /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:518 >> #3 0x0000000060049dc2 in cpu_loop (env=0x62695100) at >> /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:1568 >> #4 0x000000006004cac5 in main (argc=6, argv=0x7fffffffe3f8, >> envp=0x7fffffffe430) >> at /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:4408 > > a7bebe297accafc0fa75a5f76767e6b856e6d5eb is the first bad commit > commit a7bebe297accafc0fa75a5f76767e6b856e6d5eb > Author: Bharata B Rao <bharata@linux.vnet.ibm.com> > Date: Tue Jun 23 19:31:14 2015 -0700 > > target-ppc: Move cpu_exec_init() call to realize function > > Move cpu_exec_init() call from instance_init to realize. This allows > any failures from cpu_exec_init() to be handled appropriately. > Also add corresponding cpu_exec_exit() call from unrealize. > > cpu_dt_id assignment from instance_init is no longer needed since > correct assignment for cpu_dt_id is already present in realizefn. > > Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> > Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > Acked-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> > Signed-off-by: Andreas Färber <afaerber@suse.de> > > :040000 040000 9f5a59e2b3237877cb8940f744beeb5a304a5620 > 171e8f34622f032c8d36c98eb3ee1f513ec6d5ef M target-ppc > > Patch is fairly small, but I don't spot anything immediately. The call to cpu_exec_init() appears to have been moved to inside an #if !defined(CONFIG_USER_ONLY) block... -- PMM
On Wed, Jul 8, 2015 at 4:33 AM, Peter Maydell <peter.maydell@linaro.org> wrote: > On 7 July 2015 at 18:16, Andreas Färber <afaerber@suse.de> wrote: >> Hello Peter, >> >> This is my QOM CPU patch queue. Please pull. >> >> Note: For time reasons I did not give this queue as much testing as usual, >> in particular BSD and non-x86 KVM hosts were not covered. >> >> Regards, >> Andreas >> >> Cc: Peter Maydell <peter.maydell@linaro.org> >> >> Cc: Eduardo Habkost <ehabkost@redhat.com> >> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> >> The following changes since commit f2562fbb7ac54d597cfe05f613d30296d1850d1b: >> >> Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging (2015-07-07 15:48:49 +0100) >> >> are available in the git repository at: >> >> git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-peter >> >> for you to fetch changes up to cf6f1442257d53cf617545dd150efe26771ec31c: >> >> disas: cris: QOMify target specific disas setup (2015-07-07 18:35:39 +0200) >> >> ---------------------------------------------------------------- >> QOM CPUState and X86CPU >> >> * Further QOM'ification of CPU initialization >> * Propagation of CPUState arguments and elimination of ENV_GET_CPU() usage >> * cpu_set_pc() abstraction >> * CPUClass::disas_set_info() hook > > I'm afraid this seems to break ppc linux-user somehow: > So you have caught about 10 broken PULLs in the last 48h :) I'm guessing you have something heavily scripted, is the test system available? Id like to run as much as I can over the multi-arch work in total as that has widespread change. Regards, Peter > e104462:trusty:linux-user-test-0.3$ gdb --args > /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc > -L ./gnemul/qemu-ppc ppc/ls -l dummyfile > GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 > Copyright (C) 2014 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from > /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc...done. > (gdb) handle SIGUSR1 pass noprint nostop > Signal Stop Print Pass to program Description > SIGUSR1 No No Yes User defined signal 1 > (gdb) r > Starting program: > /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc > -L ./gnemul/qemu-ppc ppc/ls -l dummyfile > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > [New Thread 0x7ffff7ffc700 (LWP 22653)] > > Program received signal SIGSEGV, Segmentation fault. > 0x000000006060dd85 in static_code_gen_buffer () > (gdb) bt > #0 0x000000006060dd85 in static_code_gen_buffer () > #1 0x00000000600065e3 in cpu_tb_exec (cpu=0x6268ceb0, > tb_ptr=0x6060dd50 <static_code_gen_buffer+2992> > "A\213n\374\205\355\017\205", <incomplete sequence \307>) > at /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:200 > #2 0x0000000060006fbc in cpu_ppc_exec (cpu=0x6268ceb0) at > /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:518 > #3 0x0000000060049dc2 in cpu_loop (env=0x62695100) at > /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:1568 > #4 0x000000006004cac5 in main (argc=6, argv=0x7fffffffe3f8, > envp=0x7fffffffe430) > at /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:4408 > > (this is with the test stuff from the linux-user-test tarball > on the wiki). > > -- PMM >
On 8 July 2015 at 20:01, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: > So you have caught about 10 broken PULLs in the last 48h :) I'm > guessing you have something heavily scripted, is the test system > available? Id like to run as much as I can over the multi-arch work in > total as that has widespread change. My scripts are at https://git.linaro.org/people/peter.maydell/misc-scripts.git/tree (in particular pull-buildtest does the testing and remake-merge-builds tells you the configure runes for them). But I'm really not doing anything particularly exciting here: it's just running 'make && make check' for a bunch of different configs on an x86 box (plus doing it on an ARM 32-bit Linux box and on OSX). (And the linux-user tests from the wiki tarball. I ought to do something with the local tweaks I did to that makefile I guess.) Most of the things I find with the pull buildtests are just "this doesn't build in this compile environment". The main problem with the last 48h has been everybody assuming they can put a pull request in at the last moment. This is simply not physically possible given that it takes over an hour to process each one, and it's pretty risky given the chances of there turning out to be a "doesn't build" failure... thanks -- PMM