Index: packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py =================================================================== --- packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py +++ packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py @@ -43,9 +43,16 @@ thread = process.GetThreadAtIndex(0) self.assertTrue(thread and thread.IsValid(), "Thread is valid") - # Keep stepping until the inferior crashes - while process.GetState() == lldb.eStateStopped and not lldbutil.is_thread_crashed(self, thread): - thread.StepInstruction(False) + # Single stepping requires setting software breakpoint at address 0x0. + # This results in input/output error instead of SIGSEGV. Using "continue" + # instead of single stepping avoids setting of software breakpoint at address 0x0. + arch = self.getArchitecture() + if re.match("mips", arch): + self.runCmd("continue") + else: + # Keep stepping until the inferior crashes + while process.GetState() == lldb.eStateStopped and not lldbutil.is_thread_crashed(self, thread): + thread.StepInstruction(False) self.assertEqual(process.GetState(), lldb.eStateStopped, PROCESS_STOPPED) self.assertTrue(lldbutil.is_thread_crashed(self, thread), "Thread has crashed")