Commit 9058b57
committed
[lldb] Fix Linux core file tests hanging on Windows
After #141670,
TestLinuxCore.py was timing out on our Windows on Arm bot.
Non-Linux core files were ok, as were Linux core files unless
it was ppc64le, riscv64 or loongarch.
I eventually noticed that it was attempting to create
PlatformLinux many times before trying PlatformAndroid,
PlatformMac etc., which it should never need to do.
The tests passed on a Linux host too, to add to the mystery.
Turns out, all I needed to do was mark those architectures
as supported in the PlatformLinux constructor.
If they're not listed there we get stuck here:
```
// Wait for a stopped event since we just posted one above...
printf("waiting for process to stop...\n");
lldb::EventSP event_sp;
StateType state =
WaitForProcessToStop(std::nullopt, &event_sp, true, listener_sp,
nullptr, true, SelectMostRelevantFrame);
printf("process stopped\n");
```
Waiting for a stop event that never comes, because it appears we
try to treat the core as a real process?
```
DynamicLoaderPOSIXDYLD::virtual DynamicLoaderPOSIXDYLD::DidAttach pid 28147 executable '<null executable>', load_offset 0xffffffffffffffff
<...>
Process::ShouldBroadcastEvent (000002ABC43FF4A0) Restarting process from state: stopped
Process::PrivateResume() m_stop_id = 1, public state: unloaded private state: stopped
Process::PrivateResume() got an error "error: elf-core does not support resuming processes".
Process::ShouldBroadcastEvent (000002ABC43FF4A0) => new state: stopped, last broadcast state: invalid - NO
```
Some sort of actionable feedback here would be nice, but all I care
about for now is that the tests run again.
I have not added riscv32 as that appears to only be supported
for Darwin at the moment (though I expect someone will get
burned by this when it is).
I think debug on these architectures worked if they were also
the host arch, if someone tried to remote debug them, I think
it would fail.1 parent 9b5dc13 commit 9058b57
1 file changed
+3
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
| |||
0 commit comments