[Kernel-packages] [Bug 1708451] Re: Process hangs on HW watchpoint on Power9
** Changed in: ubuntu-power-systems Status: In Progress => Fix Released ** Changed in: linux (Ubuntu) Status: New => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1708451 Title: Process hangs on HW watchpoint on Power9 Status in The Ubuntu-power-systems project: Fix Released Status in linux package in Ubuntu: Fix Released Bug description: == Comment: #0 - Pedro Miraglia Franco de Carval- 2017-06-30 12:52:06 == After setting a hardware watchpoint on a variable through gdb, the traced process gets stuck on the instruction that affects the watched address but doesn't stop. Steps to reproduce: Make a program to be traced: pedromfc@perch:~$ cat wp_test.c int my_global = 0; void main( void ) { my_global = 1; } pedromfc@perch:~$ gcc -g -O0 -o wp_test wp_test.c Debug the binary: pedromfc@perch:~$ gdb -q wp_test Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test [Program stuck here, manually interrupt] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disas Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) info reg r9 r9 0x20020014 537002004 (gdb) p /x _global $1 = 0x20020014 (gdb) continue Continuing. [Like before, nothing happens] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disass Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) continue Continuing. Check on another terminal that the program is running (but stuck in the same instruction): pedromfc@perch:~$ ps -C gdb,wp_test -o pid,comm,state PIDCOMMANDS 19178 gdb S 19193 wp_testR This happened on this machine model: cpu : POWER9 (raw), altivec supported revision : 1.0 (pvr 004e 0100) machine : PowerNV 8375-42A firmware : OPAL SN: 13C665W With this kernel: pedromfc@perch:~$ uname -a Linux perch 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:03:05 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux It also happened with this kernel, on another machine: [pedromfc@zzfp342p1 ~]$ uname -a Linux zzfp342p1 4.11.0-10.el7a.ppc64le #1 SMP Wed Jun 21 20:50:21 EDT 2017 ppc64le ppc64le ppc64le GNU/Linux On another machine (P8) the watchpoint triggers as expected and the process stops immediately after the store instruction: pedromfc@genoa:~$ uname -a Linux genoa 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:57:29 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux pedromfc@genoa:~$ gdb wp_test ... Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test Hardware watchpoint 1: my_global Old value = 0 New value = 1 main () at wp_test.c:5 5 } (gdb) https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=d89ba5353f301971dd7d2f9fdf25c4432728f38e To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1708451/+subscriptions -- Mailing list:
[Kernel-packages] [Bug 1708451] Re: Process hangs on HW watchpoint on Power9
** Changed in: ubuntu-power-systems Status: New => In Progress -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1708451 Title: Process hangs on HW watchpoint on Power9 Status in The Ubuntu-power-systems project: In Progress Status in linux package in Ubuntu: New Bug description: == Comment: #0 - Pedro Miraglia Franco de Carval- 2017-06-30 12:52:06 == After setting a hardware watchpoint on a variable through gdb, the traced process gets stuck on the instruction that affects the watched address but doesn't stop. Steps to reproduce: Make a program to be traced: pedromfc@perch:~$ cat wp_test.c int my_global = 0; void main( void ) { my_global = 1; } pedromfc@perch:~$ gcc -g -O0 -o wp_test wp_test.c Debug the binary: pedromfc@perch:~$ gdb -q wp_test Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test [Program stuck here, manually interrupt] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disas Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) info reg r9 r9 0x20020014 537002004 (gdb) p /x _global $1 = 0x20020014 (gdb) continue Continuing. [Like before, nothing happens] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disass Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) continue Continuing. Check on another terminal that the program is running (but stuck in the same instruction): pedromfc@perch:~$ ps -C gdb,wp_test -o pid,comm,state PIDCOMMANDS 19178 gdb S 19193 wp_testR This happened on this machine model: cpu : POWER9 (raw), altivec supported revision : 1.0 (pvr 004e 0100) machine : PowerNV 8375-42A firmware : OPAL SN: 13C665W With this kernel: pedromfc@perch:~$ uname -a Linux perch 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:03:05 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux It also happened with this kernel, on another machine: [pedromfc@zzfp342p1 ~]$ uname -a Linux zzfp342p1 4.11.0-10.el7a.ppc64le #1 SMP Wed Jun 21 20:50:21 EDT 2017 ppc64le ppc64le ppc64le GNU/Linux On another machine (P8) the watchpoint triggers as expected and the process stops immediately after the store instruction: pedromfc@genoa:~$ uname -a Linux genoa 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:57:29 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux pedromfc@genoa:~$ gdb wp_test ... Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test Hardware watchpoint 1: my_global Old value = 0 New value = 1 main () at wp_test.c:5 5 } (gdb) https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=d89ba5353f301971dd7d2f9fdf25c4432728f38e To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1708451/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe
[Kernel-packages] [Bug 1708451] Re: Process hangs on HW watchpoint on Power9
It looks like commit d89ba5353f301971dd7d2f9fdf25c4432728f38e was cc'd to stable, so it should make it's way into the Ubuntu kernels through the normal stable update process. Is there a need to have this SRU'd prior to getting the update from upstream? ** Tags added: kernel-da-key -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1708451 Title: Process hangs on HW watchpoint on Power9 Status in The Ubuntu-power-systems project: New Status in linux package in Ubuntu: New Bug description: == Comment: #0 - Pedro Miraglia Franco de Carval- 2017-06-30 12:52:06 == After setting a hardware watchpoint on a variable through gdb, the traced process gets stuck on the instruction that affects the watched address but doesn't stop. Steps to reproduce: Make a program to be traced: pedromfc@perch:~$ cat wp_test.c int my_global = 0; void main( void ) { my_global = 1; } pedromfc@perch:~$ gcc -g -O0 -o wp_test wp_test.c Debug the binary: pedromfc@perch:~$ gdb -q wp_test Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test [Program stuck here, manually interrupt] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disas Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) info reg r9 r9 0x20020014 537002004 (gdb) p /x _global $1 = 0x20020014 (gdb) continue Continuing. [Like before, nothing happens] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disass Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) continue Continuing. Check on another terminal that the program is running (but stuck in the same instruction): pedromfc@perch:~$ ps -C gdb,wp_test -o pid,comm,state PIDCOMMANDS 19178 gdb S 19193 wp_testR This happened on this machine model: cpu : POWER9 (raw), altivec supported revision : 1.0 (pvr 004e 0100) machine : PowerNV 8375-42A firmware : OPAL SN: 13C665W With this kernel: pedromfc@perch:~$ uname -a Linux perch 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:03:05 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux It also happened with this kernel, on another machine: [pedromfc@zzfp342p1 ~]$ uname -a Linux zzfp342p1 4.11.0-10.el7a.ppc64le #1 SMP Wed Jun 21 20:50:21 EDT 2017 ppc64le ppc64le ppc64le GNU/Linux On another machine (P8) the watchpoint triggers as expected and the process stops immediately after the store instruction: pedromfc@genoa:~$ uname -a Linux genoa 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:57:29 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux pedromfc@genoa:~$ gdb wp_test ... Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test Hardware watchpoint 1: my_global Old value = 0 New value = 1 main () at wp_test.c:5 5 } (gdb) https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=d89ba5353f301971dd7d2f9fdf25c4432728f38e To manage notifications about this
[Kernel-packages] [Bug 1708451] Re: Process hangs on HW watchpoint on Power9
** Package changed: kernel-package (Ubuntu) => linux (Ubuntu) ** Also affects: ubuntu-power-systems Importance: Undecided Status: New ** Changed in: ubuntu-power-systems Importance: Undecided => Medium ** Changed in: ubuntu-power-systems Assignee: (unassigned) => Canonical Kernel Team (canonical-kernel-team) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1708451 Title: Process hangs on HW watchpoint on Power9 Status in The Ubuntu-power-systems project: New Status in linux package in Ubuntu: New Bug description: == Comment: #0 - Pedro Miraglia Franco de Carval- 2017-06-30 12:52:06 == After setting a hardware watchpoint on a variable through gdb, the traced process gets stuck on the instruction that affects the watched address but doesn't stop. Steps to reproduce: Make a program to be traced: pedromfc@perch:~$ cat wp_test.c int my_global = 0; void main( void ) { my_global = 1; } pedromfc@perch:~$ gcc -g -O0 -o wp_test wp_test.c Debug the binary: pedromfc@perch:~$ gdb -q wp_test Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test [Program stuck here, manually interrupt] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disas Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) info reg r9 r9 0x20020014 537002004 (gdb) p /x _global $1 = 0x20020014 (gdb) continue Continuing. [Like before, nothing happens] ^C Program received signal SIGINT, Interrupt. 0x27a0 in main () at wp_test.c:4 4 my_global = 1; (gdb) disass Dump of assembler code for function main: 0x2780 <+0>: addis r2,r12,2 0x2784 <+4>: addir2,r2,30592 0x2788 <+8>: std r31,-8(r1) 0x278c <+12>: stdur1,-48(r1) 0x2790 <+16>: mr r31,r1 0x2794 <+20>: nop 0x2798 <+24>: addir9,r2,-32492 0x279c <+28>: li r10,1 => 0x27a0 <+32>: stw r10,0(r9) 0x27a4 <+36>: nop 0x27a8 <+40>: addir1,r31,48 0x27ac <+44>: ld r31,-8(r1) 0x27b0 <+48>: blr 0x27b4 <+52>: .long 0x0 0x27b8 <+56>: .long 0x0 0x27bc <+60>: .long 0x1000180 End of assembler dump. (gdb) continue Continuing. Check on another terminal that the program is running (but stuck in the same instruction): pedromfc@perch:~$ ps -C gdb,wp_test -o pid,comm,state PIDCOMMANDS 19178 gdb S 19193 wp_testR This happened on this machine model: cpu : POWER9 (raw), altivec supported revision : 1.0 (pvr 004e 0100) machine : PowerNV 8375-42A firmware : OPAL SN: 13C665W With this kernel: pedromfc@perch:~$ uname -a Linux perch 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:03:05 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux It also happened with this kernel, on another machine: [pedromfc@zzfp342p1 ~]$ uname -a Linux zzfp342p1 4.11.0-10.el7a.ppc64le #1 SMP Wed Jun 21 20:50:21 EDT 2017 ppc64le ppc64le ppc64le GNU/Linux On another machine (P8) the watchpoint triggers as expected and the process stops immediately after the store instruction: pedromfc@genoa:~$ uname -a Linux genoa 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:57:29 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux pedromfc@genoa:~$ gdb wp_test ... Reading symbols from wp_test...done. (gdb) watch my_global Hardware watchpoint 1: my_global (gdb) run Starting program: /home/pedromfc/wp_test Hardware watchpoint 1: my_global Old value = 0 New value = 1 main () at wp_test.c:5 5 } (gdb)