[Lldb-commits] [PATCH] D19214: fix a race is the LLDB test suite results collection

Adrian McCarthy via lldb-commits lldb-commits at lists.llvm.org
Mon Apr 25 11:18:07 PDT 2016

amccarth added a subscriber: amccarth.
amccarth added a comment.

FYI:  This patch seems to have broken all LLDB testing on Windows.  I'll investigate why.

Lots of the socket calls now result in stack traces like this:

  Traceback (most recent call last):
    File "C:\python_35\lib\multiprocessing\pool.py", line 119, in worker
      result = (True, func(*args, **kwds))
    File "C:\python_35\lib\multiprocessing\pool.py", line 44, in mapstar
      return list(map(*args))
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\dosep.py", line 495, in process_dir_worker_multiprocessing_pool
      return process_dir(*args)
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\dosep.py", line 442, in process_dir
      command, timeout, base_name, inferior_pid_events, full_test_path))
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\dosep.py", line 417, in call_with_timeout
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\dosep.py", line 372, in send_inferior_post_run_events
      send_events_to_collector(post_events, command)
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\dosep.py", line 308, in send_events_to_collector
      formatter_spec = result_formatter.create_results_formatter(config)
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\result_formatter.py", line 112, in create_results_formatter
      results_file_object, cleanup_func = create_socket(config.port)
    File "D:\src\llvm\llvm\tools\lldb\packages\Python\lldbsuite\test\result_formatter.py", line 78, in create_socket
      sock.connect(("localhost", port))
  ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

The changes to result_formatter.py are after the problematic line, so the root cause it not immediately obvious.  I have a guess that we're trying to open more sockets than before and are therefore exceeding a handle limit imposed by Python's use of ancient C RTL code.


More information about the lldb-commits mailing list