[Bug 30758] New: lldb does not handle single instruction tripping multiple watchpoints on arm/aarch64

Bug ID 30758
Summary lldb does not handle single instruction tripping multiple watchpoints on arm/aarch64
Product lldb
Version unspecified
Hardware PC
OS Linux
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@lists.llvm.org
Reporter labath@google.com
CC llvm-bugs@lists.llvm.org
Classification Unclassified

see TestMultipleHits.py

when the client disables the first watchpoint and tries to do a single-step
over the instruction, the server just hangs. This is the offending packet
trace:
<   5> send packet: $c#63
< 521> read packet:
$T05thread:6af0;name:a.out;threads:6af0;jstopinfo:5b7b226465736372697074696f6e223a22333636353033393434323038203320333636353033393434323038222c226e616d65223a22612e6f7574222c22726561736f6e223a227761746368706f696e74222c22726567697374657273223a7b223332223a2261303536353535353535303030303030227d2c227369676e616c223a352c22746964223a32373337367d5d;1d:00feffff7f000000;1e:9825e5b77f000000;1f:e0fdffff7f000000;20:a056555555000000;21:00000080;reason:watchpoint;description:333636353033393434323038203320333636353033393434323038;#df
<  19> send packet: $x7ffffff800,800#6f
<2052> read packet:
$000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a891ffb77f000000ac91ffb77f0000001c99fdb77f0000004c08fcb77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4f9ffff7f0000000000000000000000d0ffffffffffffff0000000000000000e1a1ffb77f0000006b6861636b2d726e90f9ffff7f00000048f9ffff7f00000010f9ffff7f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f000000000000000030f4b77f00000030a8ffb77f00000000faffff7f0000005c1ff6b77f00000000000000000000000fb2b8fed58eef7c000000000000000000000000000000000000000000000000000000000000000010000
 0000000000000e0ffb77f000000e0faffff7f000000448ffbb77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0a2ffb77f00000000a0ffb77f000000ff0000000000000000f0f3b77f000000c0a7ffb77f000000b0faffff7f0000005c1ff6b77f000000000000000000000000f0f3b77f000000ff00000000000000000000000000000000a0ffb77f000000abf2fda519b149d4c0a7ffb77f0000000000000000000000d0faffff7f000000581df6b77f00000002000000000000001000000000000000f0faffff7f000000dc9cf6b77f0000000200000000000000c0a2ffb77f00000010fbffff7f0000006c18f6b77f000000c0a2ffb77f000000030000000000000030fbffff7f000000c416f6b77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000403af4b77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000030a0ffb77f000000205655555500000030feffff7f000000e0bdf5b77f00000040d0f4b77f0000000800000000000000000000000000000000d0f4b77f00000000400b0000000000988affb77f0000000000000000
 0000005000004000000000b0d2f4b77f00000020d2f4b77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d3f4b77f000000150400000000000000000000000000000000000000000000608affb77f00000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000d0f4b77f0000000100000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000003300000000000000030000000000000000d3f4b77f00000008d3f4b77f0000000000000006000000f8d2f4b77f000000b0fbffff7f00000000000000000000000000000000000000000000000000000000000000000000000010000000000000cc7ae5b77f000000885d5655550000000100000000000000d0fdffff7f00000064eaeab77f000000000000000000000000000000000000000000000000000000000000000000000058feffff7f0000009856555555000000010000000000000048feffff7f00000000feffff7f00000
 08825e5b77f000000000000000000000000000000000000000000000000000000000000000000000010feffff7f000000805655555500000000000000000000007c3cf5b77f0000000000000000000000685d565555000000785d565555000000885d5655550000000100000000000000b7ffffff7f0000000000000000000000cfffffff7f0000000000000000000000210000000000000000c0f4b77f0000001000000000000000ff000000000000000600000000000000001000000000000011000000000000006400000000000000030000000000000040505555550000000400000000000000380000000000000005000000000000000900000000000000070000000000000000d0f4b77f00000008000000000000000000000000000000090000000000000020565555550000000b0000000000000000000000000000000c0000000000000000000000000000000d0000000000000000000000000000000e00000000000000000000000000000017000000000000000000000000000000190000000000000098ffffff7f0000001f00000000000000e0ffffff7f0000000f00000000000000a8ffffff7f000000000000000000000000000000000000000fb2b8fed58eef7cbc2b434d79cafe326161726368363400000000000000002f646174612f6c6f63616c2f746d702f772f61
 2e6f757400504154483d2f73797374656d2f62696e002f646174612f6c6f63616c2f746d702f772f612e6f7574000000000000000000#41
<  16> send packet: $jThreadsInfo#c1
< 223> read packet: $[{"description":"366503944208 3
366503944208","name":"a.out","reason":"watchpoint","registers":{"29":"00feffff7f000000","30":"9825e5b77f000000","31":"e0fdffff7f000000","32":"a056555555000000"}],"signal":5,"tid":27376}]]#98
<  19> send packet: $z2,5555566010,1#3b
<   6> read packet: $OK#9a
<  16> send packet: $vCont;s:6af0#1f
Quit (me killing the application)