[lldb-dev] something just toasted the test suite on OS X

Todd Fiala via lldb-dev lldb-dev at lists.llvm.org
Mon Jan 25 21:01:31 PST 2016


Oh no worries, I borked the builder email on our currently cumbersome
multi-step process.

They're failing with a permutation of this:

Traceback (most recent call last):
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 2224, in dsym_test_method
    return attrvalue(self)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 561, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py",
line 31, in test_inferior_abort_received_debugserver
    self.init_debugserver_test()
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py",
line 199, in init_debugserver_test
    (self.named_pipe_path, self.named_pipe, self.named_pipe_fd) =
self.create_named_pipe()
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py",
line 125, in create_named_pipe
    self.addTearDownHook(shutdown_named_pipe)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 1589, in addTearDownHook
    print("Adding tearDown hook:", getsource_if_available(hook), file=sbuf)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 265, in __exit__
    print(self.getvalue(), file=self.session)
TypeError: must be unicode, not str
Config=x86_64-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
Traceback (most recent call last):
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/test/dotest.py",
line 7, in <module>
    lldbsuite.test.run_suite()
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/dotest.py",
line 1089, in run_suite
    resultclass=test_result.LLDBTestResult).run(configuration.suite)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/runner.py",
line 162, in run
    test(result)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/suite.py",
line 65, in __call__
    return self.run(*args, **kwds)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/suite.py",
line 85, in run
    self._wrapped_run(result)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/suite.py",
line 115, in _wrapped_run
    test._wrapped_run(result, debug)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/suite.py",
line 117, in _wrapped_run
    test(result)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/case.py",
line 433, in __call__
    return self.run(*args, **kwds)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/case.py",
line 361, in run
    success = self.runMethod(testMethod, result)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/third_party/Python/module/unittest2/unittest2/case.py",
line 413, in runMethod
    result.addError(self, sys.exc_info())
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/test_result.py",
line 148, in addError
    method()
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 1666, in markError
    print("ERROR", file=sbuf)
  File "/Users/buildslave/jenkins/sharedspace/lldb at 2/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 265, in __exit__
    print(self.getvalue(), file=self.session)
TypeError: must be unicode, not str



There's a pattern for using a call that guarantees contents are
converted to either (say) Unicode or Bytes, where the right way to do
it depends on Python 2 or Python 3.  I see that this isn't causing a
problem on the Linux builder, which is a bit puzzling unless they are
using Python 3.  (Or something else is going on that isn't obvious).


I think I may leave it as is and try to fix it.  If I can't figure it
out quickly-ish tonight, I will revert and we can figure out the right
fix tomorrow.  (i.e. I'm not going to revert it right away if I can
fix it quickly).


-Todd


On Mon, Jan 25, 2016 at 8:54 PM, Zachary Turner <zturner at google.com> wrote:

> sorry, yea I stuck around for a while after that patch waiting for emails,
> but nothing came through.  Please revert in the meantime, I'll work on a
> fix tomorrow.
>
> On Mon, Jan 25, 2016 at 8:52 PM Todd Fiala via lldb-dev <
> lldb-dev at lists.llvm.org> wrote:
>
>> I think I see what happened w/r/t why no emails when out when the build
>> went heavy red.  (Well they went out internally, but not externally).  When
>> I made the change on Friday to improve the workflow for the Green Dragon OS
>> X builder and test output, I switched email over to the builder step, which
>> doesn't know anything about who made which changes.  So it didn't know who
>> to put on the blame list for the broken build.  Drats, I'll have to figure
>> that out.
>>
>> I'd really prefer to have all those stages happening in one build step to
>> keep it clear what's going on.
>>
>> On Mon, Jan 25, 2016 at 8:25 PM, Todd Fiala <todd.fiala at gmail.com> wrote:
>>
>>> Well our whole test suite just stopped running, so yes.
>>>
>>> On Mon, Jan 25, 2016 at 6:58 PM, Enrico Granata <egranata at apple.com>
>>> wrote:
>>>
>>>>
>>>> On Jan 25, 2016, at 6:48 PM, Todd Fiala via lldb-dev <
>>>> lldb-dev at lists.llvm.org> wrote:
>>>>
>>>> Not sure exactly what it is, but all the tests are failing due to some
>>>> bad assumptions of unicode vs. str on Python 2 vs. 3 if I had to guess.
>>>>
>>>>
>>>> Author: zturner
>>>> Date: Mon Jan 25 18:59:42 2016
>>>> New Revision: 258759
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=258759&view=rev
>>>> Log:
>>>> Write the session log file in UTF-8.
>>>>
>>>> Previously we were writing in the default encoding, which depends
>>>> on the operating system and is not guaranteed to be unicode aware.
>>>> On Python 3, this would lead to a situation where writing unicode
>>>> text to the log file generates an exception.  The fix here is to
>>>> write session logs using the proper encoding, which incidentally
>>>> fixes another test, so xfail is removed from that.
>>>>
>>>> sounds like a likely culprit from what you’re saying
>>>>
>>>> I am not going to be able to look at details on that, but here's a link
>>>> to the log on the OS X builder:
>>>>
>>>>
>>>> Do you want me to revert?
>>>>
>>>> http://lab.llvm.org:8080/green/job/lldb_build_test/16166/console
>>>>
>>>> --
>>>> -Todd
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> lldb-dev at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> *- Enrico*
>>>> 📩 egranata@.com ☎️ 27683
>>>>
>>>>
>>>
>>>
>>> --
>>> -Todd
>>>
>>
>>
>>
>> --
>> -Todd
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>
>


-- 
-Todd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160125/b637e7ce/attachment-0001.html>


More information about the lldb-dev mailing list