[lldb-dev] [Bug 23403] New: Many LLDB-MI tests time out in Ubuntu 14.10 x86_64 VirtualBox VM

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun May 3 20:26:19 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=23403

            Bug ID: 23403
           Summary: Many LLDB-MI tests time out in Ubuntu 14.10 x86_64
                    VirtualBox VM
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at cs.uiuc.edu
          Reporter: vadim.macagon at gmail.com
    Classification: Unclassified

Many of the LLDB-MI tests fail due to time out when I run them from my Ubuntu
14.10 64-bit Virtualbox VM. After a bit of trial and error I realized that if a
test is modified to wait for the "(gdb)" prompt after spawning the LLDB-MI
child process then the test will run to completion. The test in TestMiPrompt.py
is structured in this way and it was the only one I tried that didn't fail out
of the box. This is what it does:

self.spawnLldbMi(args = None)

# Test that lldb-mi is ready after startup
self.expect(self.child_prompt, exactly = True)

For example, initially all tests in TestMiFile.py failed due to time outs, but
after I added the line above to each one of them they ran to completion. I used
this command to run the tests:

python dotest.py -A x86_64 -C clang --executable ~/Projects/llvm-build/bin/lldb
tools/lldb-mi/ -t -p TestMiFile

And here's a trace from one of the failing tests in TestMiFile.py before I
modified it (the rest of the tests in there failed the same way):

======================================================================
ERROR: test_lldbmi_file_exec_and_symbols_file (TestMiFile.MiFileTestCase)
   Test that 'lldb-mi --interpreter' works for -file-exec-and-symbols exe.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/enlight/Projects/llvm/tools/lldb/test/lldbtest.py", line 447, in
wrapper
    return func(self, *args, **kwargs)
  File "/home/enlight/Projects/llvm/tools/lldb/test/lldbtest.py", line 562, in
wrapper
    func(*args, **kwargs)
  File
"/home/enlight/Projects/llvm/tools/lldb/test/tools/lldb-mi/TestMiFile.py", line
24, in test_lldbmi_file_exec_and_symbols_file
    self.expect("\^done")
  File
"/home/enlight/Projects/llvm/tools/lldb/test/tools/lldb-mi/lldbmi_testcase.py",
line 46, in expect
    return self.child.expect(pattern, *args, **kwargs)
  File "/home/enlight/Projects/llvm/tools/lldb/test/pexpect-2.4/pexpect.py",
line 1316, in expect
    return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
  File "/home/enlight/Projects/llvm/tools/lldb/test/pexpect-2.4/pexpect.py",
line 1330, in expect_list
    return self.expect_loop(searcher_re(pattern_list), timeout,
searchwindowsize)
  File "/home/enlight/Projects/llvm/tools/lldb/test/pexpect-2.4/pexpect.py",
line 1414, in expect_loop
    raise TIMEOUT (str(e) + '\n' + str(self))
TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0x7fd76282c290>
version: 2.4 ($Revision: 516 $)
command: /home/enlight/Projects/llvm-build/bin/lldb-mi
args: ['/home/enlight/Projects/llvm-build/bin/lldb-mi', '--interpreter']
searcher: searcher_re:
    0: re.compile("\^done")
buffer (last 100 chars): -file-exec-and-symbols a.out(gdb)


before (last 100 chars): -file-exec-and-symbols a.out(gdb)


after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 28399
child_fd: 3
closed: False
timeout: 2
delimiter: <class 'pexpect.EOF'>
logfile: None
logfile_read: <open file 'child.log', mode 'w' at 0x7fd7621df780>
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
Config=x86_64-clang

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150504/aad50ec4/attachment.html>


More information about the lldb-dev mailing list