I have a python script that automatically launches a simulator and connects to it with gdb-remote. Everything works fine on Linux. But when I issue the "kill" command on Windows, LLDB crashes.
This only happens if I launch the simulator (or any external program) using python. I'm using subprocess.Popen, but I've also tried os.spawnl. I've traced the problem down to reading errno in Error::SetErrorToErrno(). In this case, errno is 0, so no error is reported, and the -1 that recv returns is used as a buffer size and LLDB crashes. If I don't launch a program using Popen, errno is 2, and everything is handled correctly. Stepping into the errno access, GetLastError() is correctly set to WSAECONNRESET, but ptd->_terrno, which errno is set to, is 0. This seems like a Visual Studio 2012 runtime bug. I think maybe we shouldn't rely on errno on Windows, but call GetLastError() and convert their error numbers to POSIX error values. Ted
_______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev