Repository navigation
Commit 121f967
committed
[JSC][WASM][Debugger] Fix active thread selection in multi-VM stops and add step tests
rdar://174187067
https://bugs.webkit.org/show_bug.cgi?id=311594
Reviewed by Keith Miller.
LLDB always selected the wrong thread when multiple VMs stopped simultaneously.
Root cause: LLDB resets m_selected_tid on every stop and falls back to m_threads[0]
(lowest IndexID). Passive threads had StopInfoSignal(SIGSTOP) with ShouldSelect()=true,
causing the selection loop to be skipped. Fix by sending signal 0 for passive threads
so ShouldSelect()=false and the event thread wins selection.
Also inline collectAllStoppedThreads into sendStopReplyForThread with event-thread-first
ordering, fix a null-deref before vm null check, fix off-by-1 WASM offset comments in
multi-vm-same-module-different-funcs.js, add step test coverage for multi-VM test cases,
and remove the stale known issue from README.md.
Tests:
* JSTests/wasm/debugger/tests/tests.py:
(MultiVMSameModuleSameFunctionTestCase.stepTest)
(MultiVMSameModuleDifferentFunctionsTestCase.stepTest)
Canonical link: https://commits.webkit.org/310847@main1 parent 71df8be commit 121f967
4 files changed
Lines changed: 103 additions & 59 deletions
File tree
- JSTests/wasm/debugger
- resources/wasm
- tests
- Source/JavaScriptCore/wasm/debugger
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | 91 | | |
99 | 92 | | |
100 | | - | |
101 | 93 | | |
102 | 94 | | |
103 | 95 | | |
104 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
105 | 104 | | |
106 | 105 | | |
107 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1567 | 1567 | | |
1568 | 1568 | | |
1569 | 1569 | | |
1570 | | - | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
1571 | 1581 | | |
1572 | 1582 | | |
1573 | 1583 | | |
| |||
1589 | 1599 | | |
1590 | 1600 | | |
1591 | 1601 | | |
1592 | | - | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
| 1608 | + | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
| 1614 | + | |
| 1615 | + | |
| 1616 | + | |
| 1617 | + | |
| 1618 | + | |
| 1619 | + | |
| 1620 | + | |
| 1621 | + | |
| 1622 | + | |
| 1623 | + | |
| 1624 | + | |
| 1625 | + | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
1593 | 1636 | | |
1594 | 1637 | | |
1595 | 1638 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | 199 | | |
205 | 200 | | |
206 | 201 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
752 | 752 | | |
753 | 753 | | |
754 | 754 | | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | | - | |
763 | | - | |
764 | | - | |
765 | | - | |
766 | | - | |
767 | | - | |
768 | | - | |
769 | | - | |
770 | | - | |
771 | 755 | | |
772 | 756 | | |
773 | 757 | | |
| |||
776 | 760 | | |
777 | 761 | | |
778 | 762 | | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
779 | 769 | | |
780 | | - | |
| 770 | + | |
781 | 771 | | |
782 | 772 | | |
783 | 773 | | |
784 | 774 | | |
785 | 775 | | |
786 | 776 | | |
787 | 777 | | |
788 | | - | |
789 | | - | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
790 | 790 | | |
791 | | - | |
792 | | - | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
793 | 800 | | |
794 | 801 | | |
795 | 802 | | |
| |||
0 commit comments